Juan Jose Garcia Ripoll
|
fb92bca134
|
Fixed typo in prepare_ratio_to_float()
|
2010-12-07 20:11:07 +01:00 |
|
Juan Jose Garcia Ripoll
|
a995a89c1d
|
Fix detection of NaN/inf for platforms without fenv.h
|
2010-12-02 22:46:40 +01:00 |
|
Juan Jose Garcia Ripoll
|
3801f5dfe3
|
Added a new file, impl/math_fenv.h, grouping all definitions related to floating point exceptions and their handling. This is completed with impl/math_fenv_msvc.h with inline definitions of the C99 fenv.h functions for Microsoft's compiler
|
2010-11-09 00:44:12 +01:00 |
|
Juan Jose Garcia Ripoll
|
3b92fb53f0
|
Removed the possibility of building ECL without bignums
|
2010-11-06 16:42:39 +01:00 |
|
Juan Jose Garcia Ripoll
|
cf29412c64
|
Removed init_numbers(), replacing it with static constants in all_symbols.d
|
2010-11-06 00:06:06 +01:00 |
|
Juan Jose Garcia Ripoll
|
0270afbb05
|
Rounding routines ratio_to_double, ratio_to_long_double, were missing code for the situation when the argument is not a fixnum
|
2010-10-03 15:54:29 +02:00 |
|
Juan Jose Garcia Ripoll
|
655809781a
|
Rounding of bignums in ecl_to_double() did not work (GMP truncates).
|
2010-09-27 00:35:02 +02:00 |
|
Juan Jose Garcia Ripoll
|
321356dadf
|
cl_core is now mostly filled statically in main.d
|
2010-08-21 16:31:42 +02:00 |
|
Juan Jose Garcia Ripoll
|
e83bd3dfb4
|
Unboxed type SHORT-FLOAT removed from the core.
|
2010-08-17 19:47:14 +02:00 |
|
Juan Jose Garcia Ripoll
|
0e3b1c389f
|
Replace some more uses of mpz_set_si/ui with _ecl_big_set_fixnum/index
|
2010-08-17 19:47:13 +02:00 |
|
Juan Jose Garcia Ripoll
|
14cf3f7029
|
Replace more uses of cl_cos/sin/... with ecl_cos/sin/..
|
2010-06-20 16:57:21 +02:00 |
|
Juan Jose Garcia Ripoll
|
445d269d6e
|
Use static constants for rational and complexes
|
2010-06-04 16:39:51 +02:00 |
|
Juan Jose Garcia Ripoll
|
fe56a0c5a9
|
In number.d we use ecl_def_ct* instead of allocating the floating point numbers at boot time.
|
2010-06-04 15:46:09 +02:00 |
|
Juan Jose Garcia Ripoll
|
01e227c402
|
Replaced many uses of type_of() with specialized macros (ECL_BIT_VECTOR_P, ECL_BASE_STRING_P, etc)
|
2010-02-28 01:09:13 +01:00 |
|
Juan Jose Garcia Ripoll
|
89b9a561ea
|
Replaced ecl_fixnum_in_range() with explicit checks in the functions, which are cheaper and, thanks to ecl_unlikely, faster.
|
2010-02-27 16:23:21 +01:00 |
|
Juan Jose Garcia Ripoll
|
86c211a6a1
|
Optimize ecl-inl.h for small cons and use of ecl_unlikely. New macros ECL_CONSP, ECL_LISTP, ECL_ATOM, ECL_SYMBOLP
|
2010-02-27 09:47:05 +01:00 |
|
Juan Jose Garcia Ripoll
|
871104a0cc
|
Replaced FEtype_error_real with FEwrong_type_*_arg
|
2010-02-25 17:37:03 +01:00 |
|
Juan Jose Garcia Ripoll
|
d72d2685bd
|
Fixed typo.
|
2009-12-13 14:38:55 +01:00 |
|
Juan Jose Garcia Ripoll
|
e85ae8d20c
|
Fixed typo in #ifdef that only affected builds with --enable-long-double
|
2009-12-13 13:42:56 +01:00 |
|
Juan Jose Garcia Ripoll
|
f96a987819
|
ecl_to_long_double appeared before ratio_to_long_double
|
2009-12-13 12:08:53 +01:00 |
|
Juan Jose Garcia Ripoll
|
19943c0a22
|
ECL now has its own rounding routine for converting rationals to floats.
|
2009-12-05 01:47:41 +01:00 |
|
Juan Jose Garcia Ripoll
|
484fb955ab
|
Renamed all remaining internal functions that work with bignums.
|
2009-08-28 22:31:39 +02:00 |
|
Juan Jose Garcia Ripoll
|
44443c10b8
|
Prefixed the big_register* functions with _ecl_
|
2009-08-28 20:06:40 +02:00 |
|
Juan Jose Garcia Ripoll
|
3d778f4974
|
Bignum registers can not use statically allocated memory if we use GMP's own allocation/deallocation routines. This implies additional cleanup when deallocating an environment, and allowing for larger registers to decrease the pressure on the garbage collector.
|
2009-08-28 13:05:36 +02:00 |
|
Juan Jose Garcia Ripoll
|
3919ccdadc
|
Changed the routines that manipulate bignums so that they use bignum registers and free them when finished -- this should allow ECL work without changing GMP's memory functions.
|
2009-08-28 02:03:30 +02:00 |
|
Juan Jose Garcia Ripoll
|
3556aae864
|
Fixed typo in number.d (CL_FIXNUM_BITS -> FIXNUM_BITS).
|
2009-08-21 22:07:43 +02:00 |
|
Juan Jose Garcia Ripoll
|
2ca580b13c
|
New routines to convert lisp objects to 'int', 'long' and 'bool'.
|
2009-07-15 15:19:08 +02:00 |
|
Juan Jose Garcia Ripoll
|
eb864ae55a
|
On platforms where it is not possible to trap FPE, explicitely check the status of the exceptions around basic operations (sin, cos, exp, etc).
|
2009-06-14 21:06:20 +02:00 |
|
Juan Jose Garcia Ripoll
|
0b0e026664
|
Create constants in cl_core for variants of -0.0 and use them in compiled code. IMAGPART now produces signed zeros for negative real numbers.
|
2009-06-14 11:48:04 +02:00 |
|
Juan Jose Garcia Ripoll
|
cbffb985ff
|
long_double_to_integer now has the expected accuracy.
|
2009-06-14 01:47:37 +02:00 |
|
Juan Jose Garcia Ripoll
|
849302a89b
|
RATIONAL works now more accurately with long-floats
|
2009-06-13 22:54:50 +02:00 |
|
Juan Jose Garcia Ripoll
|
13763bae70
|
Implement sign comparisons using signbit(), which defaults to (x==y) where it is not available. Since floats may have extra unused bits (long double), we cannot implement eql using bit comparisons
|
2009-06-13 22:50:28 +02:00 |
|
Juan Jose Garcia Ripoll
|
5008fdd45f
|
Big patch for introducing NaNs and infinities.
|
2009-06-04 15:55:13 +02:00 |
|
Juan Jose Garcia Ripoll
|
42fdda5e1c
|
Whenever isfinite is not defined, use finite(). Additionally, in Solaris, load ieefp.h before using this macro.
|
2009-05-20 19:29:16 +02:00 |
|
Juan Jose Garcia Ripoll
|
1b558faa95
|
Fixed two typos in ecl_to_int32_t()
|
2009-04-02 15:22:41 +02:00 |
|
Juan Jose Garcia Ripoll
|
e282487f0d
|
Added support for long long and unsigned long, and [u]intN_t in the FFI.
|
2009-03-02 23:56:39 +01:00 |
|
Juan Jose Garcia Ripoll
|
fb7ef0c3b4
|
No need to divide when there is no common denominator
|
2009-03-01 23:19:47 +01:00 |
|
Juan Jose Garcia Ripoll
|
157120712e
|
The functions for ecl_make_[u]int64 are only needed for platforms with 32 bit words.
|
2009-03-01 21:28:24 +01:00 |
|
Juan Jose Garcia Ripoll
|
ba9540e220
|
New specialized array types for 16, 32 and 64 bits large integers
|
2009-03-01 20:36:08 +01:00 |
|
Juan Jose Garcia Ripoll
|
e16ff91913
|
Detect and provide conversion routines for C specialized integer types ([u]int{8,16,32,64}_t)
|
2009-03-01 15:41:36 +01:00 |
|
Juan Jose Garcia Ripoll
|
cbe49afc5b
|
Unify the sources for windows and posix threads
|
2008-10-11 11:38:15 +02:00 |
|
Juan Jose Garcia Ripoll
|
5bda4b4f61
|
All allocation functions are now in the ECL library and they now have the ecl_* prefix. Old names are kept in macro form.
|
2008-10-10 22:36:15 +02:00 |
|
Juan Jose Garcia Ripoll
|
3f1419fe35
|
New flag --with-signed-zero (Juanjo). RUN-PROGRAM now returns exit code of program (Josh Elsasser).
|
2008-10-05 00:04:15 +02:00 |
|
jjgarcia
|
140f0611a7
|
The reader and the printer understand negative zeros.
|
2008-09-28 20:14:00 +00:00 |
|
jjgarcia
|
860d38f2bb
|
Upgrading of imaginary part in a complex number did not work if the real part had type long-float
|
2008-08-02 18:19:39 +00:00 |
|
jjgarcia
|
ebefa6ed13
|
Increased precision of PI
|
2008-08-02 16:24:34 +00:00 |
|
jjgarcia
|
37923e4ac5
|
Fixed ATAN for builds without long floats. PI has to be of type LONG-FLOAT
|
2008-08-02 15:25:58 +00:00 |
|
jjgarcia
|
0c86faece3
|
Use isfinite/isnan as macros, like C99 prescribes. Needed for long double support in OS X
|
2008-07-25 14:59:31 +00:00 |
|
jjgarcia
|
90e936d85c
|
There is not finitel(), so just use coercion.
|
2008-06-28 08:22:14 +00:00 |
|
jgarcia
|
5ef5d32e74
|
Enforce indent and mode conditions on files
|
2008-01-26 10:30:41 +00:00 |
|