BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gxkspline.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_SPLINE_H__
3 #define __GXK_SPLINE_H__
4 
5 #include <gxk/gxkglobals.hh>
6 
7 G_BEGIN_DECLS
8 
9 typedef struct _GxkSpline GxkSpline;
10 typedef struct {
11  double x, y;
13 typedef struct {
14  double x, y, yd2;
15  double ymin, ymax;
16  double ex1, ex2;
18 struct _GxkSpline {
19  guint n_segs; /* == n_points */
20  GxkSplineSegment segs[0]; /* last segment always has NAN extrema */
21 };
22 GxkSpline* gxk_spline_new_natural (guint n_points,
23  const GxkSplinePoint *points);
24 GxkSpline* gxk_spline_new (guint n_points,
25  const GxkSplinePoint *points,
26  double dy_start,
27  double dy_end);
28 double gxk_spline_eval (const GxkSpline *spline,
29  double x,
30  double *yd1);
31 double gxk_spline_y (const GxkSpline *spline,
32  double x);
33 double gxk_spline_findx (const GxkSpline *spline,
34  double y);
35 void gxk_spline_dump (GxkSpline *spline);
36 GxkSpline* gxk_spline_copy (GxkSpline *spline);
37 void gxk_spline_free (GxkSpline *spline);
38 
39 
40 
41 G_END_DECLS
42 
43 #endif /* __GXK_SPLINE_H__ */
double gxk_spline_eval(const GxkSpline *spline, double x, double *yd1)
Definition: gxkspline.cc:186
GxkSpline * gxk_spline_copy(GxkSpline *spline)
Definition: gxkspline.cc:61
Definition: gxkspline.hh:13
GxkSpline * gxk_spline_new(guint n_points, const GxkSplinePoint *points, double dy_start, double dy_end)
Definition: gxkspline.cc:85
double gxk_spline_findx(const GxkSpline *spline, double y)
Definition: gxkspline.cc:243
Definition: gxkspline.hh:10
double gxk_spline_y(const GxkSpline *spline, double x)
Definition: gxkspline.cc:215
GxkSpline * gxk_spline_new_natural(guint n_points, const GxkSplinePoint *points)
Definition: gxkspline.cc:49
void gxk_spline_dump(GxkSpline *spline)
Definition: gxkspline.cc:393
void gxk_spline_free(GxkSpline *spline)
Definition: gxkspline.cc:381
Definition: gxkspline.hh:18