gichebyshev.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GICHEBYSHEV_H
00029 #define GICHEBYSHEV_H
00030
00031 #include <cxtypes.h>
00032
00033 #include <cpl_macros.h>
00034 #include <cpl_matrix.h>
00035
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041
00042 typedef struct GiChebyshev2D GiChebyshev2D;
00043
00044
00045 GiChebyshev2D *giraffe_chebyshev2d_new(cxint xorder, cxint yorder);
00046 GiChebyshev2D *giraffe_chebyshev2d_clone(const GiChebyshev2D *other);
00047 void giraffe_chebyshev2d_delete(GiChebyshev2D *self);
00048
00049 void giraffe_chebyshev2d_get_order(const GiChebyshev2D *self, cxint *xorder,
00050 cxint *yorder);
00051 void giraffe_chebyshev2d_get_range(const GiChebyshev2D *self, cxdouble *ax,
00052 cxdouble *bx, cxdouble *ay, cxdouble *by);
00053
00054 const cpl_matrix *giraffe_chebyshev2d_coeffs(const GiChebyshev2D *self);
00055
00056 cxint giraffe_chebyshev2d_set(GiChebyshev2D *self, cxdouble ax, cxdouble bx,
00057 cxdouble ay, cxdouble by, cpl_matrix *coeffs);
00058 cxint giraffe_chebyshev2d_set_coeff(GiChebyshev2D *self, cxint i, cxint j,
00059 cxdouble value);
00060
00061 cxdouble giraffe_chebyshev2d_eval(const GiChebyshev2D *self, cxdouble x,
00062 cxdouble y);
00063
00064
00065 #ifdef __cplusplus
00066 }
00067 #endif
00068
00069 #endif