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

Dag Sverre Seljebotn dagss@student.matnat.uio...
Wed Dec 9 13:29:38 CST 2009

```Ruben Salvador wrote:
> Hello everybody.
>
> I've seen this question arise sometimes on the list, but don't know if
> something has "happened" yet or not. I mean, any solution feasible to
> use more or less right out of the box?
>
> I'm just a hardware engineer, so it would be difficult for me to create
> my own class for this, since my knowledge of python/numpy is very
> limited, and, just don't have the time/knowledge to be more than a
> simple user of the language, not a developer.
>
> I have just come across this:
> it yet. I'll give it a try and see how it works and come back to the
> list to report somehow. But, is there any "official" plans for this
> within the numpy developers? Is there any code around that may be used?
> I just need to test my code with fixed point arithmetic (I'm modelling
> hardware....)
>
> Thanks for the good work to all the Python/Numpy developers (and all the
> projects related, matplotlib and so on....) and for the possiblity of
> freeing from matlab!!! I'm determined to do research with as many free
> software design tools as possible....though this fixed-point arithmetic
> issue is still a chain!

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?

--
Dag Sverre
```