[Numpy-discussion] rewriting NumPy code in C or C++ or similar
Sturla Molden
sturla at molden.no
Mon Mar 7 21:13:40 EST 2011
Den 08.03.2011 00:36, skrev Dan Halbert:
> Do you all have some recommendations about tools, libraries, or languages that you have used to rewrite NumPy code easily into something that's more self-contained and callable from C?
Fortran 95
It has the power of C, without the unsafe pointer arithmetics, almost
the readability of Python, and all the array magic of NumPy.
Almost every serious numerical library have bindings for Fortran.
Calling Fortran from C:
- Name mangling: usually lower-case with appended underscore.
- Assumed-size or explicit shape arrays: just pass a pointer (cf. f2py).
Avoid assumed-shape or deferred-size arrays in the interface to C.
- Fortran 2003 ISO C bindings (cf. fwrap).
> For instance, are there some nice C++ linear algebra libraries that map closely to NumPy? Or is there some higher-level compiled array language that looks something like NumPy code?
The 'standard' linear algebra packages are BLAS and LAPACK, e.g. as
implemented in ACML or Intel MKL. (Callable from C although implemented
in Fortran.)
Two comprehensive scientific C and Fortran libraries are IMSL and NAG.
Sturla
More information about the NumPy-Discussion
mailing list