def allclose(a, b, rtol=1e-05, atol=1e-08, axis=None): '''Return true if all items are equal within given tolerances Parameters: rtol - relative tolerance atol - absolute tolerance ''' if axis: return _cmps.allTrue(_cmps.almostEqualTo(a, b, rtol, atol), axis) else: return _cmps.allTrue(_cmps.almostEqualTo(a, b, rtol, atol))
def where(condition, x=None, y=None): '''Return items from x or y depending on condition''' if x and y: return _dsutils.select(condition, x, y) elif not x and not y: return _cmps.nonZero(condition) else: raise ValueError, "Both x and y must be specified"
def logical_and(a, b): '''Return true if a != 0 && b != 0, itemwise''' return _cmps.logicalAnd(a, b)
def less_equal(a, b): '''Return true if a <= b, itemwise''' return _cmps.lessThanOrEqualTo(a, b)
def not_equal(a, b): '''Return true if a != b, itemwise''' return _cmps.logicalNot(_cmps.equalTo(a, b))
def any(a, axis=None): #@ReservedAssignment '''Return true if any items are true''' if axis: return _cmps.anyTrue(a, axis) else: return _cmps.anyTrue(a)
def greater_equal(a, b): '''Return true if a >= b, itemwise''' return _cmps.greaterThanOrEqualTo(a, b)
def isinf(a): '''Return true if a is infinite, itemwise''' return _cmps.isInfinite(a)
def isneginf(a): '''Return true if a is negative infinite, itemwise''' return _cmps.isNegativeInfinite(a)
def logical_and(a, b, out=None): '''Return true if a != 0 && b != 0, itemwise''' return _cmps.logicalAnd(a, b, out)
def logical_or(a, b, out=None): '''Return true if a != 0 || b != 0, itemwise''' return _cmps.logicalOr(a, b, out)
def logical_not(a): '''Return true if a == 0, itemwise''' return _cmps.logicalNot(a)
def equal(a, b): '''Return true if a == b, itemwise''' if a is None or b is None: return False return _cmps.equalTo(a, b)
def less(a, b): '''Return true if a < b, itemwise''' return _cmps.lessThan(a, b)
def logical_xor(a, b): '''Return true if a != 0 ^ b != 0, itemwise''' return _cmps.logicalXor(a, b)
def logical_xor(a, b, out=None): '''Return true if a != 0 ^ b != 0, itemwise''' return _cmps.logicalXor(a, b, out)
def nonzero(a): '''Return the indices for items that are non-zero''' return _cmps.nonZero(a)
def isposinf(a): '''Return true if a is positive infinite, itemwise''' return _cmps.isPositiveInfinite(a)
def isnan(a): '''Return true if a is a NaN, itemwise''' return _cmps.isNaN(a)
def isfinite(a): '''Return true if a is not infinite and not a NaN, itemwise''' return _cmps.isFinite(a)
def greater(a, b): '''Return true if a > b, itemwise''' return _cmps.greaterThan(a, b)
def logical_or(a, b): '''Return true if a != 0 || b != 0, itemwise''' return _cmps.logicalOr(a, b)