-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatum.h
More file actions
59 lines (50 loc) · 1.84 KB
/
datum.h
File metadata and controls
59 lines (50 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
typedef struct complex {
double iv; /* independent variable for list of data points */
double re; /* real part of complex value */
double im; /* imag part of complex value */
char *def; /* textual equivalent */
struct complex *next;
struct complex *prev;
} DATUM;
typedef enum {ADD, AVG, DIV, MAX, MIN, MULT, MOD, POW, SUB, WARP, VERSUS, LAM} BINOP;
void free_dat(DATUM *p);
void print_dat(DATUM *p);
void plot_dat(DATUM *p, int mode); /* mode, 0=graph same, 1=graph new */
int dat_stat();
DATUM * new_dat(); /* alloc a temporary variable */
DATUM * new_dat_perm(); /* alloc a permanent variable */
DATUM * dup_dat(DATUM *p); /* copy a DATUM */
DATUM * link_dat();
DATUM * interp();
DATUM * dopause();
/* binaries */
DATUM * binary(BINOP operation, DATUM *a, DATUM *b);
DATUM * Pow(DATUM *a, DATUM *b);
DATUM * Max(DATUM *a, DATUM *b);
DATUM * Min(DATUM *a, DATUM *b);
DATUM * Mod(DATUM *a, DATUM *b);
DATUM * Avg(DATUM *a, DATUM *b);
DATUM * Warp(DATUM *a, DATUM *b);
DATUM * Versus(DATUM *a, DATUM *b);
DATUM * ui(DATUM *a, DATUM *b);
DATUM * xcross(DATUM *a, DATUM *b);
DATUM * xcrossp(DATUM *a, DATUM *b);
DATUM * xcrossn(DATUM *a, DATUM *b);
DATUM * lpf(DATUM *a, DATUM *b);
/* unaries -- second arg is for error checking */
/* should be passed as NULL */
DATUM * dt(DATUM *a, DATUM *b);
DATUM * Cos(DATUM *a, DATUM *b);
DATUM * Db(DATUM *a, DATUM *b);
DATUM * Exp(DATUM *a, DATUM *b);
DATUM * Greater(DATUM *a, DATUM *b);
DATUM * Im(DATUM *a, DATUM *b);
DATUM * Mag(DATUM *a, DATUM *b);
DATUM * Pha(DATUM *a, DATUM *b);
DATUM * Re(DATUM *a, DATUM *b);
DATUM * Less(DATUM *a, DATUM *b);
DATUM * Ln(DATUM *a, DATUM *b);
DATUM * Log10(DATUM *a, DATUM *b);
DATUM * Sin(DATUM *a, DATUM *b);
DATUM * Sqrt(DATUM *a, DATUM *b);
DATUM * Integral(DATUM *a, DATUM *b);