Juan Jose Garcia Ripoll
729baa8935
Split +,-,*,/ into separate files with a slightly more compact dispatch
2010-11-04 23:40:11 +01:00
Juan Jose Garcia Ripoll
70a045f667
Split out 1+, 1-, conjugate, negate
2010-11-02 18:28:23 +01: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
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
778afbee6a
Replaced FEtype_error_number with FEwrong_type_*_arg
2010-02-25 17:32:54 +01:00
Juan Jose Garcia Ripoll
f7f823f505
Replaced FEtype_error_{character,integer} with FEwrong_type_*_arg
2010-02-25 16:42:28 +01:00
Juan Jose Garcia Ripoll
b351955296
Moved more uses of _ecl_big_register*() out of sources into big.d. Introduced _ecl_big_gcd().
2010-01-28 23:36:01 +01:00
Juan Jose Garcia Ripoll
83eddf11f9
Intoduced _ecl_fix_times_fix, _ecl_big_ceiling and _ecl_big_floor.
2010-01-28 23:08:16 +01:00
Juan Jose Garcia Ripoll
5e32e797c9
Created _ecl_fix_times_fix and used it in num_arith.d
2010-01-28 22:13:40 +01:00
Juan Jose Garcia Ripoll
c393747283
Introduced _ecl_big_negate.
2010-01-28 18:14:04 +01:00
Juan Jose Garcia Ripoll
101569dc8f
Fixed and used _ecl_fix_minus_big and _ecl_big_minus_big.
2010-01-28 18:03:59 +01:00
Juan Jose Garcia Ripoll
11a1ffb74f
Fixed and used _ecl_big_plus_{fix,big}
2010-01-28 17:57:43 +01:00
Juan Jose Garcia Ripoll
4b4e17ac03
New functions for adding, subtracting and multiplying bignums.
2010-01-28 17:25:59 +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
132531d86a
New internal functions/macros _ecl_big_set_{fixnum,index}, _ecl_big_gcd, and removed all uses of bignum1.
2009-08-28 22:04:28 +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
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
5008fdd45f
Big patch for introducing NaNs and infinities.
2009-06-04 15:55:13 +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
4048d32c56
CONJUGATE did not support long double types
2008-08-02 19:57:34 +02:00
jgarcia
5ef5d32e74
Enforce indent and mode conditions on files
2008-01-26 10:30:41 +00:00
jgarcia
aa3dfe4058
Prefix most functions with 'ecl_' to avoid name collisions when embedding ECL in other libraries
2007-01-18 11:46:07 +00:00
jgarcia
a8ba6f5c01
Initital support for long double and immediate short floats.
2006-10-13 17:28:51 +00:00
jgarcia
12799c7305
Move from short/long-float to single/double-float (by L. Brinkhoff)
2006-09-01 15:15:57 +00:00
jjgarcia
936b7fb6f6
Header files are now kept in a directory named 'ecl', so as to avoid name clashes with other headers.
2006-02-28 14:05:47 +00:00
japhie
51136f3ef4
- Added possibility of configuring --without-gmp when cross-compiling
...
to reduce memory usage when true bignums aren't needed (doesn't work
for native compilation because compiler needs bignums).
2005-09-19 21:52:46 +00:00
jjgarcia
0c7f861319
Use labs() instead of abs() to prevent truncation of fixnums on 64bit platforms
2005-05-19 16:15:08 +00:00
jjgarcia
860dbd69ec
Fixes due to type sizes, updates of the old garbage collector and the terrible bug with hash tables merged into main trunk
2004-02-29 15:47:01 +00:00
jjgarcia
0772b295cc
Signal also an arithmetic error when dividing by a floating point 0
2003-12-19 13:00:29 +00:00
jjgarcia
d0eeede5e0
(LCM) => 1
2003-12-19 10:21:45 +00:00
jjgarcia
d4e8230777
LCM may be called without any argument
2003-12-15 08:53:28 +00:00
jjgarcia
6d1ec50d38
Fixed GCD. Implemented several stream functions. Fixed LCM. Fixed the inline expansions for ZEROP, PLUSP, MINUSP, ODDP and EVENP. Fixed the meaning and allowed values of REHASH-THRESHOLD. SXHASH now produces hash keys which are equal for EQUAL bitvectors. Implemented ARITHMETIC-ERROR-OPERANDS. Fixed a bug in hash table which duplicated the number of entries whenever the hash grew.
2003-12-12 08:26:29 +00:00
jjgarcia
c5ec810687
Division by integer 0 signal a DIVIDE-BY-ZERO error. (- (- MOST-NEGATIVE-FIXNUM)) now works. Fixed CEILING and FLOOR with arguments MOST-NEGATIVE-FIXNUM (- MOST-NEGATIVE-FIXNUM). (EXPT x y) now returns 1 coerced to the right type when (ZEROP y)=>T.
2003-12-09 09:34:33 +00:00
jjgarcia
cdff225681
Implemented locking on hash tables and packages. Fixed several floating point contagion bugs in +, -, /, *, and ROUND.
2003-11-24 11:27:28 +00:00
jjgarcia
41c0868469
Bunch of fixes. See CHANGELOG.
2003-03-17 10:39:08 +00:00
jjgarcia
43099ff052
More fixes about integer types.
2002-12-09 12:51:40 +00:00
jjgarcia
62141f9f5d
Replace int -> cl_fixnum, cl_index, to avoid problems with 64-bit archit.
...
Make sure that structure/instance slots may be indexed with a simple integer.
2002-12-09 12:10:33 +00:00
jjgarcia
2e6482b0a1
Rewrite the checking of # of arguments, so that the error message gets the name of the function whenever possible.
2002-11-18 11:29:21 +00:00
jjgarcia
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00
jjgarcia
a9e4edf4d0
The calling conventions have been changed. SI::C-ARGUMENTS-LIMIT and
...
LAMBDA-PARAMETERS-LIMIT are both 64. Up to C-ARGUMENTS-LIMIT may be
passed to a function using C calling conventions. If the function is
to retrieve more arguments, (for instance through a &rest variable),
this can be done, but then the arguments have to be pushed on the lisp
stack. This method allows us to raise the CALL-ARGUMENTS-LIMIT up to
MOST-POSITIVE-FIXNUM. From a users point of view, there is no visible
change, excep the fact that a function may receive more arguments.
The function apply() has been replaced with cl_apply_from_stack().
The former took a pointer to the list of arguments. The latter assumes
that the last "narg" elements on the lisp stack are the arguments of
the function.
2002-10-21 09:27:58 +00:00
jjgarcia
c9b91f9618
Minimal patches for C++ compatibility
2001-12-20 09:17:51 +00:00
jjgarcia
851cd03941
The project name goes back to ECL. Therefore feature #+ECL returns and the
...
program and libraries are named ecl*. Finally the routine sys::build-ecls
has been renamed sys::build-program.
2001-11-21 08:07:30 +00:00
jjgarcia
b979ad8b0b
Changes in the names of macros related to fixnums, characters and arrays.
2001-10-11 17:44:57 +00:00
jjgarcia
b6fc855410
Bit fiddling functions (boolean, logand, logbit, etc) now work with negative bignums.
2001-08-01 16:47:19 +00:00
jjgarcia
afc2bd70d3
Make the code more portable with respect to changes on the direction of
...
growth of the stack and in the way va_arg() arguments can be accessed.
Fix the bytecodes compiler so that it handles toplevel forms properly and
so that it understands LOCALLY.
Split configure.in into configure.in+aclocal.m4 and improve the resulting
tests.
2001-07-27 17:01:28 +00:00
jjgarcia
f2da18a591
Add a name mangler to the lisp runtime. Use this mangler in the compiler to
...
optimize access to symbols and functions which are defined in the C runtime.
2001-07-05 10:08:52 +00:00
jjgarcia
2d8d0cd44b
Initial revision
2001-06-26 17:14:44 +00:00