More Math! Many of the aggregates you are familiar with, but null-safe
Project description
More Math!
Basic math functions that have been stabilized to act well over Null
/None
/NaN
Branch | Status |
---|---|
master | |
dev |
Overview
Many of the basic math functions you know and love, with the additional benefit
that they do not throw exceptions and do not return NaN
.
These functions are all module methods. Be sure you call the functions
with mo_math.
prefix, like
import mo_math
mo_math.abs(-42)
or rename the functions
from mo_math import abs as mo_abs
mo_abs(-42)
This prevents confusion with the __builtin__
functions by the same name
Functions
Functions are generally conservative in the face of nulls: Specifically, they return Null
if any of their operands are not a number.
Most functions need no introduction, but some are interesting:
round(value, decimal=7, digits=None)
- Rounds to 7 decimal points, unless specified differently. Rounding todecimal=0
will return anint
. The useful parameter here isdigits
, which rounds to a specified number of significant digits.floor(value, mod=1)
- Themod
ulo parameter is used to specify the granularity of the floor function.ceiling(value, mod=1)
- Return the smallest value, that's equal or larger thanvalue
, with suitable granularity.mod(value, mod=1)
- Works on floatsapprox_str(value)
- Round values, and returntext
(unicode
in py2,str
in py3)sign(v)
- Missing from the Python library
The all-caps aggregate functions accept only one parameter; an iterable. They are decisive operators: Non-numbers are ignored, if no values are numbers then the aggregate will return Null
.
COUNT(values)
SUM(values)
PRODUCT(values)
MIN(values)
MAX(values)
Crypto
The AES and RSA crypto functions provide structured input/output on top of cryptography
library. The intent is to reveal the signed/encrypted structures so third parties can decode the data.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mo_math-7.584.24095-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0507f05c009b1594edb50a94d282145393d12d1ea710c834a19de2d6743c01ba |
|
MD5 | 49ba2951c6ba34a5ac8f0f53fef6961c |
|
BLAKE2b-256 | 02fc54f5df9fa904138d2fcd0bd7ac119744cc915bc314c5b3b283dc4babd546 |