Skip to content

math

pixeltable.functions.math

Pixeltable UDFs for mathematical operations.

Example:

import pixeltable as pxt

t = pxt.get_table(...)
t.select(t.float_col.floor()).collect()

abs

abs(self: Float) -> Float

Return the absolute value of the given number.

Equivalent to Python builtins.abs().

bitwise_and

bitwise_and(self: Int, other: Int) -> Int

Bitwise AND of two integers.

Equivalent to Python self & other.

bitwise_or

bitwise_or(self: Int, other: Int) -> Int

Bitwise OR of two integers.

Equivalent to Python self | other.

bitwise_xor

bitwise_xor(self: Int, other: Int) -> Int

Bitwise XOR of two integers.

Equivalent to Python self ^ other.

ceil

ceil(self: Float) -> Float

Return the ceiling of the given number.

Equivalent to Python float(math.ceil(self)) if self is finite, or self itself if self is infinite. (This is slightly different from the default behavior of math.ceil(self), which always returns an int and raises an error if self is infinite. The behavior in Pixeltable generalizes the Python operator and is chosen to align with the SQL standard.)

floor

floor(self: Float) -> Float

Return the ceiling of the given number.

Equivalent to Python float(math.floor(self)) if self is finite, or self itself if self is infinite. (This is slightly different from the default behavior of math.floor(self), which always returns an int and raises an error if self is infinite. The behavior of Pixeltable generalizes the Python operator and is chosen to align with the SQL standard.)

pow

pow(self: Int, other: Int) -> Float

Raise self to the power of other.

Equivalent to Python self ** other.

round

round(self: Float, digits: Optional[Int] = None) -> Float

Round a number to a given precision in decimal digits.

Equivalent to Python builtins.round(self, digits or 0). Note that if digits is not specified, the behavior matches builtins.round(self, 0) rather than builtins.round(self); this ensures that the return type is always float (as in SQL) rather than int.