DADiSP Worksheet Functions > SPL Functions > SERIES.H
Contains definitions of global data types, variables, and miscellaneous macros, for including in SPL function files.
#include <SERIES.H>
The following are examples of definitions within SERIES.H:
/* type of variables */
#define UNSPECIFIED_VARIABLE 0 /* temporary unspecified type */
#define GLOBAL_VARIABLE 1 /* global */
/* argument and variable value types */
#define INTEGER_VALUE 1
#define REAL_VALUE 2
#define COMPLEX_VALUE 3
/* variable type tests */
#define IS_INTEGER(v) (argtype(v)==INTEGER_VALUE)
#define IS_REAL(v) (argtype(v)==REAL_VALUE)
#define IS_COMPLEX(v) (argtype(v)==COMPLEX_VALUE)
/* series item types */
#define ITEM_TYPE_SERIES (0)
#define ITEM_TYPE_XY (1)
#define ITEM_TYPE_LIST (2)
There are many more definitions within SERIES.H. These macros can simplify SPL functions. For example:
#include <series.h>
// return imaginary part only if complex
im(x)
{
local y;
// use IS_COMPLEX macro in series.h
y = (IS_COMPLEX(x)) ? imag(x) : x;
return(y);
}
im(1)
returns 1
im(1+2i)
returns 2