intervals 0.3.56

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/VERSION.txt +1 -0
  2. data/ext/crlibm/AUTHORS +2 -0
  3. data/ext/crlibm/COPYING +504 -0
  4. data/ext/crlibm/ChangeLog +80 -0
  5. data/ext/crlibm/INSTALL +182 -0
  6. data/ext/crlibm/Makefile.am +84 -0
  7. data/ext/crlibm/Makefile.in +530 -0
  8. data/ext/crlibm/NEWS +0 -0
  9. data/ext/crlibm/README +31 -0
  10. data/ext/crlibm/TODO +47 -0
  11. data/ext/crlibm/VERSION +1 -0
  12. data/ext/crlibm/aclocal.m4 +989 -0
  13. data/ext/crlibm/atan-itanium.c +846 -0
  14. data/ext/crlibm/atan-pentium.c +261 -0
  15. data/ext/crlibm/atan_accurate.c +244 -0
  16. data/ext/crlibm/atan_accurate.h +191 -0
  17. data/ext/crlibm/atan_fast.c +324 -0
  18. data/ext/crlibm/atan_fast.h +678 -0
  19. data/ext/crlibm/config.guess +1461 -0
  20. data/ext/crlibm/config.sub +1566 -0
  21. data/ext/crlibm/configure +7517 -0
  22. data/ext/crlibm/configure.ac +364 -0
  23. data/ext/crlibm/crlibm.h +125 -0
  24. data/ext/crlibm/crlibm_config.h +149 -0
  25. data/ext/crlibm/crlibm_config.h.in +148 -0
  26. data/ext/crlibm/crlibm_private.c +293 -0
  27. data/ext/crlibm/crlibm_private.h +658 -0
  28. data/ext/crlibm/csh_fast.c +631 -0
  29. data/ext/crlibm/csh_fast.h +771 -0
  30. data/ext/crlibm/double-extended.h +496 -0
  31. data/ext/crlibm/exp-td.c +962 -0
  32. data/ext/crlibm/exp-td.h +685 -0
  33. data/ext/crlibm/exp_accurate.c +197 -0
  34. data/ext/crlibm/exp_accurate.h +85 -0
  35. data/ext/crlibm/gappa/log-de-E0-logir0.gappa +106 -0
  36. data/ext/crlibm/gappa/log-de-E0.gappa +79 -0
  37. data/ext/crlibm/gappa/log-de.gappa +81 -0
  38. data/ext/crlibm/gappa/log-td-E0-logir0.gappa +126 -0
  39. data/ext/crlibm/gappa/log-td-E0.gappa +143 -0
  40. data/ext/crlibm/gappa/log-td-accurate-E0-logir0.gappa +230 -0
  41. data/ext/crlibm/gappa/log-td-accurate-E0.gappa +213 -0
  42. data/ext/crlibm/gappa/log-td-accurate.gappa +217 -0
  43. data/ext/crlibm/gappa/log-td.gappa +156 -0
  44. data/ext/crlibm/gappa/trigoSinCosCase3.gappa +204 -0
  45. data/ext/crlibm/gappa/trigoTanCase2.gappa +73 -0
  46. data/ext/crlibm/install-sh +269 -0
  47. data/ext/crlibm/log-de.c +431 -0
  48. data/ext/crlibm/log-de.h +732 -0
  49. data/ext/crlibm/log-td.c +852 -0
  50. data/ext/crlibm/log-td.h +819 -0
  51. data/ext/crlibm/log10-td.c +906 -0
  52. data/ext/crlibm/log10-td.h +823 -0
  53. data/ext/crlibm/log2-td.c +935 -0
  54. data/ext/crlibm/log2-td.h +821 -0
  55. data/ext/crlibm/maple/atan.mpl +359 -0
  56. data/ext/crlibm/maple/common-procedures.mpl +997 -0
  57. data/ext/crlibm/maple/csh.mpl +446 -0
  58. data/ext/crlibm/maple/double-extended.mpl +151 -0
  59. data/ext/crlibm/maple/exp-td.mpl +195 -0
  60. data/ext/crlibm/maple/log-de.mpl +243 -0
  61. data/ext/crlibm/maple/log-td.mpl +316 -0
  62. data/ext/crlibm/maple/log10-td.mpl +345 -0
  63. data/ext/crlibm/maple/log2-td.mpl +334 -0
  64. data/ext/crlibm/maple/trigo.mpl +728 -0
  65. data/ext/crlibm/maple/triple-double.mpl +58 -0
  66. data/ext/crlibm/missing +198 -0
  67. data/ext/crlibm/mkinstalldirs +40 -0
  68. data/ext/crlibm/rem_pio2_accurate.c +219 -0
  69. data/ext/crlibm/rem_pio2_accurate.h +53 -0
  70. data/ext/crlibm/scs_lib/AUTHORS +3 -0
  71. data/ext/crlibm/scs_lib/COPYING +504 -0
  72. data/ext/crlibm/scs_lib/ChangeLog +16 -0
  73. data/ext/crlibm/scs_lib/INSTALL +215 -0
  74. data/ext/crlibm/scs_lib/Makefile.am +18 -0
  75. data/ext/crlibm/scs_lib/Makefile.in +328 -0
  76. data/ext/crlibm/scs_lib/NEWS +0 -0
  77. data/ext/crlibm/scs_lib/README +9 -0
  78. data/ext/crlibm/scs_lib/TODO +4 -0
  79. data/ext/crlibm/scs_lib/addition_scs.c +623 -0
  80. data/ext/crlibm/scs_lib/config.guess +1461 -0
  81. data/ext/crlibm/scs_lib/config.sub +1566 -0
  82. data/ext/crlibm/scs_lib/configure +6226 -0
  83. data/ext/crlibm/scs_lib/division_scs.c +110 -0
  84. data/ext/crlibm/scs_lib/double2scs.c +174 -0
  85. data/ext/crlibm/scs_lib/install-sh +269 -0
  86. data/ext/crlibm/scs_lib/missing +198 -0
  87. data/ext/crlibm/scs_lib/mkinstalldirs +40 -0
  88. data/ext/crlibm/scs_lib/multiplication_scs.c +456 -0
  89. data/ext/crlibm/scs_lib/poly_fct.c +112 -0
  90. data/ext/crlibm/scs_lib/print_scs.c +73 -0
  91. data/ext/crlibm/scs_lib/rand_scs.c +63 -0
  92. data/ext/crlibm/scs_lib/scs.h +353 -0
  93. data/ext/crlibm/scs_lib/scs2double.c +391 -0
  94. data/ext/crlibm/scs_lib/scs2mpf.c +58 -0
  95. data/ext/crlibm/scs_lib/scs2mpfr.c +61 -0
  96. data/ext/crlibm/scs_lib/scs_private.c +23 -0
  97. data/ext/crlibm/scs_lib/scs_private.h +133 -0
  98. data/ext/crlibm/scs_lib/tests/tbx_timing.h +102 -0
  99. data/ext/crlibm/scs_lib/wrapper_scs.h +486 -0
  100. data/ext/crlibm/scs_lib/zero_scs.c +52 -0
  101. data/ext/crlibm/stamp-h.in +1 -0
  102. data/ext/crlibm/tests/Makefile.am +43 -0
  103. data/ext/crlibm/tests/Makefile.in +396 -0
  104. data/ext/crlibm/tests/blind_test.c +148 -0
  105. data/ext/crlibm/tests/generate_test_vectors.c +258 -0
  106. data/ext/crlibm/tests/soak_test.c +334 -0
  107. data/ext/crlibm/tests/test_common.c +627 -0
  108. data/ext/crlibm/tests/test_common.h +28 -0
  109. data/ext/crlibm/tests/test_perf.c +570 -0
  110. data/ext/crlibm/tests/test_val.c +249 -0
  111. data/ext/crlibm/trigo_accurate.c +500 -0
  112. data/ext/crlibm/trigo_accurate.h +331 -0
  113. data/ext/crlibm/trigo_fast.c +1219 -0
  114. data/ext/crlibm/trigo_fast.h +639 -0
  115. data/ext/crlibm/triple-double.h +878 -0
  116. data/ext/extconf.rb +31 -0
  117. data/ext/fpu.c +107 -0
  118. data/ext/jamis-mod.rb +591 -0
  119. data/lib/fpu.rb +287 -0
  120. data/lib/interval.rb +1170 -0
  121. data/lib/intervals.rb +212 -0
  122. data/lib/struct_float.rb +133 -0
  123. data/test/data_atan.txt +360 -0
  124. data/test/data_cos.txt +346 -0
  125. data/test/data_cosh.txt +3322 -0
  126. data/test/data_exp.txt +3322 -0
  127. data/test/data_log.txt +141 -0
  128. data/test/data_sin.txt +140 -0
  129. data/test/data_sinh.txt +3322 -0
  130. data/test/data_tan.txt +342 -0
  131. metadata +186 -0
@@ -0,0 +1,182 @@
1
+ Basic Installation
2
+ ==================
3
+
4
+ These are generic installation instructions.
5
+
6
+ The `configure' shell script attempts to guess correct values for
7
+ various system-dependent variables used during compilation. It uses
8
+ those values to create a `Makefile' in each directory of the package.
9
+ It may also create one or more `.h' files containing system-dependent
10
+ definitions. Finally, it creates a shell script `config.status' that
11
+ you can run in the future to recreate the current configuration, a file
12
+ `config.cache' that saves the results of its tests to speed up
13
+ reconfiguring, and a file `config.log' containing compiler output
14
+ (useful mainly for debugging `configure').
15
+
16
+ If you need to do unusual things to compile the package, please try
17
+ to figure out how `configure' could check whether to do them, and mail
18
+ diffs or instructions to the address given in the `README' so they can
19
+ be considered for the next release. If at some point `config.cache'
20
+ contains results you don't want to keep, you may remove or edit it.
21
+
22
+ The file `configure.in' is used to create `configure' by a program
23
+ called `autoconf'. You only need `configure.in' if you want to change
24
+ it or regenerate `configure' using a newer version of `autoconf'.
25
+
26
+ The simplest way to compile this package is:
27
+
28
+ 1. `cd' to the directory containing the package's source code and type
29
+ `./configure' to configure the package for your system. If you're
30
+ using `csh' on an old version of System V, you might need to type
31
+ `sh ./configure' instead to prevent `csh' from trying to execute
32
+ `configure' itself.
33
+
34
+ Running `configure' takes awhile. While running, it prints some
35
+ messages telling which features it is checking for.
36
+
37
+ 2. Type `make' to compile the package.
38
+
39
+ 3. Optionally, type `make check' to run any self-tests that come with
40
+ the package.
41
+
42
+ 4. Type `make install' to install the programs and any data files and
43
+ documentation.
44
+
45
+ 5. You can remove the program binaries and object files from the
46
+ source code directory by typing `make clean'. To also remove the
47
+ files that `configure' created (so you can compile the package for
48
+ a different kind of computer), type `make distclean'. There is
49
+ also a `make maintainer-clean' target, but that is intended mainly
50
+ for the package's developers. If you use it, you may have to get
51
+ all sorts of other programs in order to regenerate files that came
52
+ with the distribution.
53
+
54
+ Compilers and Options
55
+ =====================
56
+
57
+ Some systems require unusual options for compilation or linking that
58
+ the `configure' script does not know about. You can give `configure'
59
+ initial values for variables by setting them in the environment. Using
60
+ a Bourne-compatible shell, you can do that on the command line like
61
+ this:
62
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
63
+
64
+ Or on systems that have the `env' program, you can do it like this:
65
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
66
+
67
+ Compiling For Multiple Architectures
68
+ ====================================
69
+
70
+ You can compile the package for more than one kind of computer at the
71
+ same time, by placing the object files for each architecture in their
72
+ own directory. To do this, you must use a version of `make' that
73
+ supports the `VPATH' variable, such as GNU `make'. `cd' to the
74
+ directory where you want the object files and executables to go and run
75
+ the `configure' script. `configure' automatically checks for the
76
+ source code in the directory that `configure' is in and in `..'.
77
+
78
+ If you have to use a `make' that does not supports the `VPATH'
79
+ variable, you have to compile the package for one architecture at a time
80
+ in the source code directory. After you have installed the package for
81
+ one architecture, use `make distclean' before reconfiguring for another
82
+ architecture.
83
+
84
+ Installation Names
85
+ ==================
86
+
87
+ By default, `make install' will install the package's files in
88
+ `/usr/local/bin', `/usr/local/man', etc. You can specify an
89
+ installation prefix other than `/usr/local' by giving `configure' the
90
+ option `--prefix=PATH'.
91
+
92
+ You can specify separate installation prefixes for
93
+ architecture-specific files and architecture-independent files. If you
94
+ give `configure' the option `--exec-prefix=PATH', the package will use
95
+ PATH as the prefix for installing programs and libraries.
96
+ Documentation and other data files will still use the regular prefix.
97
+
98
+ In addition, if you use an unusual directory layout you can give
99
+ options like `--bindir=PATH' to specify different values for particular
100
+ kinds of files. Run `configure --help' for a list of the directories
101
+ you can set and what kinds of files go in them.
102
+
103
+ If the package supports it, you can cause programs to be installed
104
+ with an extra prefix or suffix on their names by giving `configure' the
105
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
106
+
107
+ Optional Features
108
+ =================
109
+
110
+ Some packages pay attention to `--enable-FEATURE' options to
111
+ `configure', where FEATURE indicates an optional part of the package.
112
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
113
+ is something like `gnu-as' or `x' (for the X Window System). The
114
+ `README' should mention any `--enable-' and `--with-' options that the
115
+ package recognizes.
116
+
117
+ For packages that use the X Window System, `configure' can usually
118
+ find the X include and library files automatically, but if it doesn't,
119
+ you can use the `configure' options `--x-includes=DIR' and
120
+ `--x-libraries=DIR' to specify their locations.
121
+
122
+ Specifying the System Type
123
+ ==========================
124
+
125
+ There may be some features `configure' can not figure out
126
+ automatically, but needs to determine by the type of host the package
127
+ will run on. Usually `configure' can figure that out, but if it prints
128
+ a message saying it can not guess the host type, give it the
129
+ `--host=TYPE' option. TYPE can either be a short name for the system
130
+ type, such as `sun4', or a canonical name with three fields:
131
+ CPU-COMPANY-SYSTEM
132
+
133
+ See the file `config.sub' for the possible values of each field. If
134
+ `config.sub' isn't included in this package, then this package doesn't
135
+ need to know the host type.
136
+
137
+ If you are building compiler tools for cross-compiling, you can also
138
+ use the `--target=TYPE' option to select the type of system they will
139
+ produce code for and the `--build=TYPE' option to select the type of
140
+ system on which you are compiling the package.
141
+
142
+ Sharing Defaults
143
+ ================
144
+
145
+ If you want to set default values for `configure' scripts to share,
146
+ you can create a site shell script called `config.site' that gives
147
+ default values for variables like `CC', `cache_file', and `prefix'.
148
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
149
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
150
+ `CONFIG_SITE' environment variable to the location of the site script.
151
+ A warning: not all `configure' scripts look for a site script.
152
+
153
+ Operation Controls
154
+ ==================
155
+
156
+ `configure' recognizes the following options to control how it
157
+ operates.
158
+
159
+ `--cache-file=FILE'
160
+ Use and save the results of the tests in FILE instead of
161
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
162
+ debugging `configure'.
163
+
164
+ `--help'
165
+ Print a summary of the options to `configure', and exit.
166
+
167
+ `--quiet'
168
+ `--silent'
169
+ `-q'
170
+ Do not print messages saying which checks are being made. To
171
+ suppress all normal output, redirect it to `/dev/null' (any error
172
+ messages will still be shown).
173
+
174
+ `--srcdir=DIR'
175
+ Look for the package's source code in directory DIR. Usually
176
+ `configure' can determine that directory automatically.
177
+
178
+ `--version'
179
+ Print the version of Autoconf used to generate the `configure'
180
+ script, and exit.
181
+
182
+ `configure' also accepts some other, not widely useful, options.
@@ -0,0 +1,84 @@
1
+ ## Process this file with automake to produce Makefile.in
2
+
3
+ lib_LIBRARIES = libcrlibm.a
4
+
5
+ # shared libraries need libtool. We'll do it later.
6
+ #lib_LTLIBRARIES = libcrlibm.la
7
+
8
+
9
+ # removed as of 0.10
10
+ # log_fast.c log_fast.h log_accurate.h log_accurate.c
11
+ # exp_fast.h exp_fast.c exp_accurate.h exp_accurate.c
12
+ # log10_accurate.h log10_accurate.c
13
+ # log2_accurate.h log2_accurate.c
14
+
15
+ # IMPORTANT: be sure that the extra_dist below includes all files for both alternatives
16
+
17
+ if USE_HARDWARE_DE
18
+ libcrlibm_a_SOURCES = \
19
+ crlibm.h crlibm_private.h crlibm_private.c double-extended.h\
20
+ exp-td.h exp-td.c \
21
+ log-de.c log-de.h \
22
+ log10-td.h log10-td.c \
23
+ log2-td.h log2-td.c \
24
+ rem_pio2_accurate.h rem_pio2_accurate.c \
25
+ trigo_fast.c trigo_fast.h trigo_accurate.c trigo_accurate.h \
26
+ atan_fast.c atan_fast.h atan_accurate.h atan_accurate.c \
27
+ csh_fast.h csh_fast.c exp_accurate.h exp_accurate.c
28
+ else
29
+ libcrlibm_a_SOURCES = \
30
+ crlibm.h crlibm_private.h crlibm_private.c triple-double.h\
31
+ exp-td.h exp-td.c \
32
+ log-td.c log-td.h \
33
+ log10-td.h log10-td.c \
34
+ log2-td.h log2-td.c \
35
+ rem_pio2_accurate.h rem_pio2_accurate.c \
36
+ trigo_fast.c trigo_fast.h trigo_accurate.c trigo_accurate.h \
37
+ atan_fast.c atan_fast.h atan_accurate.h atan_accurate.c \
38
+ csh_fast.h csh_fast.c exp_accurate.h exp_accurate.c
39
+ endif
40
+
41
+
42
+ # add all the scs_lib useful functions
43
+ libcrlibm_a_LIBADD = scs_lib/scs_private.o scs_lib/addition_scs.o \
44
+ scs_lib/division_scs.o scs_lib/print_scs.o\
45
+ scs_lib/double2scs.o scs_lib/zero_scs.o\
46
+ scs_lib/multiplication_scs.o scs_lib/scs2double.o
47
+
48
+ include_HEADERS = crlibm.h
49
+
50
+ SUBDIRS = scs_lib . tests
51
+
52
+ # Add your compiler here. Default is assumed to be gcc.
53
+ if COMPILER_ICC
54
+ # mp means maintain precision. Should be useless with std=c99, this is an ICC bug
55
+ AM_CFLAGS = -std=c99 -mp -Qoption,cpp,--extended_float_types -IPF_fp_speculationsafe
56
+ else
57
+ AM_CFLAGS = -std=c99 -fPIC -Wall -Wshadow -Wpointer-arith -Wcast-align -Wconversion -Waggregate-return -Wstrict-prototypes -Wnested-externs -Wlong-long -Winline
58
+ endif
59
+
60
+
61
+
62
+ EXTRA_DIST = VERSION TODO\
63
+ docs/crlibm.pdf \
64
+ maple/common-procedures.mpl \
65
+ maple/double-extended.mpl maple/triple-double.mpl\
66
+ maple/exp-td.mpl maple/csh.mpl \
67
+ maple/log-td.mpl maple/log-de.mpl \
68
+ maple/log2-td.mpl maple/log10-td.mpl \
69
+ maple/trigo.mpl maple/atan.mpl \
70
+ gappa/trigoSinCosCase3.gappa gappa/trigoTanCase2.gappa \
71
+ gappa/trigoTanCase2.gappa \
72
+ gappa/trigoSinCosCase3.gappa gappa/trigoTanCase2.gappa \
73
+ gappa/log-de.gappa gappa/log-de-E0.gappa gappa/log-de-E0-logir0.gappa \
74
+ gappa/log-td.gappa gappa/log-td-E0.gappa gappa/log-td-E0-logir0.gappa \
75
+ gappa/log-td-accurate.gappa gappa/log-td-accurate-E0.gappa gappa/log-td-accurate-E0-logir0.gappa \
76
+ docs/latex/crlibm.tex \
77
+ docs/latex/0_intro.tex docs/latex/0_getting-started.tex\
78
+ docs/latex/1_common.tex docs/latex/2_exp.tex docs/latex/3_log.tex\
79
+ docs/latex/4_atan.tex docs/latex/5_csh.tex docs/latex/6_trigo.tex \
80
+ docs/latex/fig_scs docs/latex/fig_exp\
81
+ docs/latex/elem-fun.bib\
82
+ scs_lib/tests/tbx_timing.h \
83
+ log-de.c log-de.h double-extended.h log-td.c log-td.h triple-double.h atan-pentium.c atan-itanium.c
84
+