FastPolyEval  1.0
Fast Evaluation of Real and Complex Polynomials
help.h
Go to the documentation of this file.
1 //
2 // help.h
3 //
4 // Authors: Nicolae Mihalache & François Vigneron
5 //
6 // This software is released under BSD licence, with an attribution clause (see Licence file).
7 // Please cite the reference below if you use or distribute this software.
8 //
9 // • [1] R. Anton, N. Mihalache & F. Vigneron. Fast evaluation of real and complex polynomials. 2022.
10 // https://hal.archives-ouvertes.fr/hal-03820369
11 //
12 // Copyright 2022 Univ. Paris-Est Créteil & Univ. de Reims Champagne-Ardenne.
13 //
14 
20 #ifndef help_h
21 #define help_h
22 
23 #include <stdio.h>
24 
25 #include "ntypes.h"
26 
27 // MARK: constants & data types
28 
30 #define HELP_MAIN 0
31 #define HELP_HYP 1
32 #define HELP_CHEBYshev 2
33 #define HELP_LEGENDRE 3
34 #define HELP_HERMITE 4
35 #define HELP_LAGUERRE 5
36 #define HELP_SUM 6
37 #define HELP_DIFF 7
38 #define HELP_PROD 8
39 #define HELP_CONCAT 9
40 #define HELP_JOIN 10
41 #define HELP_GRID 11
42 #define HELP_EXP 12
43 #define HELP_ROT 13
44 #define HELP_POLAR 14
45 #define HELP_ROOTS 15
46 #define HELP_DER 16
47 #define HELP_UNIF 17
48 #define HELP_RAND 18
49 #define HELP_NORM 19
50 #define HELP_SPHERE 20
51 #define HELP_EVAL 21
52 #define HELP_EVALD 22
53 #define HELP_EVALN 23
54 #define HELP_NEWTON 24
55 #define HELP_COMP 25
56 #define HELP_RE 26
57 #define HELP_IM 27
58 #define HELP_CONJ 28
59 #define HELP_TENSOR 29
60 #define HELP_ANALYSE 30
61 
63 #define HELP_COUNT 31
64 
66 #define APP_COUNT (HELP_COUNT - 1)
67 
73 typedef struct {
74  char *before;
76  int *columnWidths;
77  char **headers;
78  int linesCount;
79  char ***lines;
80  char *after;
81 } help_struct;
82 
86 typedef help_struct *help;
87 
88 // MARK: functions prototypes
89 
96 
104 
125 void stats_print(char *mes, long prec, deg_t deg, char *numType, bool real,
126  char *polyFile, char *ptsFile, char *outFile, char *outError,
127  double timePP, long count, double timeEV, ulong tpts,
128  char *outHorner, double timeHo, ulong tptsho, ulong tit, ulong titho);
129 
130 #endif /* help_h */
help_struct * help
Practical wrapper for arrayf_struct.
Definition: help.h:86
void stats_print(char *mes, long prec, deg_t deg, char *numType, bool real, char *polyFile, char *ptsFile, char *outFile, char *outError, double timePP, long count, double timeEV, ulong tpts, char *outHorner, double timeHo, ulong tptsho, ulong tit, ulong titho)
Prints computation stats in a standard format for automatic processing.
help fpe_help_get(int ind)
Return the help system in the list with index ind.
bool fpe_help_print(help h)
Prints the help screen described by h.
Definition of basic types.
ulong deg_t
The integer number type to use for polynomial degrees and indexes.
Definition: ntypes.h:128
uint64_t ulong
ulong is uint64
Definition: ntypes.h:37
Description of a basic help screen.
Definition: help.h:73
char ** headers
the column headers
Definition: help.h:77
int columnCount
the number of columns
Definition: help.h:75
int linesCount
the number of lines / commands
Definition: help.h:78
char * before
the first line to display
Definition: help.h:74
char *** lines
the double array of messages
Definition: help.h:79
int * columnWidths
the widths of all but the last column (array length should be 1 less than columnCount)
Definition: help.h:76
char * after
the last line to display
Definition: help.h:80