51 lines
1 KiB
ReStructuredText
51 lines
1 KiB
ReStructuredText
|
.. _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)``
|