25#include <cpl_macros.h>
26#include <cpl_matrix.h>
34typedef struct GiChebyshev2D GiChebyshev2D;
37GiChebyshev2D *giraffe_chebyshev2d_new(cxint xorder, cxint yorder);
38GiChebyshev2D *giraffe_chebyshev2d_clone(
const GiChebyshev2D *other);
39void giraffe_chebyshev2d_delete(GiChebyshev2D *self);
41void giraffe_chebyshev2d_get_order(
const GiChebyshev2D *self, cxint *xorder,
43void giraffe_chebyshev2d_get_range(
const GiChebyshev2D *self, cxdouble *ax,
44 cxdouble *bx, cxdouble *ay, cxdouble *by);
46const cpl_matrix *giraffe_chebyshev2d_coeffs(
const GiChebyshev2D *self);
48cxint giraffe_chebyshev2d_set(GiChebyshev2D *self, cxdouble ax, cxdouble bx,
49 cxdouble ay, cxdouble by, cpl_matrix *coeffs);
50cxint giraffe_chebyshev2d_set_coeff(GiChebyshev2D *self, cxint i, cxint j,
53cxdouble giraffe_chebyshev2d_eval(
const GiChebyshev2D *self, cxdouble x,