octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Rethinking octave_idx_type


From: John W. Eaton
Subject: Rethinking octave_idx_type
Date: Fri, 25 Nov 2016 12:21:47 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

Currently we define octave_idx_type to be the same as the integer type used by BLAS, LAPACK, and other functions that have a "Fortran" interface. By default, this means 32-bit integers even on 64-bit systems and arrays are limited to less than 2^31 elements. This affects all of Octave, even if you don't actually want to pass large arrays to the functions that actually have these size limits.

Instead, it seems that we could define octave_idx_type to be ssize_t (or ptrdiff_t, I think they are equivalent in practice). Then things like fread, fwrite, or simple element-by-element array operations that don't require BLAS or LAPACK functions could work on larger arrays.

Then we would also define something like fortran_integer_type for the Fortran-style function interfaces and check array sizes and limits when we actually call the Fortran-style functions.

Does anyone see a reason NOT to do this?

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]