Numeric 2 : Arrays and Floating Point in C#
Microsoft's new language C# (c-sharp) implements the IEEE-754 floating point standard. There are positive and negative infinities and zeros, NaNs, and arithmetic operations involving these values behave properly. C# also has both multidimensional rectangular and ragged arrays, and combinations thereof. Since a version of Python based on C# will soon be released, (by ActiveState), any Numeric-2 development that doesn't take these accomplishments seriously is in danger of becoming obsolete before it gets documented. The C# language specification is at the web site below (make one line out of it). See, in particular, sections 4.1.5 and 12.1. --Ivan Frohne http://msdn.microsoft.com/library/default.asp?URL=/library/dotnet/csspec/vcl rfcsharpspec_Start.htm
Thank you for pointing this out. I have two questions. 1. Note that we could not reach a consensus about using C++ for future versions, even though C++ is quite aged by now, because of complaints that acceptable (ie, standard-conforming) compilers were not available (a) for free and (b) on all platforms. When would C# likely be able to meet these conditions? 2. Java flunked the Kindergarten test -- it did not like to play with others. Will C# pass it? If I want to use many of the available algorithms, I have to be able to call C and Fortran. The fact that Python itself is implemented in a given language is of almost no value in and of itself. Nobody is going to rewrite Linpack and Spherepack in C# next month. My questions may sound rhetorical, but they are not. Although I have glanced through the C# spec, and am somewhat pleased with it, I do not know the answers to these questions. -----Original Message----- From: numpy-discussion-admin@lists.sourceforge.net [mailto:numpy-discussion-admin@lists.sourceforge.net]On Behalf Of Ivan Frohne Sent: Wednesday, February 14, 2001 6:29 PM To: Numpy-discussion@lists.sourceforge.net Subject: [Numpy-discussion] Numeric 2 : Arrays and Floating Point in C# Microsoft's new language C# (c-sharp) implements the IEEE-754 floating point standard. There are positive and negative infinities and zeros, NaNs, and arithmetic operations involving these values behave properly. C# also has both multidimensional rectangular and ragged arrays, and combinations thereof. Since a version of Python based on C# will soon be released, (by ActiveState), any Numeric-2 development that doesn't take these accomplishments seriously is in danger of becoming obsolete before it gets documented. The C# language specification is at the web site below (make one line out of it). See, in particular, sections 4.1.5 and 12.1. --Ivan Frohne http://msdn.microsoft.com/library/default.asp?URL=/library/dotnet/csspec/vcl rfcsharpspec_Start.htm _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/numpy-discussion
----- Original Message ----- From: "Paul F. Dubois" <paul@pfdubois.com> To: "Ivan Frohne" <frohne@gci.net>; <Numpy-discussion@lists.sourceforge.net> Sent: Wednesday, February 14, 2001 19:22 Subject: RE: [Numpy-discussion] Numeric 2 : Arrays and Floating Point in C#
Thank you for pointing this out. I have two questions.
1. Note that we could not reach a consensus about using C++ for future versions, even though C++ is quite aged by now, because of complaints that acceptable (ie, standard-conforming) compilers were not available (a) for free and (b) on all platforms. When would C# likely be able to meet these conditions?
2. Java flunked the Kindergarten test -- it did not like to play with others. Will C# pass it? If I want to use many of the available algorithms, I have to be able to call C and Fortran. The fact that Python itself is implemented in a given language is of almost no value in and of itself. Nobody is going to rewrite Linpack and Spherepack in C# next month.
My questions may sound rhetorical, but they are not. Although I have glanced through the C# spec, and am somewhat pleased with it, I do not know the answers to these questions.
Microsoft has a long list of languages which they claim will support C# and the .NET Framework, including C++, Python, Perl, Eiffel, Oberon, Haskell, Smalltalk, and even COBOL. Fortran is conspicuous by its absence on the list, but Fujitsu is doing the COBOL port. Fujitsu and Lahey Fortran are working partners. Or maybe Compaq/Digital has something on the back burner? http://msdn.microsoft.com/net/thirdparty/default.asp#lang http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Interopdo tNET.htm What's encouraging about C# and the .NET Framework is that they appear to have been designed to address some of the more serious shortcomings of JAVA: (0) Many languages will be supported. (1) The C# language specification has been submitted to the international standards body ECMA for standardization. (2) Built-in types (ints, longs, doubles, arrays, etc.) are objects. (3) Unsigned integer types are included. (4) There is full IEEE 754 floating point support. (5) There is native support for multidimensional arrays, not just awkward ragged arrays. (6) Most operators can be overloaded. (7) If you must, pointers are supported. Python supports complex arithmetic out of the box. But to invert a matrix you have to twist yourself into a pretzel. Ivan Frohne
[Could someone configure this mailing list so ReplyTo goes to the list not the most recent participant?] Proclaimed William Ryu from the mountaintops:
<html> <font size=3>Was wondering if there is a "standard" library of curve fitting routines that people use with Numeric Python. I'm especially interested in high order Bezier curves, but would like to save some time if someone has put together a good curve fitting packaging.<br>
The ScientificPython should have this... http://starship.python.net/crew/hinsen/scientific.html ...but it appears the closest it has is Least Squares line fitting, and curved lines in its displays. Maybe you could add your results to it. So much for saving time ;-) -- Phlip phlip_cpp@my-deja.com ============ http://c2.com/cgi/wiki?PhlIp ============ -- Please state the nature of the programming emergency --
On Thu, 15 Feb 2001, William Ryu wrote:
Was wondering if there is a "standard" library of curve fitting routines that people use with Numeric Python. I'm especially interested in high order Bezier curves, but would like to save some time if someone has put together a good curve fitting packaging.
There are simple wrappers of minpack (which includes non-linear least squares) and dierckx (splines, I think) libraries in Travis Oliphant's Multipack. Travis is still in the process of moving its homepage ATM I think, but they are available somewhere near here: cens.ioc.ee/cgi-bin/cvsweb/python/multipack/ If you search back in the archives of this list, you'll find a pointer to instructions for how to get them with cvs. John
On Fri, 16 Feb 2001, John J. Lee wrote:
On Thu, 15 Feb 2001, William Ryu wrote:
Was wondering if there is a "standard" library of curve fitting routines that people use with Numeric Python. I'm especially interested in high order Bezier curves, but would like to save some time if someone has put together a good curve fitting packaging.
There are simple wrappers of minpack (which includes non-linear least squares) and dierckx (splines, I think) libraries in Travis Oliphant's Multipack. Travis is still in the process of moving its homepage ATM I think, but they are available somewhere near here:
cens.ioc.ee/cgi-bin/cvsweb/python/multipack/
If you search back in the archives of this list, you'll find a pointer to instructions for how to get them with cvs.
Just occurred to me there might be drawing programs out there with bezier fitting routines. I'd been (probably falsely) assuming that everyone here is doing science or engineering (come to think of it, I don't know if there *are* any applications of bezier curves in science). Google is very useful: http://www.google.fr/search?q=bezier+python+fitting&hq=&hl=en&safe=off&csr= http://sketch.sourceforge.net/devnotes.html
Sketch 0.7.4 (December 23rd, 1999) [...] Moved more of the curve fitting code for the freehand tool to C to make it faster.
[...] Sketch 0.7.3 (October 17th, 1999)
A freehand tool. The implementation of the curve fitting is a bit slow at the moment, because much of the computation is done in Python. Moving more parts to C should improve performance substantially.
OTOH, perhaps you are working on this very program?? John
participants (5)
-
Ivan Frohne
-
John J. Lee
-
Paul F. Dubois
-
Phlip
-
William Ryu