pika-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pika-dev] status on numbers


From: Matthew Dempsky
Subject: [Pika-dev] status on numbers
Date: Mon, 12 Jan 2004 08:53:46 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Yesterday my network connection was out so I wasn't able to commit
anything to my archive, but this morning I finally committed patch-37
to my scm--numbers branch which fixed everything so all my new code
compiles.  I haven't written any unit tests yet, but I'm fairly happy
with the state of things.

Basically here's how it goes:

* NUMERIC_BINOP and NUMERIC_MONOP still need to be fixed to not
  destroy their arguments.

* scm_multiply needs a safe way to detect overflow when multiplying to
  fixnums - I was lazy and just use the built-in multiplication
  routine which will work as long as there isn't overflow.

* scm_quotient, scm_remainder, scm_modulo, scm_rationalize, and
  scm_expt still need to be implemented.

* The transcendental functions (sin, exp, etc.) still need to be
  implemented for complex numbers.  (SISC's code uses hyperbolic
  functions which don't exist in R5RS, but I might add them anyways
  unless there are any objections.)

* I originally implemented scm_truncate using trunc() from math.h only
  to find out it's only available in C99, so it's commented out at the
  moment.

* (sqrt 4) => 2.0

* scm_raise_for_binop isn't implemented yet for complex types.

I'm going to try to port some unit tests and benchmarks over to C so I
can verify that I'm getting the right results from this and I probably
won't move the code into scm--integration until I'm more confident in
this work.  (This is the first time it's compiled since patch-13.)

I also started hacked together a simple stop-and-copy garbage
collector, but it's not commited yet.  Once I get some more free time
later today I'll try to setup another spot in my archive for it.

-jivera




reply via email to

[Prev in Thread] Current Thread [Next in Thread]