crmf 0.1.1 → 0.1.3

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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -0
  3. data/crmf.gemspec +105 -3
  4. data/ext/crlibm-1.0beta5/AUTHORS +2 -0
  5. data/ext/crlibm-1.0beta5/CMakeLists.txt +154 -0
  6. data/ext/crlibm-1.0beta5/COPYING +340 -0
  7. data/ext/crlibm-1.0beta5/COPYING.LIB +504 -0
  8. data/ext/crlibm-1.0beta5/ChangeLog +125 -0
  9. data/ext/crlibm-1.0beta5/Makefile.am +134 -0
  10. data/ext/crlibm-1.0beta5/NEWS +0 -0
  11. data/ext/crlibm-1.0beta5/README +31 -0
  12. data/ext/crlibm-1.0beta5/README.DEV +23 -0
  13. data/ext/crlibm-1.0beta5/README.md +5 -0
  14. data/ext/crlibm-1.0beta5/TODO +66 -0
  15. data/ext/crlibm-1.0beta5/VERSION +1 -0
  16. data/ext/crlibm-1.0beta5/acos-td.c +1195 -0
  17. data/ext/crlibm-1.0beta5/acos-td.h +629 -0
  18. data/ext/crlibm-1.0beta5/asin-td.c +1297 -0
  19. data/ext/crlibm-1.0beta5/asin-td.h +620 -0
  20. data/ext/crlibm-1.0beta5/asincos.c +4488 -0
  21. data/ext/crlibm-1.0beta5/asincos.h +575 -0
  22. data/ext/crlibm-1.0beta5/atan-itanium.c +846 -0
  23. data/ext/crlibm-1.0beta5/atan-pentium.c +280 -0
  24. data/ext/crlibm-1.0beta5/atan-pentium.h +343 -0
  25. data/ext/crlibm-1.0beta5/atan_accurate.c +341 -0
  26. data/ext/crlibm-1.0beta5/atan_accurate.h +198 -0
  27. data/ext/crlibm-1.0beta5/atan_fast.c +506 -0
  28. data/ext/crlibm-1.0beta5/atan_fast.h +680 -0
  29. data/ext/crlibm-1.0beta5/configure.ac +419 -0
  30. data/ext/crlibm-1.0beta5/crlibm.h +204 -0
  31. data/ext/crlibm-1.0beta5/crlibm.spec +42 -0
  32. data/ext/crlibm-1.0beta5/crlibm_private.c +397 -0
  33. data/ext/crlibm-1.0beta5/crlibm_private.h +1048 -0
  34. data/ext/crlibm-1.0beta5/csh_fast.c +721 -0
  35. data/ext/crlibm-1.0beta5/csh_fast.h +771 -0
  36. data/ext/crlibm-1.0beta5/double-extended.h +496 -0
  37. data/ext/crlibm-1.0beta5/exp-itanium.c +723 -0
  38. data/ext/crlibm-1.0beta5/exp-td-standalone.c +87 -0
  39. data/ext/crlibm-1.0beta5/exp-td.c +1363 -0
  40. data/ext/crlibm-1.0beta5/exp-td.h +685 -0
  41. data/ext/crlibm-1.0beta5/exp_build_coeffs/exp_fast_table.c +125 -0
  42. data/ext/crlibm-1.0beta5/expm1-standalone.c +119 -0
  43. data/ext/crlibm-1.0beta5/expm1.c +2515 -0
  44. data/ext/crlibm-1.0beta5/expm1.h +715 -0
  45. data/ext/crlibm-1.0beta5/interval.h +238 -0
  46. data/ext/crlibm-1.0beta5/log-de.c +480 -0
  47. data/ext/crlibm-1.0beta5/log-de.h +747 -0
  48. data/ext/crlibm-1.0beta5/log-de2.c +280 -0
  49. data/ext/crlibm-1.0beta5/log-de2.h +2352 -0
  50. data/ext/crlibm-1.0beta5/log-td.c +1158 -0
  51. data/ext/crlibm-1.0beta5/log-td.h +819 -0
  52. data/ext/crlibm-1.0beta5/log.c +2244 -0
  53. data/ext/crlibm-1.0beta5/log.h +1592 -0
  54. data/ext/crlibm-1.0beta5/log10-td.c +906 -0
  55. data/ext/crlibm-1.0beta5/log10-td.h +823 -0
  56. data/ext/crlibm-1.0beta5/log1p.c +1295 -0
  57. data/ext/crlibm-1.0beta5/log2-td.c +1521 -0
  58. data/ext/crlibm-1.0beta5/log2-td.h +821 -0
  59. data/ext/crlibm-1.0beta5/log2_accurate.c +330 -0
  60. data/ext/crlibm-1.0beta5/log2_accurate.h +261 -0
  61. data/ext/crlibm-1.0beta5/log_accurate.c +133 -0
  62. data/ext/crlibm-1.0beta5/log_accurate.h +261 -0
  63. data/ext/crlibm-1.0beta5/log_fast.c +360 -0
  64. data/ext/crlibm-1.0beta5/log_fast.h +440 -0
  65. data/ext/crlibm-1.0beta5/pow.c +1396 -0
  66. data/ext/crlibm-1.0beta5/pow.h +3101 -0
  67. data/ext/crlibm-1.0beta5/prepare +20 -0
  68. data/ext/crlibm-1.0beta5/rem_pio2_accurate.c +219 -0
  69. data/ext/crlibm-1.0beta5/rem_pio2_accurate.h +53 -0
  70. data/ext/crlibm-1.0beta5/scs_lib/AUTHORS +3 -0
  71. data/ext/crlibm-1.0beta5/scs_lib/COPYING +504 -0
  72. data/ext/crlibm-1.0beta5/scs_lib/ChangeLog +16 -0
  73. data/ext/crlibm-1.0beta5/scs_lib/Doxyfile.dev +939 -0
  74. data/ext/crlibm-1.0beta5/scs_lib/Doxyfile.user +939 -0
  75. data/ext/crlibm-1.0beta5/scs_lib/INSTALL +215 -0
  76. data/ext/crlibm-1.0beta5/scs_lib/Makefile.am +17 -0
  77. data/ext/crlibm-1.0beta5/scs_lib/NEWS +0 -0
  78. data/ext/crlibm-1.0beta5/scs_lib/README +9 -0
  79. data/ext/crlibm-1.0beta5/scs_lib/README.DEV +38 -0
  80. data/ext/crlibm-1.0beta5/scs_lib/TODO +4 -0
  81. data/ext/crlibm-1.0beta5/scs_lib/VERSION +1 -0
  82. data/ext/crlibm-1.0beta5/scs_lib/addition_scs.c +623 -0
  83. data/ext/crlibm-1.0beta5/scs_lib/division_scs.c +110 -0
  84. data/ext/crlibm-1.0beta5/scs_lib/double2scs.c +174 -0
  85. data/ext/crlibm-1.0beta5/scs_lib/main.dox +104 -0
  86. data/ext/crlibm-1.0beta5/scs_lib/multiplication_scs.c +339 -0
  87. data/ext/crlibm-1.0beta5/scs_lib/poly_fct.c +112 -0
  88. data/ext/crlibm-1.0beta5/scs_lib/print_scs.c +73 -0
  89. data/ext/crlibm-1.0beta5/scs_lib/rand_scs.c +63 -0
  90. data/ext/crlibm-1.0beta5/scs_lib/scs.h +353 -0
  91. data/ext/crlibm-1.0beta5/scs_lib/scs2double.c +411 -0
  92. data/ext/crlibm-1.0beta5/scs_lib/scs2mpf.c +58 -0
  93. data/ext/crlibm-1.0beta5/scs_lib/scs2mpfr.c +61 -0
  94. data/ext/crlibm-1.0beta5/scs_lib/scs_private.c +23 -0
  95. data/ext/crlibm-1.0beta5/scs_lib/scs_private.h +133 -0
  96. data/ext/crlibm-1.0beta5/scs_lib/wrapper_scs.h +486 -0
  97. data/ext/crlibm-1.0beta5/scs_lib/zero_scs.c +52 -0
  98. data/ext/crlibm-1.0beta5/trigo_accurate.c +501 -0
  99. data/ext/crlibm-1.0beta5/trigo_accurate.h +331 -0
  100. data/ext/crlibm-1.0beta5/trigo_fast.c +1243 -0
  101. data/ext/crlibm-1.0beta5/trigo_fast.h +639 -0
  102. data/ext/crlibm-1.0beta5/trigpi.c +1169 -0
  103. data/ext/crlibm-1.0beta5/trigpi.h +556 -0
  104. data/ext/crlibm-1.0beta5/triple-double.c +57 -0
  105. data/ext/crlibm-1.0beta5/triple-double.h +1380 -0
  106. data/ext/crmf/crmf.c +117 -20
  107. data/ext/crmf/extconf.rb +12 -8
  108. data/lib/crmf/version.rb +1 -1
  109. data/tests/perf.rb +100 -219
  110. metadata +108 -10
  111. data/ext/crlibm-1.0beta4.tar.gz +0 -0
@@ -0,0 +1,215 @@
1
+ Basic Installation
2
+ ==================
3
+
4
+ Thank you for reporting installation problems to scslib@ens-lyon.fr
5
+
6
+ Simple installation:
7
+ ./configure
8
+ make
9
+ make install
10
+
11
+ More advanced installation:
12
+ try
13
+ ./configure --help
14
+ for the compile-time options
15
+
16
+
17
+ Installation question specific to scslib:
18
+
19
+ * to change the precision of the library, use
20
+ ./configure --enable-nbdigits=10 --enable-digitsize=30
21
+ The guaranteed precision is digitsize*(nbdigits-1) bits.
22
+ The nbdigits and digitsize should be such that
23
+ nbdigits<2^(64-2*digitsize)
24
+ Some day it will be checked by the configure script
25
+
26
+ * to link against GMP/MPFR (not mandatory but used to test the
27
+ library, notably if you changed the default precision) : use
28
+ ./configure --enable-mpfr
29
+ You need to have mpfr installed, which is a full piece of poetry by
30
+ itself. You may need to specify its installation directory,
31
+ typically by
32
+ ./configure --enable-mpfr --with-gmp=/usr/local --with-mpfr=/usr/local
33
+
34
+
35
+
36
+
37
+ Here are generic installation instructions.
38
+
39
+ The `configure' shell script attempts to guess correct values for
40
+ various system-dependent variables used during compilation. It uses
41
+ those values to create a `Makefile' in each directory of the package.
42
+ It may also create one or more `.h' files containing system-dependent
43
+ definitions. Finally, it creates a shell scsript `config.status' that
44
+ you can run in the future to recreate the current configuration, a file
45
+ `config.cache' that saves the results of its tests to speed up
46
+ reconfiguring, and a file `config.log' containing compiler output
47
+ (useful mainly for debugging `configure').
48
+
49
+ If you need to do unusual things to compile the package, please try
50
+ to figure out how `configure' could check whether to do them, and mail
51
+ diffs or instructions to the address given in the `README' so they can
52
+ be considered for the next release. If at some point `config.cache'
53
+ contains results you don't want to keep, you may remove or edit it.
54
+
55
+ The file `configure.in' is used to create `configure' by a program
56
+ called `autoconf'. You only need `configure.in' if you want to change
57
+ it or regenerate `configure' using a newer version of `autoconf'.
58
+
59
+ The simplest way to compile this package is:
60
+
61
+ 1. `cd' to the directory containing the package's source code and type
62
+ `./configure' to configure the package for your system. If you're
63
+ using `csh' on an old version of System V, you might need to type
64
+ `sh ./configure' instead to prevent `csh' from trying to execute
65
+ `configure' itself.
66
+
67
+ Running `configure' takes awhile. While running, it prints some
68
+ messages telling which features it is checking for.
69
+
70
+ 2. Type `make' to compile the package.
71
+
72
+ 3. Optionally, type `make check' to run any self-tests that come with
73
+ the package.
74
+
75
+ 4. Type `make install' to install the programs and any data files and
76
+ documentation.
77
+
78
+ 5. You can remove the program binaries and object files from the
79
+ source code directory by typing `make clean'. To also remove the
80
+ files that `configure' created (so you can compile the package for
81
+ a different kind of computer), type `make distclean'. There is
82
+ also a `make maintainer-clean' target, but that is intended mainly
83
+ for the package's developers. If you use it, you may have to get
84
+ all sorts of other programs in order to regenerate files that came
85
+ with the distribution.
86
+
87
+ Compilers and Options
88
+ =====================
89
+
90
+ Some systems require unusual options for compilation or linking that
91
+ the `configure' scsript does not know about. You can give `configure'
92
+ initial values for variables by setting them in the environment. Using
93
+ a Bourne-compatible shell, you can do that on the command line like
94
+ this:
95
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
96
+
97
+ Or on systems that have the `env' program, you can do it like this:
98
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
99
+
100
+ Compiling For Multiple Architectures
101
+ ====================================
102
+
103
+ You can compile the package for more than one kind of computer at the
104
+ same time, by placing the object files for each architecture in their
105
+ own directory. To do this, you must use a version of `make' that
106
+ supports the `VPATH' variable, such as GNU `make'. `cd' to the
107
+ directory where you want the object files and executables to go and run
108
+ the `configure' scsript. `configure' automatically checks for the
109
+ source code in the directory that `configure' is in and in `..'.
110
+
111
+ If you have to use a `make' that does not supports the `VPATH'
112
+ variable, you have to compile the package for one architecture at a time
113
+ in the source code directory. After you have installed the package for
114
+ one architecture, use `make distclean' before reconfiguring for another
115
+ architecture.
116
+
117
+ Installation Names
118
+ ==================
119
+
120
+ By default, `make install' will install the package's files in
121
+ `/usr/local/bin', `/usr/local/man', etc. You can specify an
122
+ installation prefix other than `/usr/local' by giving `configure' the
123
+ option `--prefix=PATH'.
124
+
125
+ You can specify separate installation prefixes for
126
+ architecture-specific files and architecture-independent files. If you
127
+ give `configure' the option `--exec-prefix=PATH', the package will use
128
+ PATH as the prefix for installing programs and libraries.
129
+ Documentation and other data files will still use the regular prefix.
130
+
131
+ In addition, if you use an unusual directory layout you can give
132
+ options like `--bindir=PATH' to specify different values for particular
133
+ kinds of files. Run `configure --help' for a list of the directories
134
+ you can set and what kinds of files go in them.
135
+
136
+ If the package supports it, you can cause programs to be installed
137
+ with an extra prefix or suffix on their names by giving `configure' the
138
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
139
+
140
+ Optional Features
141
+ =================
142
+
143
+ Some packages pay attention to `--enable-FEATURE' options to
144
+ `configure', where FEATURE indicates an optional part of the package.
145
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
146
+ is something like `gnu-as' or `x' (for the X Window System). The
147
+ `README' should mention any `--enable-' and `--with-' options that the
148
+ package recognizes.
149
+
150
+ For packages that use the X Window System, `configure' can usually
151
+ find the X include and library files automatically, but if it doesn't,
152
+ you can use the `configure' options `--x-includes=DIR' and
153
+ `--x-libraries=DIR' to specify their locations.
154
+
155
+ Specifying the System Type
156
+ ==========================
157
+
158
+ There may be some features `configure' can not figure out
159
+ automatically, but needs to determine by the type of host the package
160
+ will run on. Usually `configure' can figure that out, but if it prints
161
+ a message saying it can not guess the host type, give it the
162
+ `--host=TYPE' option. TYPE can either be a short name for the system
163
+ type, such as `sun4', or a canonical name with three fields:
164
+ CPU-COMPANY-SYSTEM
165
+
166
+ See the file `config.sub' for the possible values of each field. If
167
+ `config.sub' isn't included in this package, then this package doesn't
168
+ need to know the host type.
169
+
170
+ If you are building compiler tools for cross-compiling, you can also
171
+ use the `--target=TYPE' option to select the type of system they will
172
+ produce code for and the `--build=TYPE' option to select the type of
173
+ system on which you are compiling the package.
174
+
175
+ Sharing Defaults
176
+ ================
177
+
178
+ If you want to set default values for `configure' scsripts to share,
179
+ you can create a site shell scsript called `config.site' that gives
180
+ default values for variables like `CC', `cache_file', and `prefix'.
181
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
182
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
183
+ `CONFIG_SITE' environment variable to the location of the site scsript.
184
+ A warning: not all `configure' scsripts look for a site scsript.
185
+
186
+ Operation Controls
187
+ ==================
188
+
189
+ `configure' recognizes the following options to control how it
190
+ operates.
191
+
192
+ `--cache-file=FILE'
193
+ Use and save the results of the tests in FILE instead of
194
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
195
+ debugging `configure'.
196
+
197
+ `--help'
198
+ Print a summary of the options to `configure', and exit.
199
+
200
+ `--quiet'
201
+ `--silent'
202
+ `-q'
203
+ Do not print messages saying which checks are being made. To
204
+ suppress all normal output, redirect it to `/dev/null' (any error
205
+ messages will still be shown).
206
+
207
+ `--srcdir=DIR'
208
+ Look for the package's source code in directory DIR. Usually
209
+ `configure' can determine that directory automatically.
210
+
211
+ `--version'
212
+ Print the version of Autoconf used to generate the `configure'
213
+ scsript, and exit.
214
+
215
+ `configure' also accepts some other, not widely useful, options.
@@ -0,0 +1,17 @@
1
+ ## Process this file with automake to produce Makefile.in
2
+
3
+
4
+ lib_LIBRARIES = libscs.a
5
+ INCLUDES=-I$(top_srcdir)
6
+
7
+
8
+ libscs_a_SOURCES = scs.h scs_private.h scs_private.c \
9
+ double2scs.c print_scs.c \
10
+ division_scs.c\
11
+ addition_scs.c multiplication_scs.c\
12
+ scs2double.c zero_scs.c \
13
+ scs2mpfr.c
14
+
15
+
16
+ include_HEADERS = scs.h ../crlibm_config.h
17
+
File without changes
@@ -0,0 +1,9 @@
1
+ scslib, the Software Carry-Save multiple-precision library
2
+
3
+ Authors: David Defour, Catherine Daramy, Florent de Dinechin
4
+
5
+
6
+ See the Docs directory for a detailed description and installation
7
+ instructions.
8
+
9
+ See the DocsDev directory for developer documentation.
@@ -0,0 +1,38 @@
1
+ Toute la doc est dans les pages info.
2
+
3
+ Les seuls fichiers que j'ai écrits moi-même sont configure.in et Makefile.am
4
+
5
+ Les commandes à taper la première fois après le cvs checkout sont
6
+ (dans l'ordre)
7
+
8
+ aclocal
9
+ autoheader
10
+ autoconf
11
+ automake --add-missing
12
+ ./configure
13
+
14
+
15
+
16
+ Pour faire la doc:
17
+ doxygen Doxyfile.user
18
+ doxygen Doxyfile.dev
19
+ puis aller dans le répertoires latex de Docs et faire
20
+ cd Docs/latex/
21
+ pdflatex refman.tex
22
+ (deux fois pour les références)
23
+
24
+ Pour enlever un peu du bordel d'autoconf:
25
+ make distclean
26
+
27
+ Pour exporter :
28
+
29
+ make dist
30
+
31
+ Remarque : sur mon debian woody l'autoconf de service est trop vieux,
32
+ il faut utiliser la commande autoconf2.50 ...
33
+
34
+ Remarque du meme genre: si on fait make dist sous solaris le truc
35
+ marche sous linux, mais l'inverse n'est pas vrai (--add-missing ajoute
36
+ plus de trucs sous solaris).
37
+ Super portable tout cela.
38
+
@@ -0,0 +1,4 @@
1
+ (in order of importance/priority)
2
+ Fix the number of iterations in the division
3
+ Check the precision in the configure script
4
+ Add back SPARC optimisations
@@ -0,0 +1 @@
1
+ 1.4.1