parent
adbe499db8
commit
75d4c2240c
1 changed files with 24 additions and 1 deletions
@ -1,7 +1,30 @@ |
||||
# $Id: __init__.py,v 1.1 2010-01-20 03:11:01 wirawan Exp $ |
||||
# $Id: __init__.py,v 1.2 2010-05-28 18:43:59 wirawan Exp $ |
||||
# |
||||
# wpylib.math main module |
||||
# Created: 20091204 |
||||
# Wirawan Purwanto |
||||
# |
||||
pass |
||||
|
||||
import numpy |
||||
|
||||
ZERO_TOL = 5.0e-16 |
||||
|
||||
def ztol(val, tol=None, copy=True): |
||||
"""Rounds down values to zero if they are below tolerance.""" |
||||
if tol == None: tol = ZERO_TOL |
||||
if "__iter__" not in dir(val): |
||||
if numpy.abs(val) < tol: |
||||
return 0 |
||||
else: |
||||
return val |
||||
elif isinstance(val, numpy.ndarray): |
||||
if copy: |
||||
rslt = val.copy() |
||||
else: |
||||
rslt = val |
||||
numpy.putmask(rslt, numpy.abs(rslt) < tol, [0]) |
||||
return rslt |
||||
else: |
||||
raise ValueError, "Unsupported datatype: %s" % str(type(val)) |
||||
|
||||
|
Loading…
Reference in new issue