tioga 1.4 → 1.5

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.
Files changed (54) hide show
  1. data/Tioga_README +177 -139
  2. data/split/Dtable/dtable.c +3 -0
  3. data/split/Dtable/namespace.h +7 -3
  4. data/split/Dtable/symbols.h +2 -2
  5. data/split/Dvector/dvector.c +3 -2
  6. data/split/Dvector/namespace.h +7 -3
  7. data/split/Dvector/symbols.h +2 -2
  8. data/split/Flate/flate.c +2 -1
  9. data/split/Flate/namespace.h +7 -3
  10. data/split/Flate/symbols.h +2 -2
  11. data/split/Function/extconf.rb +1 -1
  12. data/split/Function/function.c +38 -6
  13. data/split/Function/joint_qsort.c +1 -2
  14. data/split/Function/namespace.h +7 -3
  15. data/split/Function/symbols.h +2 -2
  16. data/split/Tioga/axes.c +4 -5
  17. data/split/Tioga/figures.c +1 -0
  18. data/split/Tioga/figures.h +5 -3
  19. data/split/Tioga/lib/Arcs_and_Circles.rb +1 -1
  20. data/split/Tioga/lib/ColorConstants.rb +9 -9
  21. data/split/Tioga/lib/Creating_Paths.rb +1 -1
  22. data/split/Tioga/lib/FigMkr.rb +25 -23
  23. data/split/Tioga/lib/FigureConstants.rb +2 -2
  24. data/split/Tioga/lib/Figures_and_Plots.rb +6 -6
  25. data/split/Tioga/lib/Images.rb +2 -2
  26. data/split/Tioga/lib/MarkerConstants.rb +3 -3
  27. data/split/Tioga/lib/Markers.rb +6 -6
  28. data/split/Tioga/lib/Page_Frame_Bounds.rb +1 -1
  29. data/split/Tioga/lib/Rectangles.rb +1 -1
  30. data/split/Tioga/lib/Shading.rb +2 -2
  31. data/split/Tioga/lib/Special_Paths.rb +5 -5
  32. data/split/Tioga/lib/Strokes.rb +2 -2
  33. data/split/Tioga/lib/TeX_Text.rb +5 -5
  34. data/split/Tioga/lib/TexPreamble.rb +116 -116
  35. data/split/Tioga/lib/Transparency.rb +2 -2
  36. data/split/Tioga/lib/Using_Paths.rb +1 -1
  37. data/split/Tioga/lib/X_and_Y_Axes.rb +19 -15
  38. data/split/Tioga/lib/irb_tioga.rb +36 -11
  39. data/split/Tioga/lib/maker.rb +201 -0
  40. data/split/Tioga/lib/tioga_ui_cmds.rb +6 -2
  41. data/split/Tioga/namespace.h +7 -3
  42. data/split/Tioga/pdfcoords.c +20 -2
  43. data/split/Tioga/pdfs.h +1 -1
  44. data/split/Tioga/symbols.h +2 -2
  45. data/split/extconf.rb +7 -5
  46. data/split/namespace.h +7 -3
  47. data/split/symbols.c +1 -9
  48. data/split/symbols.h +2 -2
  49. metadata +19 -23
  50. data/split/Dtable/symbols.c +0 -92
  51. data/split/Dvector/symbols.c +0 -92
  52. data/split/Flate/symbols.c +0 -92
  53. data/split/Function/symbols.c +0 -92
  54. 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.4, January 21, 2007.
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
-
@@ -27,6 +27,9 @@
27
27
  #include <math.h>
28
28
  #include "intern.h"
29
29
 
30
+ #include "../symbols.h"
31
+ #include "../symbols.c"
32
+
30
33
  #include <defs.h>
31
34
 
32
35
  /* safe storing of doubles */
@@ -34,14 +34,18 @@
34
34
  */
35
35
 
36
36
  #ifdef __APPLE__
37
- # define PRIVATE __private_extern__
37
+ # define INTERN __private_extern__
38
38
  # define PUBLIC
39
39
  #elif __GNUC__ >= 4 /* we have the visibility attribute */
40
- # define PRIVATE __attribute__ ((visibility ("hidden")))
40
+ # define INTERN __attribute__ ((visibility ("hidden")))
41
41
  # define PUBLIC __attribute__ ((visibility ("default")))
42
42
  #else /* not really good */
43
- # define PRIVATE
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
@@ -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
- PRIVATE rb_export_##name##_type name
25
+ INTERN rb_export_##name##_type name
26
26
 
27
27
  #define IMPLEMENT_SYMBOL(name)\
28
- PRIVATE rb_export_##name##_type name = 0;
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)
@@ -30,7 +30,8 @@
30
30
  #include "intern.h"
31
31
  #include "dvector_intern.h"
32
32
 
33
- #include <symbols.h>
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);
@@ -34,14 +34,18 @@
34
34
  */
35
35
 
36
36
  #ifdef __APPLE__
37
- # define PRIVATE __private_extern__
37
+ # define INTERN __private_extern__
38
38
  # define PUBLIC
39
39
  #elif __GNUC__ >= 4 /* we have the visibility attribute */
40
- # define PRIVATE __attribute__ ((visibility ("hidden")))
40
+ # define INTERN __attribute__ ((visibility ("hidden")))
41
41
  # define PUBLIC __attribute__ ((visibility ("default")))
42
42
  #else /* not really good */
43
- # define PRIVATE
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
@@ -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
- PRIVATE rb_export_##name##_type name
25
+ INTERN rb_export_##name##_type name
26
26
 
27
27
  #define IMPLEMENT_SYMBOL(name)\
28
- PRIVATE rb_export_##name##_type name = 0;
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/Flate/flate.c CHANGED
@@ -1,7 +1,8 @@
1
1
  /* flate.c -- main file for Ruby extension
2
2
  */
3
3
 
4
- #include <symbols.h>
4
+ #include "../symbols.h"
5
+ #include "../symbols.c"
5
6
  #include "zlib.h"
6
7
  #include "flate_intern.h"
7
8
  /*