Hi,

I have just added s7 scheme to a C++ project on Android, and I ran into a
couple of issues that I would like to post in case anyone else runs into
them.

1 - android doesn't seem to support the log2 function.  Easy fix:  fx =
log((double)ix)/log(2.0);

2 - It seems that arm based architectures have issues with aligned access.
I discovered this when calling s7_init to create a second scheme vm.  The
fix for this is to simply add __ANDROID__ to the __bfin__ check.


here is the diff of the changes for s7.c:

4021c4021
< #if (__bfin__)
---
> #if (__bfin__ || __ANDROID__)
10216a10217,10219
> #if (__ANDROID__)
>           fx = log((double)ix)/log(2.0);
> #else
10217a10221
> #endif


Are there any other spots in s7 where unaligned access may occur?  They are
rather difficult to debug.


Sincerely,
Jason Ripley
_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to