.. _float-ops: Native float operations ======================== These ``float`` operations have fast, optimized implementations. Other floating point operations use generic implementations that are often slower. Construction ------------ * Float literal * ``float(x: int)`` * ``float(x: i64)`` * ``float(x: i32)`` * ``float(x: i16)`` * ``float(x: u8)`` * ``float(x: str)`` * ``float(x: float)`` (no-op) Operators --------- * Arithmetic (``+``, ``-``, ``*``, ``/``, ``//``, ``%``) * Comparisons (``==``, ``!=``, ``<``, etc.) * Augmented assignment (``x += y``, etc.) Functions --------- * ``int(f)`` * ``i64(f)`` (convert to 64-bit signed integer) * ``i32(f)`` (convert to 32-bit signed integer) * ``i16(f)`` (convert to 16-bit signed integer) * ``u8(f)`` (convert to 8-bit unsigned integer) * ``abs(f)`` * ``math.sin(f)`` * ``math.cos(f)`` * ``math.tan(f)`` * ``math.sqrt(f)`` * ``math.exp(f)`` * ``math.log(f)`` * ``math.floor(f)`` * ``math.ceil(f)`` * ``math.fabs(f)`` * ``math.pow(x, y)`` * ``math.copysign(x, y)`` * ``math.isinf(f)`` * ``math.isnan(f)``