From: Xavier Leroy <xavier.leroy@inria.fr>
To: shiv@mac.com
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Complex stuff
Date: Mon, 11 Feb 2002 11:08:03 +0100 [thread overview]
Message-ID: <20020211110803.A17368@pauillac.inria.fr> (raw)
In-Reply-To: <123971FA-046C-11D6-9430-003065BDAA76@mac.com>; from shiv@mac.com on Tue, Jan 08, 2002 at 11:15:26AM -0800
> I know that the Ocaml team might be implementing complex numbers in
> Ocaml.
I've just completed a first implementation. You can see what it looks
like from our anonymous CVS repository camlcvs.inria.fr.
> However, I need complex support now and I was wondering what the best
> way to proceed would be, if I want to port the code over to the native
> complex support as and when it becomes available?
>
> I need the basic arithmetic and trignometric operations and bigarray
> (complex32, complex64 and fortran layout) support.
Done in the working sources.
> I could borrow the basic arithmetic and trignometric stuff from Psilab
> or even Clean libraries. Should I represent complex numbers as tuples or
> record (tuples I guess, since that is what Psilab does)?
I chose to use a record type {re:float; im:float} because this leads
to a more efficient memory layout than a pair of float.
> What about the bigarray support? The basic stuff I can roll on my own,
> unless somebody else has already done it and can provide me with code.
> How about the bracket notation? Do I need to use camlp4 to get a.{i,j}
> to return a complex number and a.{i,j} <- to store a complex number in
> (i,j)th position (etc..)?
The a.{i,j} notation is supported for complex types.
By the way, if there are numerically competent folks on this list,
please have a look at
http://camlcvs.inria.fr/cgi-bin/cvsweb.cgi/ocaml/stdlib/complex.ml
and let me know if the implementation of complex arithmetic is (1)
mathematically correct, and (2) numerically reasonable. I tried to
guard against overflows and underflows in intermediate results, but
could use some help here. Please reply to me directly -- no need to
split machine epsilons and count ulp's on this list.
- Xavier Leroy
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
prev parent reply other threads:[~2002-02-11 10:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-08 19:15 shiv
2002-02-11 10:08 ` Xavier Leroy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020211110803.A17368@pauillac.inria.fr \
--to=xavier.leroy@inria.fr \
--cc=caml-list@inria.fr \
--cc=shiv@mac.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox