[Numpy-discussion] Clipping, casting, and maximum values
Edward C. Jones
edcjones at comcast.net
Mon Jan 2 09:54:11 CST 2006
#! /usr/bin/env python
import numarray
from numarray.numerictypes import *
# Is this program too complicated?
# On my machine (AMD64 chip, Debian unstable i386, numarray 1.5.0):
# float(2**63-1) == float(2**63)
def clipcast(farr):
if farr.type() != Float64:
raise TypeError('input must be a Float64 array')
farr = numarray.clip(farr, 0.0, float(2**63))
print 'L13 %30.4f' % farr[0]
top = (farr == float(2**63))
numarray.Error.pushMode(invalid='ignore')
arr = farr.astype(Int64)
numarray.Error.popMode()
return numarray.where(top, 2**63-1, arr)
farr = numarray.array([1.0e300], Float64)
print farr.type(), farr[0]
arr = clipcast(farr)
print arr.type(), arr[0]
More information about the Numpy-discussion
mailing list