Patterns in static

Apophenia

mapply.h

00001 #ifndef __apop_mapply__
00002 #define __apop_mapply__
00003 
00004 #include "types.h"
00005 #include <assert.h>
00006 #include <pthread.h>
00007 #include "variadic.h"
00008 #include <gsl/gsl_matrix.h>
00009 
00010 #ifdef    __cplusplus
00011 extern "C" {
00012 #endif
00013 
00014 #ifdef APOP_NO_VARIADIC
00015  apop_data * apop_map(apop_data *in, double (*fn_d)(double), double (*fn_v)(gsl_vector*), double (*fn_dp)(double, void *), double (*fn_vp)(gsl_vector*, void *), double (*fn_dpi)(double, void *, int), double (*fn_vpi)(gsl_vector*, void *, int), double (*fn_di)(double, int), double (*fn_vi)(gsl_vector*, int), void *param, int inplace, char part);
00016 #else
00017  apop_data * apop_map_base(apop_data *in, double (*fn_d)(double), double (*fn_v)(gsl_vector*), double (*fn_dp)(double, void *), double (*fn_vp)(gsl_vector*, void *), double (*fn_dpi)(double, void *, int), double (*fn_vpi)(gsl_vector*, void *, int), double (*fn_di)(double, int), double (*fn_vi)(gsl_vector*, int), void *param, int inplace, char part);
00018  apop_varad_declare(apop_data *, apop_map, apop_data *in; double (*fn_d)(double); double (*fn_v)(gsl_vector*); double (*fn_dp)(double, void *); double (*fn_vp)(gsl_vector*, void *); double (*fn_dpi)(double, void *, int); double (*fn_vpi)(gsl_vector*, void *, int); double (*fn_di)(double, int); double (*fn_vi)(gsl_vector*, int); void *param; int inplace; char part);
00019 #define apop_map(...) apop_varad_link(apop_map, __VA_ARGS__)
00020 #endif
00021 #ifdef APOP_NO_VARIADIC
00022  double apop_map_sum(apop_data *in, double (*fn_d)(double), double (*fn_v)(gsl_vector*), double (*fn_dp)(double, void *), double (*fn_vp)(gsl_vector*, void *), double (*fn_dpi)(double, void *, int), double (*fn_vpi)(gsl_vector*, void *, int), double (*fn_di)(double, int), double (*fn_vi)(gsl_vector*, int), void *param, char part);
00023 #else
00024  double apop_map_sum_base(apop_data *in, double (*fn_d)(double), double (*fn_v)(gsl_vector*), double (*fn_dp)(double, void *), double (*fn_vp)(gsl_vector*, void *), double (*fn_dpi)(double, void *, int), double (*fn_vpi)(gsl_vector*, void *, int), double (*fn_di)(double, int), double (*fn_vi)(gsl_vector*, int), void *param, char part);
00025  apop_varad_declare(double, apop_map_sum, apop_data *in; double (*fn_d)(double); double (*fn_v)(gsl_vector*); double (*fn_dp)(double, void *); double (*fn_vp)(gsl_vector*, void *); double (*fn_dpi)(double, void *, int); double (*fn_vpi)(gsl_vector*, void *, int); double (*fn_di)(double, int); double (*fn_vi)(gsl_vector*, int); void *param; char part);
00026 #define apop_map_sum(...) apop_varad_link(apop_map_sum, __VA_ARGS__)
00027 #endif
00028 
00029 gsl_vector *apop_matrix_map(const gsl_matrix *m, double (*fn)(gsl_vector*));
00030 gsl_vector *apop_vector_map(const gsl_vector *v, double (*fn)(double));
00031 void apop_matrix_apply(gsl_matrix *m, void (*fn)(gsl_vector*));
00032 void apop_vector_apply(gsl_vector *v, void (*fn)(double*));
00033 gsl_matrix * apop_matrix_map_all(const gsl_matrix *in, double (*fn)(double));
00034 void apop_matrix_apply_all(gsl_matrix *in, void (*fn)(double *));
00035 
00036 double apop_vector_map_sum(const gsl_vector *in, double(*fn)(double));
00037 double apop_matrix_map_sum(const gsl_matrix *in, double (*fn)(gsl_vector*));
00038 double apop_matrix_map_all_sum(const gsl_matrix *in, double (*fn)(double));
00039 
00040 #ifdef    __cplusplus
00041 }
00042 #endif
00043 #endif

SourceForge.net Logo

Autogenerated by doxygen on 28 Sep 2009.