123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #include <limits.h>
- #include <math.h>
- #include <unistd.h>
- #include <sys/types.h>
- /* #include <values.h> */
- /* to add a new multiple-type function first add three prototypes
- * (one for each type). The functions themselves must be defined
- * elsewhere */
- void set_func_pointers(int);
- int is_null_c(void *);
- int is_null_f(void *);
- int is_null_d(void *);
- void set_null_value_c(void *, int);
- void set_null_value_f(void *, int);
- void set_null_value_d(void *, int);
- int bpe_c();
- int bpe_f();
- int bpe_d();
- void *get_min_c(void *, void *);
- void *get_min_f(void *, void *);
- void *get_min_d(void *, void *);
- void *get_max_c(void *, void *);
- void *get_max_f(void *, void *);
- void *get_max_d(void *, void *);
- void get_row_c(int, void *, int);
- void get_row_f(int, void *, int);
- void get_row_d(int, void *, int);
- void put_row_c(int, void *);
- void put_row_f(int, void *);
- void put_row_d(int, void *);
- void *get_buf_c(void);
- void *get_buf_f(void);
- void *get_buf_d(void);
- void set_min_c(void *);
- void set_min_f(void *);
- void set_min_d(void *);
- void set_max_c(void *);
- void set_max_f(void *);
- void set_max_d(void *);
- void diff_c(void *, void *);
- void diff_f(void *, void *);
- void diff_d(void *, void *);
- void sum_c(void *, void *);
- void sum_f(void *, void *);
- void sum_d(void *, void *);
- void quot_c(void *, void *);
- void quot_f(void *, void *);
- void quot_d(void *, void *);
- void prod_c(void *, void *);
- void prod_f(void *, void *);
- void prod_d(void *, void *);
- /* to add a new multitype function, add a pointer for the function and
- * its argument list to the list below */
- extern int (*is_null) (void *);
- extern void (*set_null_value) (void *, int);
- extern int (*bpe) ();
- extern void *(*get_max) (void *, void *);
- extern void *(*get_min) (void *, void *);
- extern void (*get_row) (int, void *, int);
- extern void *(*get_buf) ();
- extern void (*put_row) (int, void *);
- extern double (*slope) (void *, void *, double);
- extern void (*set_min) (void *);
- extern void (*set_max) (void *);
- extern void (*diff) (void *, void *);
- extern void (*sum) (void *, void *);
- extern void (*quot) (void *, void *);
- extern void (*prod) (void *, void *);
- /* probably not something of general interest */
- double slope_c(void *, void *, double);
- double slope_f(void *, void *, double);
- double slope_d(void *, void *, double);
- struct band3
- {
- int ns; /* samples per line */
- off_t sz; /* bytes per line */
- char *b[3]; /* pointers to start of each line */
- };
- int advance_band3(int, struct band3 *);
- int retreat_band3(int, struct band3 *);
|