00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef INC_PASO_FUNCTIONS
00016 #define INC_PASO_FUNCTIONS
00017
00018
00019 #include "Common.h"
00020 #include "Paso_MPI.h"
00021 #include "performance.h"
00022
00023 enum Paso_FunctionType {
00024 LINEAR_SYSTEM
00025 };
00026
00027 typedef enum Paso_FunctionType Paso_FunctionType;
00028
00029 typedef struct Paso_Function {
00030 Paso_FunctionType kind;
00031 dim_t n;
00032 Paso_MPIInfo *mpi_info;
00033 double *b;
00034 double *tmp;
00035 void *more;
00036 } Paso_Function;
00037
00038 err_t Paso_FunctionDerivative(double* J0w, const double* w, Paso_Function* F, const double *f0, const double *x0, double* setoff, const bool_t w_is_normalized, Paso_Performance *pp);
00039 err_t Paso_FunctionCall(Paso_Function * F,double* value, const double* arg, Paso_Performance *pp);
00040
00041 #endif