Commit graph

57 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
a86bbd3605 Fixed various warnings to allow compiling ECL with CLang 2011-01-23 16:06:47 +01:00
Alexander Gavrilov
03049ee7e2 Make boxed SSE packs untyped for all purposes but printing.
Now the following rules hold:

- (type-of pack) = SSE-PACK
- (typep pack '*-SSE-PACK) = T

The compiler is tweaked to unbox unidentified packs as
__m128i (integer), assuming that a cast would be inserted
later if that is not what was needed.
2010-10-03 23:43:52 +02:00
Alexander Gavrilov
ce2badff90 Add the boxed SSE packed vector types.
Boxing SSE values is useless performance-wise, but necessary
to provide continuity between compiled and interpreted code.

This set of types is peculiar in that while the actual CPU
instruction set mostly does not care about the data types
(although mixing commands for ints and floats leads to
some performance degradation), the C intrinsic function
interface does distinguish the types to some extent.
Thus it also has to be represented in the ECL compiler.
2010-08-20 20:29:03 +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
2e1b5463e0 Logical pathnames are now uppercased 2010-06-03 20:41:21 +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
d1521c1bcd Renaming of hash table internal function ecl_search_hash -> _ecl_gethash 2010-01-20 15:12:21 +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
da641873e4 In structures ecl_{array,vector,base_string,string}, replaced the bitfields hasfillp and adjustable with a single integer holding all flags. This solves several problems with Microsoft C compiler. 2009-07-26 11:56:26 +02:00
Juan Jose Garcia Ripoll
95fc3c6413 Create really unchecked versions of aref/aset 2009-07-03 00:25:38 +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
2cb472ed09 Fixed typo. 2009-06-12 22:08:41 +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
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
1a8633a0fe -0.0 and 0.0 do no longer compare EQL 2008-09-28 20:14:18 +00:00
jjgarcia
aa50e7ef4c Separate lisp objects for functions with fixed and variable # arguments 2008-06-19 15:08:03 +00:00
jjgarcia
9a5f1a7751 Introduce bytecode closure objects to save space in FLET/LABELS forms 2008-06-19 15:04:27 +00:00
jgarcia
8800b254f5 Committed the changes to implement small conses 2008-04-30 14:24:20 +00:00
jgarcia
c7052c977a Improved hashing with unicode. Random states can now be compared and have similar keys when equalp 2008-02-02 19:06:15 +00:00
jgarcia
5ef5d32e74 Enforce indent and mode conditions on files 2008-01-26 10:30:41 +00:00
jgarcia
b7b6db973b Missing type check for character comparison in EQUAL 2007-05-06 19:14:02 +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
4d130887b3 Fixed typo 2006-12-09 14:19:13 +00:00
jgarcia
d5e5650254 TYPE-OF did not recognize extended characters 2006-11-12 09:46:46 +00:00
jgarcia
e7a9885a4a The output of si_base_string_p was not a lisp object. 2006-11-12 09:22:14 +00:00
jgarcia
644193ed56 Unicode support via wctype.h for most character handling functions. 2006-11-10 21:01:48 +00:00
jgarcia
340de87eae EQUALP should not be influenced by the character type of the string 2006-11-10 18:43:26 +00:00
jgarcia
d715216ac2 SXHASH does not produce the same key for two strings which only differ on the character type 2006-11-10 18:41:47 +00:00
jgarcia
42d7e63b23 Allow creating symbols with extended characters in the name, and teach EQUAL how to compare strings with different character types. 2006-11-10 15:36:18 +00:00
jgarcia
57e6cbe321 Fixed two typos in string.d. Introduced new predicate ecl_stringp() 2006-11-10 13:04:19 +00:00
jgarcia
ffa984809d New functions for type errors with error recovery (ecl_type_error, si:wrong-type-argument). Incorporated this facility to all functions in num_sfun.d and num_co.d, as well as to make_complex() 2006-10-29 10:34:32 +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
jgarcia
fa937337f8 Some lisp functions with non-standard names (base-char-p, base-string) are renamed and moved to the SYS package. socket.lsp fixed to understand base strings. limited support for arbitrary strings in string streams. 2006-05-29 08:51:28 +00:00
jgarcia
ff0be77070 Support for unicode strings as data structure (no clever handling of characters yet) contributed by Brian Spilsbury. 2006-05-29 08:51:21 +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
jjgarcia
755369b199 Implement EQUALP for hash tables (M.Goffioul) 2004-12-03 17:33:58 +00:00
jjgarcia
20e3561ae0 Label with no statement. GCC complains. 2004-04-26 11:22:16 +00:00
jjgarcia
62d43f4892 Preliminary implementation of the UFFI. 2004-03-29 11:13:17 +00:00
jjgarcia
630bfdf4f4 Clean up the package CL from non-standard symbols and move them into the EXT package, which is a nickname for SYSTEM. 2003-12-11 17:16:48 +00:00
jjgarcia
01c6e8abff Use more lispy names for the thread objects, and add locks. 2003-11-19 15:07:18 +00:00
jjgarcia
4eac79774e Preliminary support for POSIX threads. 2003-11-18 11:23:07 +00:00
jjgarcia
e5072a82d9 Use user-supplied DPP to build the C files. machines.h is no longer required. 2003-07-23 13:09:37 +00:00
jjgarcia
eb0e98c2e3 Changes on the CLOS bootstrapping sequence (which is now done entirely in
LISP), and minor bugfixes.
2003-06-25 14:46:42 +00:00
jjgarcia
167027f33e Fix typo. 2003-05-02 09:51:36 +00:00
jjgarcia
c2aa136143 Various minor fixes, and an important set of changes to teach the compiler
and the interpreter to understand (SETF fname) function names, and to handle
them without creating auxiliary symbols.
2003-04-28 15:55:22 +00:00
jjgarcia
41c0868469 Bunch of fixes. See CHANGELOG. 2003-03-17 10:39:08 +00:00
jjgarcia
a1cb0392e0 Make DISPATCH-FUNCTION a valid type. 2002-11-18 12:55:22 +00:00
jjgarcia
b0ce08d0ea Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG. 2002-11-04 14:08:24 +00:00