ruby-dcl 1.6.3.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +17 -0
- data/ChangeLog +57 -1
- data/Gemfile +4 -0
- data/GenWrapper/Makefile +1 -0
- data/GenWrapper/dcl_rb_heading +2 -8
- data/GenWrapper/elim_ary_size.rb +1 -1
- data/GenWrapper/proto/Makefile +17 -16
- data/GenWrapper/proto/grph1_sgpack.fp +367 -1
- data/GenWrapper/proto/grph1_stpack.fp +45 -1
- data/GenWrapper/proto/grph1_swpack.fp +70 -1
- data/GenWrapper/proto/grph2_uipack.fp +508 -0
- data/GenWrapper/proto/math1_clsplib.fp +74 -0
- data/GenWrapper/proto/misc1_randlib.fp +15 -1
- data/README.md +29 -0
- data/Rakefile +18 -38
- data/dcl_narrayed_funcs.c +23 -22
- data/dcl_rubydcloriginal.c +21 -21
- data/demo/grph2/uipack/uipk01.rb +38 -0
- data/demo/grph2/uipack/uipk02.rb +48 -0
- data/demo/grph2/umpack/test09_2.rb +89 -0
- data/demo/math1/clsplib/cslb01.rb +55 -0
- data/extconf.rb +16 -48
- data/grph1_sgpack.c +1166 -0
- data/grph1_stpack.c +141 -0
- data/grph1_swpack.c +182 -0
- data/grph2_uipack.c +1456 -0
- data/init.c.default +8 -0
- data/lib/.keepme +0 -0
- data/lib/dcl/dcl.rb +5578 -0
- data/lib/dcl/version.rb +3 -0
- data/lib/dcl.rb +2 -5084
- data/math1_clsplib.c +329 -0
- data/misc1_randlib.c +37 -0
- data/ruby-dcl.gemspec +30 -0
- metadata +343 -352
- data/GenWrapper/etc/Mk_proto +0 -375
- data/GenWrapper/etc/dcl_gen +0 -13
- data/GenWrapper/etc/p_init +0 -410
- data/GenWrapper/proto/math2_shtlib.fp_old +0 -1294
- data/README_old +0 -79
- data/dummy.c +0 -9
- data/grph1_zgpack.c.org +0 -141
- data/init.c.gtk +0 -189
data/README_old
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
|
2
|
-
RubyDCL -- a ruby interface to DCL library
|
3
|
-
|
4
|
-
by K. Goto, K. Kuroi, N. Kawanabe, and T. Horinouchi
|
5
|
-
|
6
|
-
Last Updated: Aug 27, 2001
|
7
|
-
|
8
|
-
|
9
|
-
* WHAT IS THIS?
|
10
|
-
|
11
|
-
This is a one-to-one wrapper to a scientific graphic library DCL
|
12
|
-
(http://www.gfd-dennou.org/arch/dcl/).
|
13
|
-
It was originally developed with DCL-5.1 but is currently tested
|
14
|
-
for use with the ver.5.2.
|
15
|
-
|
16
|
-
* INSTALLATION
|
17
|
-
|
18
|
-
To install this library, the following must have been installed.
|
19
|
-
|
20
|
-
* The C version of dcl: dcl-5.2C_011213 or later
|
21
|
-
(ftp://www.gfd-dennou.org/arch/dcl/dcl-5.2-C_011213.tar.gz).
|
22
|
-
Note that dcl-5.2-C.tar.gz in the directory, which is older than
|
23
|
-
dcl-5.2-C_011213.tar.gz will NOT WORK with ruby-dcl-1.0.0
|
24
|
-
or a later version of RubyDCL. The reason for that is as follows:
|
25
|
-
In the later versions of RubyDCL, exception handing was made
|
26
|
-
compliant to that in Ruby, i.e., to call the "raise" predefined
|
27
|
-
function. In order to do that, the msgdmp_ function in the C
|
28
|
-
version of DCL had to be modified.
|
29
|
-
|
30
|
-
* Ruby version 1.6 or later (http://www.ruby-lang.org/).
|
31
|
-
|
32
|
-
* NArray (http://www.ruby-lang.org/en/raa-list.rhtml?name=NArray)
|
33
|
-
which is a numeric multi-dimensional array class.
|
34
|
-
|
35
|
-
NOTE: By default, the two headers narray.h and narray_config.h
|
36
|
-
in the narraypackage are assumed to have been copied to
|
37
|
-
$(sitearchdir), which is normally
|
38
|
-
/usr/local/lib/ruby/site_ruby/1.6/$(arch)/ if you are using Unix,
|
39
|
-
where $(arch) is something like sparc-solaris2.6, a combination of
|
40
|
-
CPU and OS. You can specify the directory that contains these files
|
41
|
-
explicitly by using an environmental variable WITH_NARRAY_INCLUDE
|
42
|
-
like this:
|
43
|
-
|
44
|
-
% setenv WITH_NARRAY_INCLUDE '--with-narray-include=/narraydir/include'
|
45
|
-
or, if you are using bash,
|
46
|
-
% export WITH_NARRAY_INCLUDE='--with-narray-include=/narraydir/include'
|
47
|
-
|
48
|
-
This cause src/extconf.rb run with its value as:
|
49
|
-
cd src; ruby extconf.rb --with-narray-include=/narraydir/include;
|
50
|
-
|
51
|
-
If you are using a UNIX operating system, you only need to execute
|
52
|
-
the following command at the current directly ("%" is a "prompt". Do
|
53
|
-
not type it):
|
54
|
-
|
55
|
-
% make
|
56
|
-
|
57
|
-
(Development of a Windows version is hoped but has not been done so
|
58
|
-
far.)
|
59
|
-
|
60
|
-
The command does two things:
|
61
|
-
|
62
|
-
(1) To create source code for the C-interface from a prototype
|
63
|
-
definition of DCL in the "proto" directory.
|
64
|
-
(Equivalent to % make prt)
|
65
|
-
The source code creation is done with ruby.
|
66
|
-
|
67
|
-
The definition is in a format specific to this interface and
|
68
|
-
is made partly by hand. This is because of a necessity to
|
69
|
-
distinguish input, output, in-out, work arguments. Therefore,
|
70
|
-
to catch up future development of DCL, it has to be updated
|
71
|
-
by hand again.
|
72
|
-
|
73
|
-
|
74
|
-
(2) To compile the source code.
|
75
|
-
(Equivalent to % make lib)
|
76
|
-
|
77
|
-
Unlike (1), commands used for this process are platform
|
78
|
-
dependent. Auto-configuration is done by src/extconf.rb,
|
79
|
-
so the user does not have to care platform dependence.
|
data/dummy.c
DELETED
data/grph1_zgpack.c.org
DELETED
@@ -1,141 +0,0 @@
|
|
1
|
-
#include <gtk/gtk.h>
|
2
|
-
#include <gdk/gdk.h>
|
3
|
-
#include "ruby.h"
|
4
|
-
|
5
|
-
#if GTK_MAJOR_VERSION == 1
|
6
|
-
#define RVAL2GTKWIDGET(obj) (get_widget(obj))
|
7
|
-
#define RVAL2GDKPIXMAP(obj) (get_gdkpixmap(obj))
|
8
|
-
|
9
|
-
|
10
|
-
static GtkObject*
|
11
|
-
get_gobject(obj)
|
12
|
-
VALUE obj;
|
13
|
-
{
|
14
|
-
struct RData *data;
|
15
|
-
GtkObject *gtkp;
|
16
|
-
|
17
|
-
if (NIL_P(obj)) {
|
18
|
-
rb_raise(rb_eTypeError, "wrong argument type nil");
|
19
|
-
}
|
20
|
-
|
21
|
-
Check_Type(obj, T_OBJECT);
|
22
|
-
data = RDATA(rb_ivar_get(obj, rb_intern("gtkdata")));
|
23
|
-
if (NIL_P(data)) {
|
24
|
-
rb_raise(rb_eTypeError, "not a Gtk object");
|
25
|
-
}
|
26
|
-
Data_Get_Struct(data, GtkObject, gtkp);
|
27
|
-
if (!gtkp) {
|
28
|
-
rb_raise(rb_eArgError, "destroyed GtkObject");
|
29
|
-
}
|
30
|
-
if (!GTK_IS_OBJECT(gtkp)) {
|
31
|
-
rb_raise(rb_eTypeError, "not a GtkObject");
|
32
|
-
}
|
33
|
-
|
34
|
-
return gtkp;
|
35
|
-
}
|
36
|
-
|
37
|
-
static GtkWidget*
|
38
|
-
get_widget(obj)
|
39
|
-
VALUE obj;
|
40
|
-
{
|
41
|
-
GtkObject *data = get_gobject(obj);
|
42
|
-
|
43
|
-
return GTK_WIDGET(data);
|
44
|
-
}
|
45
|
-
|
46
|
-
static GdkPixmap*
|
47
|
-
get_gdkpixmap(obj)
|
48
|
-
VALUE obj;
|
49
|
-
{
|
50
|
-
GdkPixmap *pixmap;
|
51
|
-
|
52
|
-
Data_Get_Struct(obj, GdkPixmap, pixmap);
|
53
|
-
|
54
|
-
return pixmap;
|
55
|
-
}
|
56
|
-
|
57
|
-
|
58
|
-
#elif GTK_MAJOR_VERSION == 2
|
59
|
-
#define CLASS2GTYPE(klass) (rbgobj_lookup_class(klass)->gtype)
|
60
|
-
#define RVAL2GOBJ(obj) (rbgobj_instance_from_ruby_object(obj))
|
61
|
-
#define RVAL2GTYPE(obj) (CLASS2GTYPE(CLASS_OF(obj)))
|
62
|
-
#define RVAL2GTKWIDGET(obj) ((GtkWidget*)RVAL2GOBJ(obj))
|
63
|
-
#define RVAL2GDKPIXMAP(obj) ((GdkPixmap*)RVAL2GOBJ(obj))
|
64
|
-
#define GOBJ2RVAL(gobj) (rbgobj_ruby_object_from_instance(gobj))
|
65
|
-
#endif
|
66
|
-
|
67
|
-
|
68
|
-
static VALUE
|
69
|
-
dcl_zgsdrw(self, drawable)
|
70
|
-
VALUE self, drawable;
|
71
|
-
{
|
72
|
-
extern zgsdrw_(GtkWidget*);
|
73
|
-
|
74
|
-
zgsdrw_( RVAL2GTKWIDGET(drawable) );
|
75
|
-
|
76
|
-
return Qnil;
|
77
|
-
|
78
|
-
}
|
79
|
-
|
80
|
-
static VALUE
|
81
|
-
dcl_zgspmp(self, pixmap)
|
82
|
-
VALUE self, pixmap;
|
83
|
-
{
|
84
|
-
extern zgspmp_(GdkPixmap*);
|
85
|
-
|
86
|
-
zgspmp_( RVAL2GDKPIXMAP(pixmap) );
|
87
|
-
|
88
|
-
return Qnil;
|
89
|
-
|
90
|
-
}
|
91
|
-
|
92
|
-
#if GTK_MAJOR_VERSION == 2
|
93
|
-
static VALUE
|
94
|
-
dcl_zgqdrw(self)
|
95
|
-
VALUE self;
|
96
|
-
{
|
97
|
-
extern GtkWidget *zgqdrw_();
|
98
|
-
|
99
|
-
return GOBJ2RVAL(zgqdrw_());
|
100
|
-
|
101
|
-
}
|
102
|
-
|
103
|
-
static VALUE
|
104
|
-
dcl_zgqpmp(self)
|
105
|
-
VALUE self;
|
106
|
-
{
|
107
|
-
extern GtkPixmap *zgqpmp_();
|
108
|
-
|
109
|
-
return GOBJ2RVAL(zgqpmp_());
|
110
|
-
|
111
|
-
}
|
112
|
-
#endif
|
113
|
-
|
114
|
-
static VALUE
|
115
|
-
r_gtk_version(self)
|
116
|
-
VALUE self;
|
117
|
-
{
|
118
|
-
return rb_ary_new3(3,
|
119
|
-
INT2NUM(gtk_major_version),
|
120
|
-
INT2NUM(gtk_minor_version),
|
121
|
-
INT2NUM(gtk_micro_version));
|
122
|
-
}
|
123
|
-
|
124
|
-
|
125
|
-
void
|
126
|
-
init_grph1_zgpack(mDCL)
|
127
|
-
VALUE mDCL;
|
128
|
-
{
|
129
|
-
|
130
|
-
rb_define_module_function(mDCL, "gtk_version", r_gtk_version, 0);
|
131
|
-
|
132
|
-
rb_define_module_function(mDCL, "zgsdrw", dcl_zgsdrw, 1);
|
133
|
-
rb_define_module_function(mDCL, "zgspmp", dcl_zgspmp, 1);
|
134
|
-
|
135
|
-
#if GTK_MAJOR_VERSION == 2
|
136
|
-
rb_define_module_function(mDCL, "zgqdrw", dcl_zgqdrw, 0);
|
137
|
-
rb_define_module_function(mDCL, "zgqpmp", dcl_zgqpmp, 0);
|
138
|
-
#endif
|
139
|
-
|
140
|
-
}
|
141
|
-
|
data/init.c.gtk
DELETED
@@ -1,189 +0,0 @@
|
|
1
|
-
#include <stdio.h>
|
2
|
-
#include "ruby.h"
|
3
|
-
#include "libtinyf2c.h"
|
4
|
-
|
5
|
-
/* for compatibility with ruby 1.6 */
|
6
|
-
#ifndef RARRAY_PTR
|
7
|
-
#define RARRAY_PTR(a) (RARRAY(a)->ptr)
|
8
|
-
#endif
|
9
|
-
#ifndef RARRAY_LEN
|
10
|
-
#define RARRAY_LEN(a) (RARRAY(a)->len)
|
11
|
-
#endif
|
12
|
-
#ifndef StringValuePtr
|
13
|
-
#define StringValuePtr(s) STR2CSTR(s)
|
14
|
-
#endif
|
15
|
-
|
16
|
-
VALUE mDCL;
|
17
|
-
static VALUE mNumRu;
|
18
|
-
|
19
|
-
void init_grph1_csgi(VALUE mDCL);
|
20
|
-
void init_grph1_scpack(VALUE mDCL);
|
21
|
-
void init_grph1_sgpack(VALUE mDCL);
|
22
|
-
void init_grph1_slpack(VALUE mDCL);
|
23
|
-
void init_grph1_stpack(VALUE mDCL);
|
24
|
-
void init_grph1_swpack(VALUE mDCL);
|
25
|
-
void init_grph1_zgpack(VALUE mDCL);
|
26
|
-
void init_grph2_grpack(VALUE mDCL);
|
27
|
-
void init_grph2_ucpack(VALUE mDCL);
|
28
|
-
void init_grph2_udpack(VALUE mDCL);
|
29
|
-
void init_grph2_uepack(VALUE mDCL);
|
30
|
-
void init_grph2_ugpack(VALUE mDCL);
|
31
|
-
void init_grph2_uhpack(VALUE mDCL);
|
32
|
-
void init_grph2_ulpack(VALUE mDCL);
|
33
|
-
void init_grph2_umpack(VALUE mDCL);
|
34
|
-
void init_grph2_uspack(VALUE mDCL);
|
35
|
-
void init_grph2_uupack(VALUE mDCL);
|
36
|
-
void init_grph2_uvpack(VALUE mDCL);
|
37
|
-
void init_grph2_uwpack(VALUE mDCL);
|
38
|
-
void init_grph2_uxpack(VALUE mDCL);
|
39
|
-
void init_grph2_uypack(VALUE mDCL);
|
40
|
-
void init_grph2_uzpack(VALUE mDCL);
|
41
|
-
void init_math1_blklib(VALUE mDCL);
|
42
|
-
void init_math1_chrlib(VALUE mDCL);
|
43
|
-
void init_math1_fnclib(VALUE mDCL);
|
44
|
-
void init_math1_gt2dlib(VALUE mDCL);
|
45
|
-
void init_math1_gnmlib(VALUE mDCL);
|
46
|
-
void init_math1_ifalib(VALUE mDCL);
|
47
|
-
void init_math1_indxlib(VALUE mDCL);
|
48
|
-
void init_math1_intlib(VALUE mDCL);
|
49
|
-
void init_math1_lrllib(VALUE mDCL);
|
50
|
-
void init_math1_oslib(VALUE mDCL);
|
51
|
-
void init_math1_rfalib(VALUE mDCL);
|
52
|
-
void init_math1_rfblib(VALUE mDCL);
|
53
|
-
void init_math1_sublib(VALUE mDCL);
|
54
|
-
void init_math1_syslib(VALUE mDCL);
|
55
|
-
void init_math1_vialib(VALUE mDCL);
|
56
|
-
void init_math1_viblib(VALUE mDCL);
|
57
|
-
void init_math1_vralib(VALUE mDCL);
|
58
|
-
void init_math1_vrblib(VALUE mDCL);
|
59
|
-
void init_math1_xfclib(VALUE mDCL);
|
60
|
-
void init_math2_fftlib(VALUE mDCL);
|
61
|
-
void init_math2_intrlib(VALUE mDCL);
|
62
|
-
/*
|
63
|
-
void init_math2_odelib(VALUE mDCL);
|
64
|
-
*/
|
65
|
-
void init_math2_rnmlib(VALUE mDCL);
|
66
|
-
void init_math2_shtlib(VALUE mDCL);
|
67
|
-
void init_math2_vstlib(VALUE mDCL);
|
68
|
-
void init_misc1_chnlib(VALUE mDCL);
|
69
|
-
void init_misc1_datelib(VALUE mDCL);
|
70
|
-
void init_misc1_fmtlib(VALUE mDCL);
|
71
|
-
void init_misc1_misclib(VALUE mDCL);
|
72
|
-
void init_misc1_randlib(VALUE mDCL);
|
73
|
-
void init_misc1_timelib(VALUE mDCL);
|
74
|
-
|
75
|
-
|
76
|
-
static int ruby_msgdmp_err_func(char *csub, char *cmsg,
|
77
|
-
int csub_len, int cmsg_len)
|
78
|
-
{
|
79
|
-
int lmsg, lsub, i;
|
80
|
-
char msg[300];
|
81
|
-
lsub = lenc_(csub, csub_len);
|
82
|
-
if (lsub > 32) {lsub=32;}
|
83
|
-
lmsg = lenc_(cmsg, cmsg_len);
|
84
|
-
if (lmsg > 200) {lmsg=200;}
|
85
|
-
msg[0]='[';
|
86
|
-
strncpy(msg+1,csub,lsub);
|
87
|
-
msg[lsub+1]=']';
|
88
|
-
msg[lsub+2]=' ';
|
89
|
-
strncpy(msg+lsub+3,cmsg,lmsg);
|
90
|
-
for(i=lsub+3+lmsg;i<300;i++){msg[i]='\0';}
|
91
|
-
rb_raise(rb_eRuntimeError, msg);
|
92
|
-
return(0);
|
93
|
-
}
|
94
|
-
|
95
|
-
#if DCLVER >= 532
|
96
|
-
static VALUE
|
97
|
-
dcl_init_arg(obj, name, ary)
|
98
|
-
VALUE obj, name, ary;
|
99
|
-
{
|
100
|
-
integer argc;
|
101
|
-
char **argv;
|
102
|
-
VALUE *ptr;
|
103
|
-
integer i;
|
104
|
-
|
105
|
-
Check_Type(ary,T_ARRAY);
|
106
|
-
argc = RARRAY_LEN(ary);
|
107
|
-
ptr = RARRAY_PTR(ary);
|
108
|
-
argv = ALLOC_N(char*,argc+1);
|
109
|
-
argv[0] = StringValuePtr(name);
|
110
|
-
for (i=0;i<argc;i++)
|
111
|
-
argv[i+1] = StringValuePtr(ptr[i]);
|
112
|
-
init_arg_(argc+1, argv);
|
113
|
-
|
114
|
-
return Qnil;
|
115
|
-
}
|
116
|
-
#endif
|
117
|
-
|
118
|
-
void
|
119
|
-
Init_dcl_raw()
|
120
|
-
{
|
121
|
-
set_msgdmp_err_func(ruby_msgdmp_err_func);
|
122
|
-
mNumRu = rb_define_module("NumRu");
|
123
|
-
mDCL = rb_define_module_under(mNumRu, "DCL");
|
124
|
-
rb_define_const(mDCL, "DCLVERSION", rb_str_new2(DCLVersion));
|
125
|
-
|
126
|
-
init_grph1_csgi(mDCL);
|
127
|
-
init_grph1_scpack(mDCL);
|
128
|
-
init_grph1_sgpack(mDCL);
|
129
|
-
init_grph1_slpack(mDCL);
|
130
|
-
init_grph1_stpack(mDCL);
|
131
|
-
init_grph1_swpack(mDCL);
|
132
|
-
init_grph1_zgpack(mDCL);
|
133
|
-
init_grph2_grpack(mDCL);
|
134
|
-
init_grph2_ucpack(mDCL);
|
135
|
-
init_grph2_udpack(mDCL);
|
136
|
-
init_grph2_uepack(mDCL);
|
137
|
-
init_grph2_ugpack(mDCL);
|
138
|
-
init_grph2_uhpack(mDCL);
|
139
|
-
init_grph2_ulpack(mDCL);
|
140
|
-
init_grph2_umpack(mDCL);
|
141
|
-
init_grph2_uspack(mDCL);
|
142
|
-
init_grph2_uupack(mDCL);
|
143
|
-
init_grph2_uvpack(mDCL);
|
144
|
-
init_grph2_uwpack(mDCL);
|
145
|
-
init_grph2_uxpack(mDCL);
|
146
|
-
init_grph2_uypack(mDCL);
|
147
|
-
init_grph2_uzpack(mDCL);
|
148
|
-
init_math1_blklib(mDCL);
|
149
|
-
init_math1_chrlib(mDCL);
|
150
|
-
init_math1_fnclib(mDCL);
|
151
|
-
#if DCLVER >= 530
|
152
|
-
init_math1_gt2dlib(mDCL);
|
153
|
-
#endif
|
154
|
-
init_math1_gnmlib(mDCL);
|
155
|
-
init_math1_ifalib(mDCL);
|
156
|
-
init_math1_indxlib(mDCL);
|
157
|
-
init_math1_intlib(mDCL);
|
158
|
-
init_math1_lrllib(mDCL);
|
159
|
-
init_math1_oslib(mDCL);
|
160
|
-
init_math1_rfalib(mDCL);
|
161
|
-
init_math1_rfblib(mDCL);
|
162
|
-
init_math1_sublib(mDCL);
|
163
|
-
init_math1_syslib(mDCL);
|
164
|
-
init_math1_vialib(mDCL);
|
165
|
-
init_math1_viblib(mDCL);
|
166
|
-
init_math1_vralib(mDCL);
|
167
|
-
init_math1_vrblib(mDCL);
|
168
|
-
init_math1_xfclib(mDCL);
|
169
|
-
init_math2_fftlib(mDCL);
|
170
|
-
init_math2_intrlib(mDCL);
|
171
|
-
/*
|
172
|
-
init_math2_odelib(mDCL);
|
173
|
-
*/
|
174
|
-
init_math2_rnmlib(mDCL);
|
175
|
-
init_math2_shtlib(mDCL);
|
176
|
-
init_math2_vstlib(mDCL);
|
177
|
-
init_misc1_chnlib(mDCL);
|
178
|
-
init_misc1_datelib(mDCL);
|
179
|
-
init_misc1_fmtlib(mDCL);
|
180
|
-
init_misc1_misclib(mDCL);
|
181
|
-
init_misc1_randlib(mDCL);
|
182
|
-
init_misc1_timelib(mDCL);
|
183
|
-
#if DCLVER >= 532
|
184
|
-
rb_define_module_function(mDCL, "init_arg", dcl_init_arg, 2);
|
185
|
-
#endif
|
186
|
-
|
187
|
-
init_rubydcloriginal(mDCL);
|
188
|
-
init_narrayed_funcs(mDCL);
|
189
|
-
}
|