$search

Public Member Functions | |
| def | __abs__ |
| def | __add__ |
| def | __cmp__ |
| def | __deepcopy__ |
| def | __div__ |
| def | __divmod__ |
| def | __float__ |
| def | __hash__ |
| def | __init__ |
| def | __int__ |
| def | __long__ |
| def | __mod__ |
| def | __mul__ |
| def | __neg__ |
| def | __nonzero__ |
| def | __rdiv__ |
| def | __rdivmod__ |
| def | __repr__ |
| def | __rmod__ |
| def | __rsub__ |
| def | __str__ |
| def | __sub__ |
| def | copy |
| def | frac |
| def | get_precision |
| def | set_precision |
Public Attributes | |
| n | |
| p | |
Properties | |
| precision = property(get_precision, set_precision) | |
Private Member Functions | |
| def | __reduce |
| def | _roundquotient |
Static Private Attributes | |
| __copy__ = copy | |
| __radd__ = __add__ | |
| __rmul__ = __mul__ | |
| list | __slots__ = ['n', 'p'] |
Basic FixedPoint object class,
The exact value is self.n / 10**self.p;
self.n is a long; self.p is an int
Definition at line 164 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__abs__ | ( | self | ) |
Returns new FixedPoint containing the absolute value of this FixedPoint
Definition at line 343 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__add__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 350 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__cmp__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 315 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__deepcopy__ | ( | self, | ||
| memo | ||||
| ) |
Definition at line 312 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__div__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 372 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__divmod__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 385 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__float__ | ( | self | ) |
Return the floating point representation of this FixedPoint.
Caution! float can lose precision.
Definition at line 405 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__hash__ | ( | self | ) |
Caution! == values must have equal hashes, and a FixedPoint
is essentially a rational in unnormalized form. There's
really no choice here but to normalize it, so hash is
potentially expensive.
n, p = self.__reduce()
Obscurity: if the value is an exact integer, p will be 0 now,
so the hash expression reduces to hash(n). So FixedPoints
that happen to be exact integers hash to the same things as
their int or long equivalents. This is Good. But if a
FixedPoint happens to have a value exactly representable as
a float, their hashes may differ. This is a teensy bit Bad.
Definition at line 319 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__init__ | ( | self, | ||
value = 0, |
||||
precision = DEFAULT_PRECISION | ||||
| ) |
Definition at line 170 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__int__ | ( | self | ) |
Return integer value of FixedPoint object.
Definition at line 423 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__long__ | ( | self | ) |
EJG/DF - Should this round instead?
Note e.g. long(-1.9) == -1L and long(1.9) == 1L in Python
Note that __int__ inherits whatever __long__ does,
and .frac() is affected too
Definition at line 412 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__mod__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 398 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__mul__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 365 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__neg__ | ( | self | ) |
Definition at line 340 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__nonzero__ | ( | self | ) |
Returns true if this FixedPoint is not equal to zero
Definition at line 336 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__rdiv__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 381 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__rdivmod__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 394 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__reduce | ( | self | ) | [private] |
Return n, p s.t. self == n/10**p and n % 10 != 0
Definition at line 445 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__repr__ | ( | self | ) |
Definition at line 304 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__rmod__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 401 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__rsub__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 362 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__str__ | ( | self | ) |
Definition at line 292 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::__sub__ | ( | self, | ||
| other | ||||
| ) |
Definition at line 357 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::_roundquotient | ( | self, | ||
| x, | ||||
| y | ||||
| ) | [private] |
Divide x by y, return the result of rounding Developers may substitute their own 'round' for custom rounding y must be > 0
Definition at line 434 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::copy | ( | self | ) |
Definition at line 307 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::frac | ( | self | ) |
Return fractional portion as a FixedPoint. x.frac() + long(x) == x
Definition at line 427 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::get_precision | ( | self | ) |
Return the precision of this FixedPoint. The precision is the number of decimal digits carried after the decimal point, and is an int >= 0.
Definition at line 257 of file fixedpoint.py.
| def pyclearsilver::fixedpoint::FixedPoint::set_precision | ( | self, | ||
precision = DEFAULT_PRECISION | ||||
| ) |
Change the precision carried by this FixedPoint to p. precision must be an int >= 0, and defaults to DEFAULT_PRECISION. If precision is less than this FixedPoint's current precision, information may be lost to rounding.
Definition at line 266 of file fixedpoint.py.
pyclearsilver::fixedpoint::FixedPoint::__copy__ = copy [static, private] |
Definition at line 310 of file fixedpoint.py.
pyclearsilver::fixedpoint::FixedPoint::__radd__ = __add__ [static, private] |
Definition at line 355 of file fixedpoint.py.
pyclearsilver::fixedpoint::FixedPoint::__rmul__ = __mul__ [static, private] |
Definition at line 370 of file fixedpoint.py.
list pyclearsilver::fixedpoint::FixedPoint::__slots__ = ['n', 'p'] [static, private] |
Definition at line 169 of file fixedpoint.py.
Definition at line 171 of file fixedpoint.py.
Definition at line 171 of file fixedpoint.py.
pyclearsilver::fixedpoint::FixedPoint::precision = property(get_precision, set_precision) [static] |
Definition at line 290 of file fixedpoint.py.