[Numpy-discussion] apply table lookup to each element

Neal Becker ndbecker2@gmail....
Mon May 4 06:54:34 CDT 2009


Neal Becker wrote:

> Suggestion for efficient way to apply a table lookup to each element of an
> integer array?
> 
> import numpy as np
> _cos = np.empty ((2**rom_in_bits,), dtype=int)
> _sin = np.empty ((2**rom_in_bits,), dtype=int)
> for address in xrange (2**12):
>     _cos[address] = nint ((2.0**(rom_out_bits-1)-1) * cos (2 * pi *
>     address
> * (2.0**-rom_in_bits)))
>     _sin[address] = nint ((2.0**(rom_out_bits-1)-1) * sin (2 * pi *
>     address
> * (2.0**-rom_in_bits)))
> 
> Now _cos, _sin are arrays of integers (quantized sin, cos lookup tables)
> 
> How to apply _cos lookup to each element of an integer array:
> 
> phase = np.array (..., dtype =int)
> cos_out = lookup (phase, _cos) ???

Turns out that if A is an np.array and B is an np.array, then
A[B] will do exactly what I wanted.

Is this mentioned anywhere in the documentation?




More information about the Numpy-discussion mailing list