![]() |
|
00001 00012 #ifndef fields_fastsum_h_inc 00013 #define fields_fastsum_h_inc 00014 00016 #include <complex.h> 00018 #include "util.h" 00020 #include "nfft3.h" 00021 00022 #include "fastsum.h" 00023 00024 #define EPSILON_0 8.8541878176E-12 00025 00029 typedef struct fields_fastsum_plan_ 00030 { 00033 int N_total; 00035 double *q; 00037 double *r; 00039 double *E; 00043 fastsum_plan fsum; 00045 } fields_fastsum_plan; 00046 00059 void fields_fastsum_init(fields_fastsum_plan *plan, int N_total, unsigned flags, int nn, int m, int p, double eps_I, double eps_B); 00060 00065 void fields_fastsum_finalize(fields_fastsum_plan *plan); 00066 00071 void fields_fastsum_exact(fields_fastsum_plan *plan); 00072 00077 void fields_fastsum_simple(fields_fastsum_plan *plan); 00078 00083 void fields_fastsum_precompute(fields_fastsum_plan *plan); 00084 00089 void fields_fastsum_trafo(fields_fastsum_plan *plan); 00090 00091 #endif