Le 30/01/2012 03:10, Dima Pasechnik a écrit :
Working on the ARM port (kudos to Snark), which has, unlike x86,
unsigned char, we stumbled upon several places in Sage library (in
Cython code) where char type was used for (essentially) operating on bit
strings.
To be more specific : all platforms have "unsigned char" and "signed
char", but the unadorned "char" can be either of those, depending on the
platform. On most platforms, "char" means "signed char" ; on ARM, it
means "unsigned char".
So if your code uses bare "char", it might have portability issues.
If you just use "char*" for runtime data buffers, then all is ok. If you
make sign tests, things get murky. If you write those buffers on disk
with the hope to use them with the same code on another platform, it's
wrong.
If you have any doubt about a piece of code, please write to sage-devel
so we can help assess if there's a problem, and if so, get rid of it.
Thanks,
Snark on #sagemath
--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org