CSM R5-3
csmbase.h
Go to the documentation of this file.
1
10
11#ifndef __CSMBASE_H
12#define __CSMBASE_H
13
14/* TYPES */
15
17typedef int csm_bool;
19typedef struct csm_Function csm_function;
20
21/* GENERIC FUNCTIONS */
22
32extern double csm_x(csm_function *func, double y);
33
43extern double csm_y(csm_function *func, double x);
44
55extern double csm_dx(csm_function *func, double y);
56
67extern double csm_dy(csm_function *func, double x);
68
79extern double csm_z(csm_function *func, double x, double y);
80
81/* INITIALIZATION */
82
89extern void csm_clear(csm_function *func);
90
99extern void csm_free(csm_function *func);
100
109extern void csm_def_linear(csm_function *func, double a, double b);
110
119extern csm_bool csm_def_linear_offset(csm_function *func, double a);
120
131extern csm_bool csm_fill_1d_table(double *x, double *y,
132 int len, csm_function *func);
133
142extern csm_bool csm_read_1d_table(char *filename, csm_function *func);
143
152extern csm_bool csm_read_2d_table(char *filename, csm_function *func);
153
159extern void csm_init(void);
160
168extern csm_function *csm_new_function(void);
169
170/* DEBUGGING */
171
178extern void csm_pr_func(csm_function *func);
179
180#endif
void csm_free(csm_function *func)
free a function-structure
Definition csmbase.c:1236
csm_bool csm_def_linear_offset(csm_function *func, double a)
re-define the offset of a linear function
Definition csmbase.c:1259
int csm_bool
the boolean data type used in this module
Definition csmbase.h:17
double csm_dy(csm_function *func, double x)
compute delta-y from a given delta-x
Definition csmbase.c:1083
struct csm_Function csm_function
the abstract csm function object
Definition csmbase.h:19
csm_bool csm_read_2d_table(char *filename, csm_function *func)
read parameters of two-dimensional function table
Definition csmbase.c:1430
void csm_def_linear(csm_function *func, double a, double b)
define a linear function
Definition csmbase.c:1244
double csm_x(csm_function *func, double y)
compute x from a given y
Definition csmbase.c:1000
csm_function * csm_new_function(void)
create a new function object
Definition csmbase.c:1608
void csm_pr_func(csm_function *func)
dump a new function object
Definition csmbase.c:1731
void csm_clear(csm_function *func)
clear a function
Definition csmbase.c:1224
csm_bool csm_fill_1d_table(double *x, double *y, int len, csm_function *func)
fill one-dimensional function table from double arrays.
Definition csmbase.c:1273
csm_bool csm_read_1d_table(char *filename, csm_function *func)
read parameters of one-dimensional function table
Definition csmbase.c:1325
double csm_dx(csm_function *func, double y)
compute delta-x from a given delta-y
Definition csmbase.c:1062
double csm_z(csm_function *func, double x, double y)
compute z from a given x and y
Definition csmbase.c:1104
void csm_init(void)
initialize the module
Definition csmbase.c:1596
double csm_y(csm_function *func, double x)
compute y from a given x
Definition csmbase.c:1031