Commit Graph

112 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum b324709e86 - ratnum->flonum now handles more numbers, though it's now slower
and may still be incorrect in some cases.
- (- <compnum> <flonum>) was raising an incorrect error.
2009-06-30 07:27:26 +03:00
Abdulaziz Ghuloum 7de0f39736 fixed floating point exception in (modulo <fx> 0). 2009-06-30 04:10:51 +03:00
Abdulaziz Ghuloum 1803f9f23c fixed (modulo <bignum> 0) and (modulo <bignum> <largish-fixnum>)
errors that caused either a segfault or returning an incorrect
value.
2009-06-26 11:15:02 +03:00
Abdulaziz Ghuloum 810fe75fa1 - hashtable-hash-function used to return an incorrect hash function
that the one supplied to make-hashtable; fixed.
- div and mod raise an error, rather than an assertion when given 
  zero second argument; fixed.
2009-04-11 21:39:53 +03:00
Abdulaziz Ghuloum 72b86818f0 = now handles complex numbers properly. 2009-04-07 12:05:03 +03:00
Abdulaziz Ghuloum 3aad0fbe0b inexact->exact and exact now hangle compnums and cflonums properly. 2009-04-06 17:41:28 +03:00
Abdulaziz Ghuloum 7d6316f723 fixed error in division in (/ 0 <bignum>) 2009-04-06 17:14:57 +03:00
Abdulaziz Ghuloum 1d25a3db07 fixed rounding error for flonums (now rounding to even as required). 2009-02-06 23:46:12 +03:00
Abdulaziz Ghuloum 1ebd4f4d9a fixed minor bug in "->inexact" helper. 2009-01-03 20:03:04 -05:00
Abdulaziz Ghuloum ae9d095527 - fixed bug in printing "-0.0i" on some archs (cygwin, solaris,
etc.)
- fixed bug reading non-ascii strings in 64-bit mode.
2008-11-01 15:13:27 -04:00
Abdulaziz Ghuloum 7b32940d04 - fixed a silly bug in (/ <bignum> x/y) which evaluated to
(/ (* <bignum> x) y) instead of (/ (* <bignum> y) x).
2008-10-18 13:34:18 -04:00
Abdulaziz Ghuloum 814c797633 - removed bset/h instruction from the compiler (it was rarely used
and not implemented 100% correctly)
- fixed parameterize to allow (parameterize () def ... exp exp ...)
2008-09-06 04:17:20 -07:00
Abdulaziz Ghuloum b9085e15da - more work on trig functions
- mkstx now checks that double wraps are not merged incorrectly
2008-08-12 01:17:04 -07:00
Abdulaziz Ghuloum 476a0cb6d8 fixed small bug in rationalize 2008-08-11 13:38:28 -07:00
Abdulaziz Ghuloum c64fda7619 fixed a few problems in geometric functions when they are passed
complex numbers or when they're passed real numbers but the results
are complex.
2008-08-11 10:37:05 -07:00
Abdulaziz Ghuloum b7d9c0cf1f - added two argument version of log
- handled (/ flonum complexnum)
2008-08-08 08:21:23 -07:00
Abdulaziz Ghuloum 9eead5327a Added bitwise-if and bitwise-copy-bit-field (inefficiently) 2008-08-04 23:43:11 -07:00
Abdulaziz Ghuloum 2b4e89bcf0 - fixed a minor import subversion bug.
- added 2-argument version of fllog.
2008-08-04 16:44:24 -07:00
Abdulaziz Ghuloum d84dd99061 added fxrotate-bit-field 2008-07-27 10:53:31 -07:00
Abdulaziz Ghuloum 282fa962a8 fixed div0-and-mod0 bug 2008-07-26 15:08:13 -07:00
Abdulaziz Ghuloum 4ee88498a9 fixes quasisyntax bugs, making them more conforming to the r6rs test
suite.
2008-07-26 14:11:22 -07:00
Abdulaziz Ghuloum b3d8a8f9fd sqrt now supports negative arguments properly. 2008-07-26 12:39:11 -07:00
Abdulaziz Ghuloum 3b80d4f321 fixed a bug in quotient and div when given (least-fixnum) and -1. 2008-07-26 12:28:51 -07:00
Abdulaziz Ghuloum 4909a9ef08 fixed make-rectangular so that (make-rectangular 1.0 0.0) returns
a cflonum 1.0+0.0i while (make-rectangular 1.0 0) returns 1.0.
2008-07-25 17:46:34 -07:00
Abdulaziz Ghuloum 7db56cf76e - bytevector-ieee-[single|double]-[ref|set!] now accept unaligned
indices (r6rs requirement).
- file-options are now represented as enum-sets (r6rs requirement)
- odd?, even?, lcm, remainder, etc., now accept inexact integers.
2008-07-24 18:58:53 -07:00
Abdulaziz Ghuloum 9085b79b64 fixed some r6rs bitwise bugs. 2008-07-24 00:06:12 -07:00
Abdulaziz Ghuloum 4f48c55bfc all existing tests pass under 64-bit 2008-07-19 14:41:06 -07:00
Abdulaziz Ghuloum 81a1a640df more progress on the AMD64 front, fixing more numeric and more cogen
64-bit bugs.
2008-07-18 22:21:57 -07:00
Abdulaziz Ghuloum 01c4afa320 Major work towards the AMD64 port. Most important of which is that
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum 0ef81aa13e Added make-polar. 2008-07-15 23:13:59 -07:00
Abdulaziz Ghuloum 195dc0ea45 Fixed some problems parsing complex numbers. 2008-07-15 22:44:55 -07:00
Abdulaziz Ghuloum 2a49d5c538 Added "angle". 2008-07-14 22:43:19 -07:00
Abdulaziz Ghuloum badf83557f fixed rounding for rationals. 2008-07-07 00:22:14 -07:00
Abdulaziz Ghuloum 66464cc348 Fixed a bug when doing (/ 1 1 1 ...). 2008-06-28 13:02:05 -07:00
Abdulaziz Ghuloum 45346ef865 - Added cp0! including:
- (optimize-level [0,1,2])  and  ikarus -O[0,1,2]
       where -O0 = no optimizations
             -O1 = using old optimizer
             -O2 = using the new cp0 optimizer
       defaults to -O1 for now.
   - (cp0-size-limit n) which is the limit of the residual size for
     each inlining attempt
   - (cp0-effort-limit n) which is the limit on the effort expended 
     for each inlining attempt
   
- Rewrote the syntax-match macro to make use of the same technology
  used in syntax-case itself resulting in reduced code size.

- Added (system-value <symbol>) which returns the system value.
  E.g., (system-value 'car) => #<procedure car>
  This is pretty much the same as 
    (eval <symbol> (environment '(ikarus)))
  except that it does not involve compiling the expression or 
  consulting the library/expander systems.

- Fixed the fasl loader to make it understand complex numbers.
2008-06-28 02:25:44 -07:00
Abdulaziz Ghuloum a492d318e1 - fixed minor bug in current-directory
- changed implementation of string->number.
2008-05-31 20:10:17 -07:00
Abdulaziz Ghuloum 6437aa98e0 - exp now understands complex numbers.
- expt of complex exponent is implemented in terms of exp.
2008-05-28 23:50:36 -07:00
Abdulaziz Ghuloum fec5dcd419 sqrt, log, and expt now understand complex numbers. 2008-05-28 22:21:08 -07:00
Abdulaziz Ghuloum 467095677e +, -, *, and / now handle inexact complex numbers. 2008-05-25 10:37:41 -07:00
Abdulaziz Ghuloum ab2e05e8b0 Added inexact complex numbers. 2008-05-24 10:13:01 -07:00
Abdulaziz Ghuloum 0a6df79e3b ikarus.reader is now loadable separately. 2008-05-20 23:21:37 -07:00
Abdulaziz Ghuloum ebcc042ea1 = now handles complex numbers. 2008-05-18 22:33:49 -07:00
Abdulaziz Ghuloum 4cb8165181 +, -, *, / now handle complex numbers. 2008-05-18 21:41:53 -07:00
Abdulaziz Ghuloum 82140f87ba - Added complex numbers representation (exact complex only).
- Added make-rectangular.
- Added the ability to display complex numbers.
2008-05-18 20:39:41 -07:00
Abdulaziz Ghuloum da7cedfe64 Added bitwise-xor. 2008-05-18 03:21:05 -07:00
Abdulaziz Ghuloum de4276124b added bitwise-ior. 2008-05-18 02:27:55 -07:00
Abdulaziz Ghuloum 478719cf32 Fixed names of procedures <, <=, =, >, >=. They used to be
printed as #<procedure f>.
2008-04-28 16:52:44 -04:00
Abdulaziz Ghuloum 48a86cbaa3 Fixed bug in (mod 3 5/6). 2008-03-22 21:23:51 -04:00
Abdulaziz Ghuloum 8f0b606609 sin, cos, tan, asin, acos, and atan now support rational numbers. 2008-03-03 13:49:47 -05:00
Abdulaziz Ghuloum 5210f1448b Fixed part of bug 162334. Reason: (inexact -1/2) lost the sign and
returned 0.5.  It now correctly return -0.5.
2008-03-01 21:54:27 -05:00