tioga 1.11 → 1.13
Sign up to get free protection for your applications and to get access to all the features.
- data/Tioga_README +58 -35
- data/{split/scripts → bin}/tioga +1 -1
- data/{split → ext/Dobjects}/Dtable/dtable.c +81 -15
- data/{split → ext/Dobjects}/Dtable/dtable_intern.h +0 -0
- data/ext/Dobjects/Dtable/extconf.rb +7 -0
- data/{split → ext/Dobjects}/Dtable/include/dtable.h +0 -0
- data/{split → ext/Dobjects}/Dvector/dvector.c +361 -51
- data/{split → ext/Dobjects}/Dvector/dvector_intern.h +0 -0
- data/ext/Dobjects/Dvector/extconf.rb +22 -0
- data/{split/Dtable → ext/Dobjects/Dvector/include}/dvector.h +0 -0
- data/ext/Dobjects/Function/extconf.rb +7 -0
- data/{split → ext/Dobjects}/Function/function.c +636 -11
- data/{split → ext/Dobjects}/Function/joint_qsort.c +0 -0
- data/ext/Flate/extconf.rb +26 -0
- data/{split → ext}/Flate/flate.c +7 -3
- data/{split → ext}/Flate/flate_intern.h +0 -0
- data/{split → ext}/Flate/include/flate.h +0 -0
- data/ext/Flate/zlib/adler32.c +149 -0
- data/ext/Flate/zlib/compress.c +79 -0
- data/ext/Flate/zlib/crc32.c +423 -0
- data/ext/Flate/zlib/crc32.h +441 -0
- data/ext/Flate/zlib/deflate.c +1736 -0
- data/ext/Flate/zlib/deflate.h +331 -0
- data/ext/Flate/zlib/gzio.c +1026 -0
- data/ext/Flate/zlib/infback.c +623 -0
- data/ext/Flate/zlib/inffast.c +318 -0
- data/ext/Flate/zlib/inffast.h +11 -0
- data/ext/Flate/zlib/inffixed.h +94 -0
- data/ext/Flate/zlib/inflate.c +1368 -0
- data/ext/Flate/zlib/inflate.h +115 -0
- data/ext/Flate/zlib/inftrees.c +329 -0
- data/ext/Flate/zlib/inftrees.h +55 -0
- data/ext/Flate/zlib/trees.c +1219 -0
- data/ext/Flate/zlib/trees.h +128 -0
- data/ext/Flate/zlib/uncompr.c +61 -0
- data/ext/Flate/zlib/zlib.h +1357 -0
- data/ext/Flate/zlib/zutil.c +318 -0
- data/ext/Flate/zlib/zutil.h +269 -0
- data/ext/Tioga/FigureMaker/__shared_axes.c +1373 -0
- data/ext/Tioga/FigureMaker/__shared_makers.c +1303 -0
- data/{split/Tioga/pdf_font_dicts.c → ext/Tioga/FigureMaker/__shared_pdf_font_dicts.c} +0 -0
- data/{split/Tioga/pdfcolor.c → ext/Tioga/FigureMaker/__shared_pdfcolor.c} +0 -0
- data/{split/Tioga/pdfcoords.c → ext/Tioga/FigureMaker/__shared_pdfcoords.c} +0 -0
- data/{split/Tioga/pdffile.c → ext/Tioga/FigureMaker/__shared_pdffile.c} +0 -0
- data/{split/Tioga/pdfimage.c → ext/Tioga/FigureMaker/__shared_pdfimage.c} +0 -0
- data/{split/Tioga/pdfpath.c → ext/Tioga/FigureMaker/__shared_pdfpath.c} +0 -0
- data/{split/Tioga/pdftext.c → ext/Tioga/FigureMaker/__shared_pdftext.c} +0 -0
- data/{split/Tioga/texout.c → ext/Tioga/FigureMaker/__shared_texout.c} +0 -0
- data/ext/Tioga/FigureMaker/extconf.rb +7 -0
- data/{split/Tioga → ext/Tioga/FigureMaker}/figures.c +14 -2
- data/{split/Tioga → ext/Tioga/FigureMaker}/figures.h +0 -0
- data/{split/Tioga → ext/Tioga/FigureMaker}/generic.c +1 -2
- data/{split/Tioga → ext/Tioga/FigureMaker}/generic.h +0 -1
- data/{split/Tioga → ext/Tioga/FigureMaker}/init.c +0 -0
- data/{split/Tioga → ext/Tioga/FigureMaker}/pdfs.h +0 -0
- data/{split/Tioga → ext/Tioga/FigureMaker/shared}/axes.c +32 -7
- data/{split/Tioga → ext/Tioga/FigureMaker/shared}/makers.c +2 -2
- data/ext/Tioga/FigureMaker/shared/pdf_font_dicts.c +18253 -0
- data/ext/Tioga/FigureMaker/shared/pdfcolor.c +904 -0
- data/ext/Tioga/FigureMaker/shared/pdfcoords.c +518 -0
- data/ext/Tioga/FigureMaker/shared/pdffile.c +451 -0
- data/ext/Tioga/FigureMaker/shared/pdfimage.c +539 -0
- data/ext/Tioga/FigureMaker/shared/pdfpath.c +766 -0
- data/ext/Tioga/FigureMaker/shared/pdftext.c +710 -0
- data/ext/Tioga/FigureMaker/shared/texout.c +533 -0
- data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.c +5 -5
- data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.h +0 -0
- data/{split/Dtable → ext/includes}/defs.h +0 -0
- data/{split/Dtable → ext/includes}/namespace.h +0 -0
- data/{split/Dtable → ext/includes}/safe_double.h +0 -0
- data/{split → ext/includes}/symbols.c +0 -1
- data/{split/Dtable → ext/includes}/symbols.h +0 -0
- data/{split/Dtable/lib → lib/Dobjects}/Dtable_extras.rb +0 -0
- data/{split/Dvector/lib → lib/Dobjects}/Dvector_extras.rb +1 -0
- data/{split/Function/lib → lib/Dobjects}/Function_extras.rb +0 -0
- data/{split/Dvector/lib → lib/Dobjects}/Numeric_extras.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Arcs_and_Circles.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/ColorConstants.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Colorbars.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Colormaps.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Coordinate_Conversions.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Creating_Paths.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Doc.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Executive.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/FigMkr.rb +13 -70
- data/{split/Tioga/lib → lib/Tioga}/FigureConstants.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Figures_and_Plots.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Images.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Legends.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/MarkerConstants.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Markers.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Page_Frame_Bounds.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Rectangles.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Shading.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Special_Paths.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Strokes.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/TeX_Text.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/TexPreamble.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Titles_and_Labels.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Transparency.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Using_Paths.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/Utils.rb +74 -0
- data/{split/Tioga/lib → lib/Tioga}/X_and_Y_Axes.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/irb_tioga.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/maker.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/tioga.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/tioga_ui.rb +0 -0
- data/{split/Tioga/lib → lib/Tioga}/tioga_ui_cmds.rb +0 -0
- data/tests/Icon_Test.pdf +0 -0
- data/tests/benchmark_dvector_reads.rb +20 -42
- data/tests/tc_Dvector.rb +45 -4
- data/tests/tc_Flate.rb +4 -5
- data/tests/tc_Function.rb +79 -0
- data/tests/vg.log +1453 -0
- metadata +141 -122
- data/split/Dtable/extconf.rb +0 -4
- data/split/Dvector/defs.h +0 -39
- data/split/Dvector/extconf.rb +0 -4
- data/split/Dvector/include/dvector.h +0 -77
- data/split/Dvector/namespace.h +0 -59
- data/split/Dvector/safe_double.h +0 -104
- data/split/Dvector/symbols.h +0 -52
- data/split/Flate/defs.h +0 -39
- data/split/Flate/extconf.rb +0 -19
- data/split/Flate/namespace.h +0 -59
- data/split/Flate/safe_double.h +0 -104
- data/split/Flate/symbols.h +0 -52
- data/split/Function/defs.h +0 -39
- data/split/Function/dvector.h +0 -77
- data/split/Function/extconf.rb +0 -4
- data/split/Function/namespace.h +0 -59
- data/split/Function/safe_double.h +0 -104
- data/split/Function/symbols.h +0 -52
- data/split/Tioga/defs.h +0 -39
- data/split/Tioga/dtable.h +0 -35
- data/split/Tioga/dvector.h +0 -77
- data/split/Tioga/extconf.rb +0 -4
- data/split/Tioga/flate.h +0 -98
- data/split/Tioga/mk_tioga_sty.rb +0 -53
- data/split/Tioga/namespace.h +0 -59
- data/split/Tioga/safe_double.h +0 -104
- data/split/Tioga/symbols.h +0 -52
- data/split/defs.h +0 -39
- data/split/extconf.rb +0 -125
- data/split/mkmf2.rb +0 -1623
- data/split/namespace.h +0 -59
- data/split/safe_double.h +0 -104
- data/split/symbols.h +0 -52
data/split/Function/dvector.h
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
/* Dvector.h */
|
2
|
-
/*
|
3
|
-
Copyright (C) 2005 Bill Paxton
|
4
|
-
|
5
|
-
Dvector is free software; you can redistribute it and/or modify
|
6
|
-
it under the terms of the GNU General Library Public License as published
|
7
|
-
by the Free Software Foundation; either version 2 of the License, or
|
8
|
-
(at your option) any later version.
|
9
|
-
|
10
|
-
Dvector is distributed in the hope that it will be useful,
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
-
GNU Library General Public License for more details.
|
14
|
-
|
15
|
-
You should have received a copy of the GNU Library General Public License
|
16
|
-
along with Dvector; if not, write to the Free Software
|
17
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
-
*/
|
19
|
-
|
20
|
-
#ifndef __Dvector_H__
|
21
|
-
#define __Dvector_H__
|
22
|
-
|
23
|
-
/* this file has been heavily modified by Vincent Fourmond to take care
|
24
|
-
of the 'RCR330' scheme of exporting symbols
|
25
|
-
*/
|
26
|
-
|
27
|
-
#include <symbols.h>
|
28
|
-
#include <stdbool.h>
|
29
|
-
|
30
|
-
/*======================================================================*/
|
31
|
-
|
32
|
-
/* functions for handling Dvectors: */
|
33
|
-
|
34
|
-
DECLARE_SYMBOL(bool, isa_Dvector, (VALUE obj));
|
35
|
-
/* returns true if the obj is a Dvector */
|
36
|
-
DECLARE_SYMBOL(long, len_Dvector, (VALUE dvector));
|
37
|
-
/* returns length of the dvector */
|
38
|
-
DECLARE_SYMBOL(double, access_Dvector, (VALUE dvector, long idx));
|
39
|
-
/* returns the value of entry idx in dvector */
|
40
|
-
|
41
|
-
DECLARE_SYMBOL(double *, Dvector_Data_for_Read, (VALUE dvector, long *len_ptr));
|
42
|
-
/* returns pointer to the dvector's data (which may be shared) */
|
43
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Copy, (VALUE dvector, long *len_ptr));
|
44
|
-
/* like Dvector_Data_for_Read, but returns pointer to a copy of the data */
|
45
|
-
DECLARE_SYMBOL(double *, Dvector_Data_for_Write,
|
46
|
-
(VALUE dvector, long *len_ptr));
|
47
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Resize, (VALUE dvector, long new_len));
|
48
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Replace,
|
49
|
-
(VALUE dvector, long len, double *data));
|
50
|
-
/* copies the data into the dvector */
|
51
|
-
DECLARE_SYMBOL(VALUE, Dvector_Create, (void));
|
52
|
-
DECLARE_SYMBOL(void, Dvector_Store_Double, (VALUE ary, long idx, double val));
|
53
|
-
/* pushes one element onto the vector */
|
54
|
-
DECLARE_SYMBOL(void, Dvector_Push_Double, (VALUE ary, double val));
|
55
|
-
|
56
|
-
|
57
|
-
/* functions for interpolation */
|
58
|
-
DECLARE_SYMBOL(void, c_dvector_create_spline_interpolant,
|
59
|
-
(int n_pts_data, double *Xs, double *Ys,
|
60
|
-
bool start_clamped, double start_slope,
|
61
|
-
bool end_clamped, double end_slope,
|
62
|
-
double *As, double *Bs, double *Cs));
|
63
|
-
DECLARE_SYMBOL(double, c_dvector_spline_interpolate,
|
64
|
-
(double x, int n_pts_data, double *Xs, double *Ys,
|
65
|
-
double *Bs, double *Cs, double *Ds));
|
66
|
-
|
67
|
-
DECLARE_SYMBOL(void, c_dvector_create_pm_cubic_interpolant,
|
68
|
-
(int n_pts_data, double *Xs, double *Ys,
|
69
|
-
double *As, double *Bs, double *Cs));
|
70
|
-
DECLARE_SYMBOL(double, c_dvector_pm_cubic_interpolate,
|
71
|
-
(double x, int n_pts_data, double *Xs, double *Ys,
|
72
|
-
double *Bs, double *Cs, double *Ds));
|
73
|
-
|
74
|
-
DECLARE_SYMBOL(double, c_dvector_linear_interpolate,
|
75
|
-
(int num_pts, double *xs, double *ys, double x));
|
76
|
-
#endif /* __Dvector_H__ */
|
77
|
-
|
data/split/Function/extconf.rb
DELETED
data/split/Function/namespace.h
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
/* namespace.h: an attempt at rationalizing shared objects
|
2
|
-
namespace use.
|
3
|
-
|
4
|
-
Copyright (C) 2006 Vincent Fourmond
|
5
|
-
|
6
|
-
This program is free software; you can redistribute it and/or modify
|
7
|
-
it under the terms of the GNU General Library Public License as published
|
8
|
-
by the Free Software Foundation; either version 2 of the License, or
|
9
|
-
(at your option) any later version.
|
10
|
-
|
11
|
-
This program is distributed in the hope that it will be useful,
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
GNU Library General Public License for more details.
|
15
|
-
|
16
|
-
You should have received a copy of the GNU Library General Public License
|
17
|
-
along with this program; if not, write to the Free Software
|
18
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
-
*/
|
20
|
-
|
21
|
-
#ifndef _NAMESPACE_H
|
22
|
-
#define _NAMESPACE_H
|
23
|
-
|
24
|
-
/* This header file provides three OS-specific macros for the definition of
|
25
|
-
extern (or NOT extern) symbols:
|
26
|
-
|
27
|
-
* PUBLIC, which has to be used to mark objects that will be used
|
28
|
-
outside the module
|
29
|
-
|
30
|
-
* INTERN, for symbols which are shared among compilation units within a
|
31
|
-
module, but are NOT exported to other modules.
|
32
|
-
|
33
|
-
* PRIVATE, for symbols which are visible only within the containing
|
34
|
-
compilation unit (i.e. C source file) and, of course, are not exported to
|
35
|
-
other modules.
|
36
|
-
|
37
|
-
Please don't add "extern" after the PRIVATE or PUBLIC declaration
|
38
|
-
as this would break compilation on Darwin.
|
39
|
-
*/
|
40
|
-
|
41
|
-
#if __GNUC__ >= 4 /* we have the visibility attribute */
|
42
|
-
# define INTERN __attribute__ ((visibility ("hidden")))
|
43
|
-
# define PUBLIC __attribute__ ((visibility ("default")))
|
44
|
-
# define INTERN_EXTERN extern
|
45
|
-
#elif defined __APPLE__
|
46
|
-
# define INTERN __private_extern__
|
47
|
-
# define PUBLIC
|
48
|
-
# define INTERN_EXTERN
|
49
|
-
#else /* not really good */
|
50
|
-
# define INTERN
|
51
|
-
# define PUBLIC
|
52
|
-
# define INTERN_EXTERN
|
53
|
-
#endif /* __APPLE__ and __GNU_C_ >= 4*/
|
54
|
-
|
55
|
-
/* In any case, PRIVATE is static */
|
56
|
-
|
57
|
-
#define PRIVATE static
|
58
|
-
|
59
|
-
#endif
|
@@ -1,104 +0,0 @@
|
|
1
|
-
/**********************************************************************
|
2
|
-
|
3
|
-
safe_double.h: small abstraction for storing double without endianess
|
4
|
-
problems
|
5
|
-
|
6
|
-
Copyright (C) 2006 Vincent Fourmond
|
7
|
-
|
8
|
-
This program is free software; you can redistribute it and/or modify
|
9
|
-
it under the terms of the GNU General Library Public License as published
|
10
|
-
by the Free Software Foundation; either version 2 of the License, or
|
11
|
-
(at your option) any later version.
|
12
|
-
|
13
|
-
This program is distributed in the hope that it will be useful,
|
14
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
-
GNU Library General Public License for more details.
|
17
|
-
|
18
|
-
You should have received a copy of the GNU Library General Public License
|
19
|
-
along with this program; if not, write to the Free Software
|
20
|
-
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
|
-
|
22
|
-
**********************************************************************/
|
23
|
-
|
24
|
-
/* This file provides two functions: store_double and get_double, which
|
25
|
-
can be used in a 'safe' way to store doubles and retrive them
|
26
|
-
in a hopefully platform-independent form. However, it just
|
27
|
-
stores it without regards to that if ieee754.h isn't found...
|
28
|
-
*/
|
29
|
-
|
30
|
-
#ifndef _DOUBLE_H
|
31
|
-
#define _DOUBLE_H
|
32
|
-
|
33
|
-
#define STORE_LOWER_BYTE(a,p) do {\
|
34
|
-
*(p++) = (a) & 0xFF; (a) >>= 8; }\
|
35
|
-
while(0)
|
36
|
-
#define STORE_UNSIGNED(a,p) for(i = 0; i < 4; i++) STORE_LOWER_BYTE(a,p);
|
37
|
-
#define GET_UNSIGNED(a,p) do { a = 0; for(i = 0; i < 4; i++) \
|
38
|
-
(a) |= *(p++) << (i * 8); } while (0)
|
39
|
-
|
40
|
-
#ifdef HAVE_IEEE754_H
|
41
|
-
#include <ieee754.h>
|
42
|
-
|
43
|
-
|
44
|
-
static inline void store_double(double a, unsigned char * p)
|
45
|
-
{
|
46
|
-
unsigned int tmp;
|
47
|
-
int i;
|
48
|
-
union ieee754_double d;
|
49
|
-
d.d = a;
|
50
|
-
/* we store it with lower bytes firts */
|
51
|
-
tmp = d.ieee.mantissa1;
|
52
|
-
STORE_UNSIGNED(tmp, p);
|
53
|
-
tmp = d.ieee.negative << 31 |
|
54
|
-
d.ieee.exponent << 20 |
|
55
|
-
d.ieee.mantissa0;
|
56
|
-
STORE_UNSIGNED(tmp, p);
|
57
|
-
}
|
58
|
-
|
59
|
-
|
60
|
-
static inline double get_double(const unsigned char * p)
|
61
|
-
{
|
62
|
-
unsigned int tmp;
|
63
|
-
int i;
|
64
|
-
union ieee754_double d;
|
65
|
-
GET_UNSIGNED(tmp, p);
|
66
|
-
d.ieee.mantissa1 = tmp;
|
67
|
-
GET_UNSIGNED(tmp, p);
|
68
|
-
d.ieee.mantissa0 = tmp & 0xFFFFF;
|
69
|
-
d.ieee.exponent = (tmp >> 20) & 0x7FF;
|
70
|
-
d.ieee.negative = (tmp >> 31) & 0x1;
|
71
|
-
return d.d;
|
72
|
-
}
|
73
|
-
|
74
|
-
#else
|
75
|
-
|
76
|
-
union basic_double{
|
77
|
-
double d;
|
78
|
-
struct {
|
79
|
-
unsigned int a:32;
|
80
|
-
unsigned int b:32;
|
81
|
-
} i;
|
82
|
-
};
|
83
|
-
|
84
|
-
static inline void store_double(double a, unsigned char * p)
|
85
|
-
{
|
86
|
-
union basic_double d;
|
87
|
-
int i;
|
88
|
-
d.d = a;
|
89
|
-
STORE_UNSIGNED(d.i.a, p);
|
90
|
-
STORE_UNSIGNED(d.i.b, p);
|
91
|
-
}
|
92
|
-
|
93
|
-
static inline double get_double(const unsigned char * p)
|
94
|
-
{
|
95
|
-
union basic_double d;
|
96
|
-
int i;
|
97
|
-
GET_UNSIGNED(d.i.a, p);
|
98
|
-
GET_UNSIGNED(d.i.b, p);
|
99
|
-
return d.d;
|
100
|
-
}
|
101
|
-
|
102
|
-
#endif /* HAVE_IEEE754_H */
|
103
|
-
|
104
|
-
#endif /* _DOUBLE_H */
|
data/split/Function/symbols.h
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
#ifndef _SYMBOLS_H
|
2
|
-
#define _SYMBOLS_H
|
3
|
-
|
4
|
-
#include <ruby.h>
|
5
|
-
/* A small layer for exporting and importing symbols from
|
6
|
-
a compiled module */
|
7
|
-
|
8
|
-
#include <namespace.h>
|
9
|
-
|
10
|
-
|
11
|
-
PRIVATE void rb_export_symbol(VALUE module, const char * symbol_name,
|
12
|
-
void * symbol);
|
13
|
-
PRIVATE void * rb_import_symbol(VALUE module, const char * symbol_name);
|
14
|
-
PRIVATE void * rb_import_symbol_no_raise(VALUE module,
|
15
|
-
const char * symbol_name);
|
16
|
-
|
17
|
-
/* a shortcut for exporting something with the same name */
|
18
|
-
#define RB_EXPORT_SYMBOL(module, name) \
|
19
|
-
rb_export_symbol(module, #name, name)
|
20
|
-
|
21
|
-
/* A shortcut for getting a symbol */
|
22
|
-
|
23
|
-
#define DECLARE_SYMBOL(ret_type,name,args) \
|
24
|
-
typedef ret_type (*rb_export_##name##_type) args;\
|
25
|
-
INTERN INTERN_EXTERN rb_export_##name##_type name
|
26
|
-
|
27
|
-
#define IMPLEMENT_SYMBOL(name)\
|
28
|
-
INTERN rb_export_##name##_type name = 0;
|
29
|
-
|
30
|
-
#define RB_IMPORT_SYMBOL(module, name) \
|
31
|
-
name = (rb_export_##name##_type) rb_import_symbol(module, #name)
|
32
|
-
|
33
|
-
|
34
|
-
/* These three macro enable a simple use of function declaration: this way,
|
35
|
-
you can type in a header file that is used by the importer:
|
36
|
-
|
37
|
-
DECLARE_SYMBOL(int, biniou, (int, int));
|
38
|
-
|
39
|
-
in one file of the importer code, you write
|
40
|
-
|
41
|
-
IMPLEMENT_SYMBOL(biniou);
|
42
|
-
|
43
|
-
and in the Init_... function, you write:
|
44
|
-
|
45
|
-
RB_IMPORT_SYMBOL(module, biniou);
|
46
|
-
|
47
|
-
and you can just use biniou as if it was a function declared as
|
48
|
-
usual in the header file
|
49
|
-
*/
|
50
|
-
#endif
|
51
|
-
|
52
|
-
|
data/split/Tioga/defs.h
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
/**********************************************************************
|
2
|
-
|
3
|
-
defs.h:
|
4
|
-
some definitions that are used everywhere and that depend on some
|
5
|
-
HAVE_* macros.
|
6
|
-
|
7
|
-
Copyright (C) 2006 Vincent Fourmond
|
8
|
-
|
9
|
-
This program is free software; you can redistribute it and/or modify
|
10
|
-
it under the terms of the GNU General Library Public License as published
|
11
|
-
by the Free Software Foundation; either version 2 of the License, or
|
12
|
-
(at your option) any later version.
|
13
|
-
|
14
|
-
This program is distributed in the hope that it will be useful,
|
15
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
GNU Library General Public License for more details.
|
18
|
-
|
19
|
-
You should have received a copy of the GNU Library General Public License
|
20
|
-
along with this program; if not, write to the Free Software
|
21
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
22
|
-
|
23
|
-
**********************************************************************/
|
24
|
-
|
25
|
-
|
26
|
-
#ifdef HAVE_ISNAN
|
27
|
-
/* we use isnan and isinf, which are much faster than the workaround */
|
28
|
-
#define is_okay_number(x) (! isnan(x) && ! isinf(x))
|
29
|
-
#else
|
30
|
-
#define is_okay_number(x) ((x) - (x) == 0.0)
|
31
|
-
#define isnan(x) ((x) != (x))
|
32
|
-
/* yes, as funny as it may look NaN != NaN, and that's the only one */
|
33
|
-
#endif
|
34
|
-
|
35
|
-
/* Fix old versions of ruby.h */
|
36
|
-
#ifndef RSTRING_PTR
|
37
|
-
# define RSTRING_PTR(x) (RSTRING(x)->ptr)
|
38
|
-
# define RSTRING_LEN(x) (RSTRING(x)->len)
|
39
|
-
#endif
|
data/split/Tioga/dtable.h
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
/* dtable.h */
|
2
|
-
/*
|
3
|
-
Copyright (C) 2004 Bill Paxton
|
4
|
-
|
5
|
-
This file is part of Dtable.
|
6
|
-
|
7
|
-
Dtable is free software; you can redistribute it and/or modify
|
8
|
-
it under the terms of the GNU General Library Public License as published
|
9
|
-
by the Free Software Foundation; either version 2 of the License, or
|
10
|
-
(at your option) any later version.
|
11
|
-
|
12
|
-
Dtable is distributed in the hope that it will be useful,
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
GNU Library General Public License for more details.
|
16
|
-
|
17
|
-
You should have received a copy of the GNU Library General Public License
|
18
|
-
along with Dtable; if not, write to the Free Software
|
19
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#ifndef __dtable_H__
|
23
|
-
#define __dtable_H__
|
24
|
-
|
25
|
-
#include <symbols.h>
|
26
|
-
|
27
|
-
/*======================================================================*/
|
28
|
-
|
29
|
-
|
30
|
-
DECLARE_SYMBOL(VALUE, Read_Dtable,
|
31
|
-
(VALUE dest, char *filename, int skip_lines));
|
32
|
-
DECLARE_SYMBOL(double **, Dtable_Ptr,
|
33
|
-
(VALUE dtable, long *num_cols, long *num_rows));
|
34
|
-
|
35
|
-
#endif
|
data/split/Tioga/dvector.h
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
/* Dvector.h */
|
2
|
-
/*
|
3
|
-
Copyright (C) 2005 Bill Paxton
|
4
|
-
|
5
|
-
Dvector is free software; you can redistribute it and/or modify
|
6
|
-
it under the terms of the GNU General Library Public License as published
|
7
|
-
by the Free Software Foundation; either version 2 of the License, or
|
8
|
-
(at your option) any later version.
|
9
|
-
|
10
|
-
Dvector is distributed in the hope that it will be useful,
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
-
GNU Library General Public License for more details.
|
14
|
-
|
15
|
-
You should have received a copy of the GNU Library General Public License
|
16
|
-
along with Dvector; if not, write to the Free Software
|
17
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
-
*/
|
19
|
-
|
20
|
-
#ifndef __Dvector_H__
|
21
|
-
#define __Dvector_H__
|
22
|
-
|
23
|
-
/* this file has been heavily modified by Vincent Fourmond to take care
|
24
|
-
of the 'RCR330' scheme of exporting symbols
|
25
|
-
*/
|
26
|
-
|
27
|
-
#include <symbols.h>
|
28
|
-
#include <stdbool.h>
|
29
|
-
|
30
|
-
/*======================================================================*/
|
31
|
-
|
32
|
-
/* functions for handling Dvectors: */
|
33
|
-
|
34
|
-
DECLARE_SYMBOL(bool, isa_Dvector, (VALUE obj));
|
35
|
-
/* returns true if the obj is a Dvector */
|
36
|
-
DECLARE_SYMBOL(long, len_Dvector, (VALUE dvector));
|
37
|
-
/* returns length of the dvector */
|
38
|
-
DECLARE_SYMBOL(double, access_Dvector, (VALUE dvector, long idx));
|
39
|
-
/* returns the value of entry idx in dvector */
|
40
|
-
|
41
|
-
DECLARE_SYMBOL(double *, Dvector_Data_for_Read, (VALUE dvector, long *len_ptr));
|
42
|
-
/* returns pointer to the dvector's data (which may be shared) */
|
43
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Copy, (VALUE dvector, long *len_ptr));
|
44
|
-
/* like Dvector_Data_for_Read, but returns pointer to a copy of the data */
|
45
|
-
DECLARE_SYMBOL(double *, Dvector_Data_for_Write,
|
46
|
-
(VALUE dvector, long *len_ptr));
|
47
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Resize, (VALUE dvector, long new_len));
|
48
|
-
DECLARE_SYMBOL(double *, Dvector_Data_Replace,
|
49
|
-
(VALUE dvector, long len, double *data));
|
50
|
-
/* copies the data into the dvector */
|
51
|
-
DECLARE_SYMBOL(VALUE, Dvector_Create, (void));
|
52
|
-
DECLARE_SYMBOL(void, Dvector_Store_Double, (VALUE ary, long idx, double val));
|
53
|
-
/* pushes one element onto the vector */
|
54
|
-
DECLARE_SYMBOL(void, Dvector_Push_Double, (VALUE ary, double val));
|
55
|
-
|
56
|
-
|
57
|
-
/* functions for interpolation */
|
58
|
-
DECLARE_SYMBOL(void, c_dvector_create_spline_interpolant,
|
59
|
-
(int n_pts_data, double *Xs, double *Ys,
|
60
|
-
bool start_clamped, double start_slope,
|
61
|
-
bool end_clamped, double end_slope,
|
62
|
-
double *As, double *Bs, double *Cs));
|
63
|
-
DECLARE_SYMBOL(double, c_dvector_spline_interpolate,
|
64
|
-
(double x, int n_pts_data, double *Xs, double *Ys,
|
65
|
-
double *Bs, double *Cs, double *Ds));
|
66
|
-
|
67
|
-
DECLARE_SYMBOL(void, c_dvector_create_pm_cubic_interpolant,
|
68
|
-
(int n_pts_data, double *Xs, double *Ys,
|
69
|
-
double *As, double *Bs, double *Cs));
|
70
|
-
DECLARE_SYMBOL(double, c_dvector_pm_cubic_interpolate,
|
71
|
-
(double x, int n_pts_data, double *Xs, double *Ys,
|
72
|
-
double *Bs, double *Cs, double *Ds));
|
73
|
-
|
74
|
-
DECLARE_SYMBOL(double, c_dvector_linear_interpolate,
|
75
|
-
(int num_pts, double *xs, double *ys, double x));
|
76
|
-
#endif /* __Dvector_H__ */
|
77
|
-
|