NumPy seems to define BLAS and LAPACK functions with gfortran ABI:

https://github.com/numpy/numpy/blob/master/numpy/linalg/umath_linalg.c.src#L289

extern float
FNAME(sdot)(int *n,
            float *sx, int *incx,
            float *sy, int *incy);

What happens on OS X where Accelerate Framework uses f2c ABI?  SciPy has C
wrappers for Accelerate to deal with this. Should NumPy adopt those as
well?

And while we are at it, why are LAPACK subroutines declared to return int?
I thought a Fortran subroutine should map to a void function in C. From the
same file:

extern int
FNAME(dgesv)(int *n, int *nrhs,
             double a[], int *lda,
             int ipiv[],
             double b[], int *ldb,
             int *info);


Sturla

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to