status on numbers
Matthew Dempsky <[email protected]> Mon, 12 Jan 2004 08:53:46 +0100
| Newsgroups | gmane.lisp.scheme.pika.devel |
|---|---|
| Message-ID | <[email protected]> |
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