[Numpy-discussion] Fixed-point arithemetic...any solution yet?

Chris Colbert sccolbert at gmail.com
Thu Dec 10 19:09:23 EST 2009


not to mention that that idea probably isnt going to work if his
problem is non-linear ;)

On Thu, Dec 10, 2009 at 7:36 PM, Norbert Nemec
<Norbert.Nemec.list at gmx.de> wrote:
>
>
> Dag Sverre Seljebotn wrote:
>> I haven't heard of anything, but here's what I'd do:
>>   - Use np.int64
>>   - Multiply all inputs to my code with 10^6
>>   - Divide all output from my code with 10^6
>>   - If you need to debug-print and array, simply define something like
>>
>> FIXED_POINT_FACTOR = 10**6
>>
>> def printarr(x):
>>      print x.astype(np.float) / FIXED_POINT_FACTOR
>>
>> Or am I missing something?
>>
> Indeed, you are missing that internal multiplications have to take into
> account this factor as well. To prevent loss of precision, you would
> need int128 results and shift those correctly after the multiplication.
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>



More information about the NumPy-Discussion mailing list