tioga 1.4 → 1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Tioga_README +177 -139
- data/split/Dtable/dtable.c +3 -0
- data/split/Dtable/namespace.h +7 -3
- data/split/Dtable/symbols.h +2 -2
- data/split/Dvector/dvector.c +3 -2
- data/split/Dvector/namespace.h +7 -3
- data/split/Dvector/symbols.h +2 -2
- data/split/Flate/flate.c +2 -1
- data/split/Flate/namespace.h +7 -3
- data/split/Flate/symbols.h +2 -2
- data/split/Function/extconf.rb +1 -1
- data/split/Function/function.c +38 -6
- data/split/Function/joint_qsort.c +1 -2
- data/split/Function/namespace.h +7 -3
- data/split/Function/symbols.h +2 -2
- data/split/Tioga/axes.c +4 -5
- data/split/Tioga/figures.c +1 -0
- data/split/Tioga/figures.h +5 -3
- data/split/Tioga/lib/Arcs_and_Circles.rb +1 -1
- data/split/Tioga/lib/ColorConstants.rb +9 -9
- data/split/Tioga/lib/Creating_Paths.rb +1 -1
- data/split/Tioga/lib/FigMkr.rb +25 -23
- data/split/Tioga/lib/FigureConstants.rb +2 -2
- data/split/Tioga/lib/Figures_and_Plots.rb +6 -6
- data/split/Tioga/lib/Images.rb +2 -2
- data/split/Tioga/lib/MarkerConstants.rb +3 -3
- data/split/Tioga/lib/Markers.rb +6 -6
- data/split/Tioga/lib/Page_Frame_Bounds.rb +1 -1
- data/split/Tioga/lib/Rectangles.rb +1 -1
- data/split/Tioga/lib/Shading.rb +2 -2
- data/split/Tioga/lib/Special_Paths.rb +5 -5
- data/split/Tioga/lib/Strokes.rb +2 -2
- data/split/Tioga/lib/TeX_Text.rb +5 -5
- data/split/Tioga/lib/TexPreamble.rb +116 -116
- data/split/Tioga/lib/Transparency.rb +2 -2
- data/split/Tioga/lib/Using_Paths.rb +1 -1
- data/split/Tioga/lib/X_and_Y_Axes.rb +19 -15
- data/split/Tioga/lib/irb_tioga.rb +36 -11
- data/split/Tioga/lib/maker.rb +201 -0
- data/split/Tioga/lib/tioga_ui_cmds.rb +6 -2
- data/split/Tioga/namespace.h +7 -3
- data/split/Tioga/pdfcoords.c +20 -2
- data/split/Tioga/pdfs.h +1 -1
- data/split/Tioga/symbols.h +2 -2
- data/split/extconf.rb +7 -5
- data/split/namespace.h +7 -3
- data/split/symbols.c +1 -9
- data/split/symbols.h +2 -2
- metadata +19 -23
- data/split/Dtable/symbols.c +0 -92
- data/split/Dvector/symbols.c +0 -92
- data/split/Flate/symbols.c +0 -92
- data/split/Function/symbols.c +0 -92
- data/split/Tioga/symbols.c +0 -92
data/Tioga_README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
This is the README for the Tioga kernel, version 1.
|
1
|
+
This is the README for the Tioga kernel, version 1.5, March 17, 2007.
|
2
2
|
|
3
3
|
Copyright (C) 2005, 2006, 2007 Bill Paxton
|
4
4
|
|
@@ -20,6 +20,182 @@ This is the README for the Tioga kernel, version 1.4, January 21, 2007.
|
|
20
20
|
|
21
21
|
<< What's new >>
|
22
22
|
|
23
|
+
Version 1.5 is mainly Vincent's work, so my part of this release message
|
24
|
+
will be short. Remember how I killed off the Mac GUI last time? Turns out there
|
25
|
+
was one user who couldn't live without it -- me! So it's back, but I'm still not
|
26
|
+
making any promises about keeping it alive if Apple does something stupid in
|
27
|
+
coming releases. If you're interested in playing with it in spite of that warning,
|
28
|
+
it's available from my website (http://theory.kitp.ucsb.edu/~paxton/Tioga-1.5.dmg).
|
29
|
+
|
30
|
+
Cheers, Bill
|
31
|
+
|
32
|
+
[Vincent] Version 1.5 has seen a not-so-s�mall change inthe structure of the
|
33
|
+
tutorial, which now has local links to images. So the images are now included in the
|
34
|
+
tarball (though the -without-images don't have them, for those who have sparse
|
35
|
+
disk space or bandwidth). To get a local copy of the tutorial, just run rdoc
|
36
|
+
and then link doc/images to images using the following commands:
|
37
|
+
|
38
|
+
cd doc; ln -s ../images .
|
39
|
+
|
40
|
+
There are just a few new functions this time:
|
41
|
+
* FigureMaker#create_figure_temp_files has been made part of the public
|
42
|
+
interface of tioga, it produces only the intermediate pdf and TeX files but
|
43
|
+
doesn't run pdflatex (used by ctioga)
|
44
|
+
* a Function#derivative method has been added, that does what you think it
|
45
|
+
does.
|
46
|
+
|
47
|
+
The C code has been heavily tweaked to prevent segfaults on some
|
48
|
+
architectures/distributions, and some samples were added, notably one for
|
49
|
+
insets (I'll let you find it !).
|
50
|
+
|
51
|
+
Cheers, Vincent
|
52
|
+
|
53
|
+
|
54
|
+
<< Quick Installation of Tioga >>
|
55
|
+
|
56
|
+
Are you feeling lucky? If so, try QUICK_INSTALL. This simply does
|
57
|
+
the steps for you that are described below. The install needs to copy some
|
58
|
+
files to the ruby directory. On the Mac, this probably means you need to do
|
59
|
+
the whole thing with a 'sudo'. For Linux, you may have to become root.
|
60
|
+
Once you've taken care of that, just run the QUICK_INSTALL script and
|
61
|
+
keep your fingers crossed.
|
62
|
+
|
63
|
+
You now have the option to run HOME_INSTALL instead, which will install the files to
|
64
|
+
your home directory (no root privileges needed). You just need to set your RUBYLIB
|
65
|
+
environment variable as reminded at the end of the file.
|
66
|
+
|
67
|
+
Please check that there are 0 failures and 0 errors at the end of the test.
|
68
|
+
Then, in your favorite PDF previewer, open the newly created 'tests/Icon_Test.pdf'
|
69
|
+
and compare it to the prebuilt 'samples/Icon.pdf'. They should be very similar!
|
70
|
+
If it all seems to be working, go directly to the << Documentation >> section below.
|
71
|
+
|
72
|
+
|
73
|
+
<< Step-by-Step Installation >>
|
74
|
+
|
75
|
+
To get Tioga running, you need to have a working Ruby, a C compiler,
|
76
|
+
make, and pdflaxtex. Assuming you've got all that (more later if you don't),
|
77
|
+
connect to the Tioga directory that you just unpacked and do the following:
|
78
|
+
|
79
|
+
[ this has been changed, be careful ! ]
|
80
|
+
|
81
|
+
cd split
|
82
|
+
ruby extconf.rb
|
83
|
+
make
|
84
|
+
make install
|
85
|
+
|
86
|
+
This creates the Makefile, runs it, and finally does the actual
|
87
|
+
installation. The "make install" needs to copy some files to the ruby directory.
|
88
|
+
On the Mac, this probably means you need to do the whole thing inside a 'sudo'.
|
89
|
+
For Linux, you may have to become root.
|
90
|
+
|
91
|
+
Note that on Linux, the make will compile all the source files. On the Mac,
|
92
|
+
the tar file includes precompiled versions of everything, so the make won't
|
93
|
+
have anything to do. That's okay. Do the whole sequence anyway just to be safe.
|
94
|
+
|
95
|
+
You now have another option to install: if you replace the line
|
96
|
+
ruby extconf.rb
|
97
|
+
with
|
98
|
+
ruby extconf.rb --home
|
99
|
+
it will install the files to your home directory, namely ~/lib/ruby. You don't need root
|
100
|
+
privileges to do that, but make sure that you set RUBYLIB=~/lib/ruby somewhere, so that ruby
|
101
|
+
can find it.
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
<< Checking The Installation >>
|
107
|
+
|
108
|
+
To make sure at least something works of out the newly installed stuff,
|
109
|
+
change directory to your new Tioga folder. Then enter this to the shell:
|
110
|
+
|
111
|
+
cd tests
|
112
|
+
ruby ts_Tioga.rb
|
113
|
+
|
114
|
+
This should produce something like the following if the install worked:
|
115
|
+
|
116
|
+
Loaded suite ts_Tioga
|
117
|
+
Started
|
118
|
+
.....................................................
|
119
|
+
compressed from 0 to 8
|
120
|
+
compressed from 13 to 21
|
121
|
+
compressed from 70 to 69
|
122
|
+
compressed from 3631 to 1642
|
123
|
+
.pdflatex -interaction nonstopmode Icon_Test.tex > pdflatex.log
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
>>> NOTE: please look at tests/Icon_Test.pdf and compare it to samples/Icon.pdf
|
128
|
+
.
|
129
|
+
Finished in 0.501211 seconds.
|
130
|
+
|
131
|
+
55 tests, 647 assertions, 0 failures, 0 errors
|
132
|
+
|
133
|
+
[the numbers here are not up-to-date, tests are added everytime a feature is added, so it
|
134
|
+
is likely the numbers you see are greater - it means we're actually working ;-) !]
|
135
|
+
|
136
|
+
These tests ensure that Tioga is accessible and that some of the basic stuff is working.
|
137
|
+
Don't skip the visual check of the newly created file 'tests/Icon_Test.pdf'.
|
138
|
+
If that's ok, there's a good chance your installation is up and running.
|
139
|
+
|
140
|
+
The next step is to do the tutorial found in the documentation.
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<< Tutorial >>
|
145
|
+
|
146
|
+
Once you have Tioga installed, the on-line tutorial will help you
|
147
|
+
get started using it.
|
148
|
+
|
149
|
+
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/classes/Tioga/Tutorial.html
|
150
|
+
|
151
|
+
|
152
|
+
<< Documentation >>
|
153
|
+
|
154
|
+
Visit this website to access the documentation:
|
155
|
+
|
156
|
+
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/index.html
|
157
|
+
|
158
|
+
If for some reason that link isn't working, go to my website,
|
159
|
+
|
160
|
+
http://theory.kitp.ucsb.edu/~paxton
|
161
|
+
|
162
|
+
and check there for a new link to the Tioga stuff.
|
163
|
+
|
164
|
+
Try to get by with the on-line documentation, but if you really
|
165
|
+
have a need to rebuild the documentation using Rdoc, I've
|
166
|
+
included a .document file in the release folder. However, all
|
167
|
+
the figures have direct links to jpegs on my website, so you'll
|
168
|
+
either have to live with that, or do a bunch of edits. Send me
|
169
|
+
an email if you'd like a tar file of the images.
|
170
|
+
|
171
|
+
|
172
|
+
<< Open Source >>
|
173
|
+
|
174
|
+
You are welcome to take the Tioga source and do what you want with it
|
175
|
+
(within the bounds of the GNU license of course). But don't even think about
|
176
|
+
asking for support from me for debugging your new stuff! I have enough trouble
|
177
|
+
with my own bugs to keep me busy endlessly! But if it looks like a bug in Tioga,
|
178
|
+
please do let me know so I can try to fix it. Or even better, let me know
|
179
|
+
the fix along with the bug!
|
180
|
+
|
181
|
+
|
182
|
+
----------------------------------
|
183
|
+
|
184
|
+
For more, visit my website: http://theory.kitp.ucsb.edu/~paxton
|
185
|
+
|
186
|
+
Best wishes,
|
187
|
+
Bill Paxton
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
<< What's old >>
|
196
|
+
|
197
|
+
Here are the old release messages:
|
198
|
+
|
23
199
|
Version 1.4 is a major overhaul with particular emphasis on the tioga user interface.
|
24
200
|
Please take a moment to go through the new section of the tutorial titled, CommandLine.
|
25
201
|
It gives a detailed discussion of the new tioga command line interface that replaces
|
@@ -50,11 +226,6 @@ Additionnally, some more classical functionalities have been added:
|
|
50
226
|
the markers, see the plot samples/figures/figures.rb: Arrows_second_take
|
51
227
|
* a function Dvector.write has been added that does exactly the
|
52
228
|
reverse of Dvector.(fancy_)read.
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
<< What's old >>
|
58
229
|
|
59
230
|
|
60
231
|
Version 1.3.1 is as usual a bug-fix release, although bugs
|
@@ -237,136 +408,3 @@ Not only that, he sent along an implementation to fix the problem! What could I
|
|
237
408
|
I had to put it in and make a new release. So thanks to Vincent, you can now include
|
238
409
|
markers on the lines in legends. Details in the new documentation for 'save_legend_info'.
|
239
410
|
|
240
|
-
|
241
|
-
<< Quick Installation of Tioga >>
|
242
|
-
|
243
|
-
Are you feeling lucky? If so, try QUICK_INSTALL. This simply does
|
244
|
-
the steps for you that are described below. The install needs to copy some
|
245
|
-
files to the ruby directory. On the Mac, this probably means you need to do
|
246
|
-
the whole thing with a 'sudo'. For Linux, you may have to become root.
|
247
|
-
Once you've taken care of that, just run the QUICK_INSTALL script and
|
248
|
-
keep your fingers crossed.
|
249
|
-
|
250
|
-
You now have the option to run HOME_INSTALL instead, which will install the files to
|
251
|
-
your home directory (no root privileges needed). You just need to set your RUBYLIB
|
252
|
-
environment variable as reminded at the end of the file.
|
253
|
-
|
254
|
-
Please check that there are 0 failures and 0 errors at the end of the test.
|
255
|
-
Then, in your favorite PDF previewer, open the newly created 'tests/Icon_Test.pdf'
|
256
|
-
and compare it to the prebuilt 'samples/Icon.pdf'. They should be very similar!
|
257
|
-
If it all seems to be working, go directly to the << Documentation >> section below.
|
258
|
-
|
259
|
-
|
260
|
-
<< Step-by-Step Installation >>
|
261
|
-
|
262
|
-
To get Tioga running, you need to have a working Ruby, a C compiler,
|
263
|
-
make, and pdflaxtex. Assuming you've got all that (more later if you don't),
|
264
|
-
connect to the Tioga directory that you just unpacked and do the following:
|
265
|
-
|
266
|
-
[ this has been changed, be careful ! ]
|
267
|
-
|
268
|
-
cd split
|
269
|
-
ruby extconf.rb
|
270
|
-
make
|
271
|
-
make install
|
272
|
-
|
273
|
-
This creates the Makefile, runs it, and finally does the actual
|
274
|
-
installation. The "make install" needs to copy some files to the ruby directory.
|
275
|
-
On the Mac, this probably means you need to do the whole thing inside a 'sudo'.
|
276
|
-
For Linux, you may have to become root.
|
277
|
-
|
278
|
-
Note that on Linux, the make will compile all the source files. On the Mac,
|
279
|
-
the tar file includes precompiled versions of everything, so the make won't
|
280
|
-
have anything to do. That's okay. Do the whole sequence anyway just to be safe.
|
281
|
-
|
282
|
-
You now have another option to install: if you replace the line
|
283
|
-
ruby extconf.rb
|
284
|
-
with
|
285
|
-
ruby extconf.rb --home
|
286
|
-
it will install the files to your home directory, namely ~/lib/ruby. You don't need root
|
287
|
-
privileges to do that, but make sure that you set RUBYLIB=~/lib/ruby somewhere, so that ruby
|
288
|
-
can find it.
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
<< Checking The Installation >>
|
294
|
-
|
295
|
-
To make sure at least something works of out the newly installed stuff,
|
296
|
-
change directory to your new Tioga folder. Then enter this to the shell:
|
297
|
-
|
298
|
-
cd tests
|
299
|
-
ruby ts_Tioga.rb
|
300
|
-
|
301
|
-
This should produce something like the following if the install worked:
|
302
|
-
|
303
|
-
Loaded suite ts_Tioga
|
304
|
-
Started
|
305
|
-
.....................................................
|
306
|
-
compressed from 0 to 8
|
307
|
-
compressed from 13 to 21
|
308
|
-
compressed from 70 to 69
|
309
|
-
compressed from 3631 to 1642
|
310
|
-
.pdflatex -interaction nonstopmode Icon_Test.tex > pdflatex.log
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
>>> NOTE: please look at tests/Icon_Test.pdf and compare it to samples/Icon.pdf
|
315
|
-
.
|
316
|
-
Finished in 0.501211 seconds.
|
317
|
-
|
318
|
-
55 tests, 647 assertions, 0 failures, 0 errors
|
319
|
-
|
320
|
-
These tests ensure that Tioga is accessible and that some of the basic stuff is working.
|
321
|
-
Don't skip the visual check of the newly created file 'tests/Icon_Test.pdf'.
|
322
|
-
If that's ok, there's a good chance your installation is up and running.
|
323
|
-
|
324
|
-
The next step is to do the tutorial found in the documentation.
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
<< Tutorial >>
|
329
|
-
|
330
|
-
Once you have Tioga installed, the on-line tutorial will help you
|
331
|
-
get started using it.
|
332
|
-
|
333
|
-
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/classes/Tioga/Tutorial.html
|
334
|
-
|
335
|
-
|
336
|
-
<< Documentation >>
|
337
|
-
|
338
|
-
Visit this website to access the documentation:
|
339
|
-
|
340
|
-
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/index.html
|
341
|
-
|
342
|
-
If for some reason that link isn't working, go to my website,
|
343
|
-
|
344
|
-
http://theory.kitp.ucsb.edu/~paxton
|
345
|
-
|
346
|
-
and check there for a new link to the Tioga stuff.
|
347
|
-
|
348
|
-
Try to get by with the on-line documentation, but if you really
|
349
|
-
have a need to rebuild the documentation using Rdoc, I've
|
350
|
-
included a .document file in the release folder. However, all
|
351
|
-
the figures have direct links to jpegs on my website, so you'll
|
352
|
-
either have to live with that, or do a bunch of edits. Send me
|
353
|
-
an email if you'd like a tar file of the images.
|
354
|
-
|
355
|
-
|
356
|
-
<< Open Source >>
|
357
|
-
|
358
|
-
You are welcome to take the Tioga source and do what you want with it
|
359
|
-
(within the bounds of the GNU license of course). But don't even think about
|
360
|
-
asking for support from me for debugging your new stuff! I have enough trouble
|
361
|
-
with my own bugs to keep me busy endlessly! But if it looks like a bug in Tioga,
|
362
|
-
please do let me know so I can try to fix it. Or even better, let me know
|
363
|
-
the fix along with the bug!
|
364
|
-
|
365
|
-
|
366
|
-
----------------------------------
|
367
|
-
|
368
|
-
For more, visit my website: http://theory.kitp.ucsb.edu/~paxton
|
369
|
-
|
370
|
-
Best wishes,
|
371
|
-
Bill Paxton
|
372
|
-
|
data/split/Dtable/dtable.c
CHANGED
data/split/Dtable/namespace.h
CHANGED
@@ -34,14 +34,18 @@
|
|
34
34
|
*/
|
35
35
|
|
36
36
|
#ifdef __APPLE__
|
37
|
-
# define
|
37
|
+
# define INTERN __private_extern__
|
38
38
|
# define PUBLIC
|
39
39
|
#elif __GNUC__ >= 4 /* we have the visibility attribute */
|
40
|
-
# define
|
40
|
+
# define INTERN __attribute__ ((visibility ("hidden")))
|
41
41
|
# define PUBLIC __attribute__ ((visibility ("default")))
|
42
42
|
#else /* not really good */
|
43
|
-
# define
|
43
|
+
# define INTERN
|
44
44
|
# define PUBLIC
|
45
45
|
#endif /* __APPLE__ and __GNU_C_ >= 4*/
|
46
46
|
|
47
|
+
/* In any case, PRIVATE is static */
|
48
|
+
|
49
|
+
#define PRIVATE static
|
50
|
+
|
47
51
|
#endif
|
data/split/Dtable/symbols.h
CHANGED
@@ -22,10 +22,10 @@ PRIVATE void * rb_import_symbol_no_raise(VALUE module,
|
|
22
22
|
|
23
23
|
#define DECLARE_SYMBOL(ret_type,name,args) \
|
24
24
|
typedef ret_type (*rb_export_##name##_type) args;\
|
25
|
-
|
25
|
+
INTERN rb_export_##name##_type name
|
26
26
|
|
27
27
|
#define IMPLEMENT_SYMBOL(name)\
|
28
|
-
|
28
|
+
INTERN rb_export_##name##_type name = 0;
|
29
29
|
|
30
30
|
#define RB_IMPORT_SYMBOL(module, name) \
|
31
31
|
name = (rb_export_##name##_type) rb_import_symbol(module, #name)
|
data/split/Dvector/dvector.c
CHANGED
@@ -30,7 +30,8 @@
|
|
30
30
|
#include "intern.h"
|
31
31
|
#include "dvector_intern.h"
|
32
32
|
|
33
|
-
#include
|
33
|
+
#include "../symbols.h"
|
34
|
+
#include "../symbols.c"
|
34
35
|
|
35
36
|
/* compiler-dependent definitions, such as is_okay_number */
|
36
37
|
#include <defs.h>
|
@@ -5454,7 +5455,7 @@ void Init_Dvector() {
|
|
5454
5455
|
rb_define_singleton_method(cDvector, "_load", dvector_load, 1);
|
5455
5456
|
|
5456
5457
|
/* simple convolution */
|
5457
|
-
rb_define_method(cDvector,"convolve", dvector_convolve, 2);
|
5458
|
+
rb_define_method(cDvector, "convolve", dvector_convolve, 2);
|
5458
5459
|
|
5459
5460
|
dvector_output_fs = Qnil;
|
5460
5461
|
rb_global_variable(&dvector_output_fs);
|
data/split/Dvector/namespace.h
CHANGED
@@ -34,14 +34,18 @@
|
|
34
34
|
*/
|
35
35
|
|
36
36
|
#ifdef __APPLE__
|
37
|
-
# define
|
37
|
+
# define INTERN __private_extern__
|
38
38
|
# define PUBLIC
|
39
39
|
#elif __GNUC__ >= 4 /* we have the visibility attribute */
|
40
|
-
# define
|
40
|
+
# define INTERN __attribute__ ((visibility ("hidden")))
|
41
41
|
# define PUBLIC __attribute__ ((visibility ("default")))
|
42
42
|
#else /* not really good */
|
43
|
-
# define
|
43
|
+
# define INTERN
|
44
44
|
# define PUBLIC
|
45
45
|
#endif /* __APPLE__ and __GNU_C_ >= 4*/
|
46
46
|
|
47
|
+
/* In any case, PRIVATE is static */
|
48
|
+
|
49
|
+
#define PRIVATE static
|
50
|
+
|
47
51
|
#endif
|
data/split/Dvector/symbols.h
CHANGED
@@ -22,10 +22,10 @@ PRIVATE void * rb_import_symbol_no_raise(VALUE module,
|
|
22
22
|
|
23
23
|
#define DECLARE_SYMBOL(ret_type,name,args) \
|
24
24
|
typedef ret_type (*rb_export_##name##_type) args;\
|
25
|
-
|
25
|
+
INTERN rb_export_##name##_type name
|
26
26
|
|
27
27
|
#define IMPLEMENT_SYMBOL(name)\
|
28
|
-
|
28
|
+
INTERN rb_export_##name##_type name = 0;
|
29
29
|
|
30
30
|
#define RB_IMPORT_SYMBOL(module, name) \
|
31
31
|
name = (rb_export_##name##_type) rb_import_symbol(module, #name)
|