bfloat16

Standard library class
class bfloat16
@tuple
class bfloat16
Constructors 11
__new__
__new__(what)
Added by internal.ops
__new__
__new__(what: bool)
Added by internal.ops
__new__
@pure @llvm
__new__(what: Int[N], N: Literal[int])
Added by internal.ops
%0 = sitofp i{=N} %what to bfloat
ret bfloat %0
__new__
@pure @llvm
__new__(what: UInt[N], N: Literal[int])
Added by internal.ops
%0 = uitofp i{=N} %what to bfloat
ret bfloat %0
__new__
@pure @llvm
__new__(what: float128)
Added by internal.ops
%0 = fptrunc fp128 %what to bfloat
ret bfloat %0
__new__
@pure @llvm
__new__(what: float32)
Added by internal.ops
%0 = fptrunc float %what to bfloat
ret bfloat %0
__new__
@pure @llvm
__new__(what: float16)
Added by internal.ops
%0 = fpext float16 %what to float
%1 = fptrunc float %0 to bfloat
ret bfloat %1
__new__
@pure @llvm
__new__(self: float)
%0 = fptrunc double %self to bfloat
ret bfloat %0
__new__
@overload
__new__(what: bfloat16)
__new__
@overload
__new__(what: str)
__new__
@overload
__new__()
Methods 2
cdiv
cdiv(self, other: bfloat16)
cmod
cmod(self, other: bfloat16)
Special methods 35
__add__
@commutative
__add__(self, b: float)
Added by internal.ops
__add__(self, b: float128)
Added by internal.ops
__add__(self, b: float32)
Added by internal.ops
__add__(self, b: float16)
Added by internal.ops
__add__(self, b: Int)
Added by internal.ops
__add__(self, b: UInt)
Added by internal.ops
__add__(self, b: bool)
Added by internal.ops
@pure @llvm
__add__(a: bfloat16, b: bfloat16)
%tmp = fadd bfloat %a, %b
ret bfloat %tmp
__sub__
__sub__(self, b: float)
Added by internal.ops
__sub__(self, b: float128)
Added by internal.ops
__sub__(self, b: float32)
Added by internal.ops
__sub__(self, b: float16)
Added by internal.ops
__sub__(self, b: Int)
Added by internal.ops
__sub__(self, b: UInt)
Added by internal.ops
__sub__(self, b: bool)
Added by internal.ops
@pure @llvm
__sub__(a: bfloat16, b: bfloat16)
%tmp = fsub bfloat %a, %b
ret bfloat %tmp
__mul__
@commutative
__mul__(self, b: float)
Added by internal.ops
__mul__(self, b: float128)
Added by internal.ops
__mul__(self, b: float32)
Added by internal.ops
__mul__(self, b: float16)
Added by internal.ops
__mul__(self, b: Int)
Added by internal.ops
__mul__(self, b: UInt)
Added by internal.ops
__mul__(self, b: bool)
Added by internal.ops
@pure @llvm
__mul__(a: bfloat16, b: bfloat16)
%tmp = fmul bfloat %a, %b
ret bfloat %tmp
__floordiv__
__floordiv__(self, b: float)
Added by internal.ops
__floordiv__(self, b: float128)
Added by internal.ops
__floordiv__(self, b: float32)
Added by internal.ops
__floordiv__(self, b: float16)
Added by internal.ops
__floordiv__(self, b: Int)
Added by internal.ops
__floordiv__(self, b: UInt)
Added by internal.ops
__floordiv__(self, b: bool)
Added by internal.ops
__floordiv__(self, other: bfloat16)
__truediv__
__truediv__(self, b: float)
Added by internal.ops
__truediv__(self, b: float128)
Added by internal.ops
__truediv__(self, b: float32)
Added by internal.ops
__truediv__(self, b: float16)
Added by internal.ops
__truediv__(self, b: Int)
Added by internal.ops
__truediv__(self, b: UInt)
Added by internal.ops
__truediv__(self, b: bool)
Added by internal.ops
__truediv__(self, other: bfloat16)
__mod__
__mod__(self, b: float)
Added by internal.ops
__mod__(self, b: float128)
Added by internal.ops
__mod__(self, b: float32)
Added by internal.ops
__mod__(self, b: float16)
Added by internal.ops
__mod__(self, b: Int)
Added by internal.ops
__mod__(self, b: UInt)
Added by internal.ops
__mod__(self, b: bool)
Added by internal.ops
__mod__(self, other: bfloat16)
__divmod__
__divmod__(self, b: float)
Added by internal.ops
__divmod__(self, b: float128)
Added by internal.ops
__divmod__(self, b: float32)
Added by internal.ops
__divmod__(self, b: float16)
Added by internal.ops
__divmod__(self, b: Int)
Added by internal.ops
__divmod__(self, b: UInt)
Added by internal.ops
__divmod__(self, b: bool)
Added by internal.ops
__divmod__(self, other: bfloat16)
__pow__
__pow__(self, b: float)
Added by internal.ops
__pow__(self, b: float128)
Added by internal.ops
__pow__(self, b: float32)
Added by internal.ops
__pow__(self, b: float16)
Added by internal.ops
__pow__(self, b: Int)
Added by internal.ops
__pow__(self, b: UInt)
Added by internal.ops
__pow__(self, b: bool)
Added by internal.ops
@pure @llvm
__pow__(a: bfloat16, b: bfloat16)
declare bfloat @llvm.pow.bf16(bfloat %a, bfloat %b)
%tmp = call bfloat @llvm.pow.bf16(bfloat %a, bfloat %b)
ret bfloat %tmp
__eq__
__eq__(self, b: float)
Added by internal.ops
__eq__(self, b: float128)
Added by internal.ops
__eq__(self, b: float32)
Added by internal.ops
__eq__(self, b: float16)
Added by internal.ops
__eq__(self, b: Int)
Added by internal.ops
__eq__(self, b: UInt)
Added by internal.ops
__eq__(self, b: bool)
Added by internal.ops
@pure @llvm
__eq__(a: bfloat16, b: bfloat16)
%tmp = fcmp oeq bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__ne__
__ne__(self, b: float)
Added by internal.ops
__ne__(self, b: float128)
Added by internal.ops
__ne__(self, b: float32)
Added by internal.ops
__ne__(self, b: float16)
Added by internal.ops
__ne__(self, b: Int)
Added by internal.ops
__ne__(self, b: UInt)
Added by internal.ops
__ne__(self, b: bool)
Added by internal.ops
@pure @llvm
__ne__(a: bfloat16, b: bfloat16)
%tmp = fcmp une bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__lt__
__lt__(self, b: float)
Added by internal.ops
__lt__(self, b: float128)
Added by internal.ops
__lt__(self, b: float32)
Added by internal.ops
__lt__(self, b: float16)
Added by internal.ops
__lt__(self, b: Int)
Added by internal.ops
__lt__(self, b: UInt)
Added by internal.ops
__lt__(self, b: bool)
Added by internal.ops
@pure @llvm
__lt__(a: bfloat16, b: bfloat16)
%tmp = fcmp olt bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__gt__
__gt__(self, b: float)
Added by internal.ops
__gt__(self, b: float128)
Added by internal.ops
__gt__(self, b: float32)
Added by internal.ops
__gt__(self, b: float16)
Added by internal.ops
__gt__(self, b: Int)
Added by internal.ops
__gt__(self, b: UInt)
Added by internal.ops
__gt__(self, b: bool)
Added by internal.ops
@pure @llvm
__gt__(a: bfloat16, b: bfloat16)
%tmp = fcmp ogt bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__le__
__le__(self, b: float)
Added by internal.ops
__le__(self, b: float128)
Added by internal.ops
__le__(self, b: float32)
Added by internal.ops
__le__(self, b: float16)
Added by internal.ops
__le__(self, b: Int)
Added by internal.ops
__le__(self, b: UInt)
Added by internal.ops
__le__(self, b: bool)
Added by internal.ops
@pure @llvm
__le__(a: bfloat16, b: bfloat16)
%tmp = fcmp ole bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__ge__
__ge__(self, b: float)
Added by internal.ops
__ge__(self, b: float128)
Added by internal.ops
__ge__(self, b: float32)
Added by internal.ops
__ge__(self, b: float16)
Added by internal.ops
__ge__(self, b: Int)
Added by internal.ops
__ge__(self, b: UInt)
Added by internal.ops
__ge__(self, b: bool)
Added by internal.ops
@pure @llvm
__ge__(a: bfloat16, b: bfloat16)
%tmp = fcmp oge bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__to_gpu__
__to_gpu__(self, cache: AllocCache)
Added by internal.gpu
__from_gpu__
__from_gpu__(self, other: bfloat16)
Added by internal.gpu
__from_gpu_new__
__from_gpu_new__(other: bfloat16)
Added by internal.gpu
__repr__
__repr__(self)
__format__
__format__(self, format_spec: str)
__copy__
__copy__(self)
__deepcopy__
__deepcopy__(self)
__int__
@pure @llvm
__int__(self)
%0 = fptosi bfloat %self to i64
ret i64 %0
__float__
@pure @llvm
__float__(self)
%0 = fpext bfloat %self to double
ret double %0
__bool__
@pure @llvm
__bool__(self)
%0 = fcmp une bfloat %self, 0.000000e+00
%1 = zext i1 %0 to i8
ret i8 %1
__pos__
__pos__(self)
__neg__
@pure @llvm
__neg__(self)
%0 = fneg bfloat %self
ret bfloat %0
__abs__
@pure @llvm
__abs__(a: bfloat16)
declare bfloat @llvm.fabs.bf16(bfloat %a)
%tmp = call bfloat @llvm.fabs.bf16(bfloat %a)
ret bfloat %tmp
__floor__
@pure @llvm
__floor__(a: bfloat16)
declare bfloat @llvm.floor.bf16(bfloat %a)
%tmp = call bfloat @llvm.floor.bf16(bfloat %a)
ret bfloat %tmp
__ceil__
@pure @llvm
__ceil__(a: bfloat16)
declare bfloat @llvm.ceil.bf16(bfloat %a)
%tmp = call bfloat @llvm.ceil.bf16(bfloat %a)
ret bfloat %tmp
__trunc__
@pure @llvm
__trunc__(a: bfloat16)
declare bfloat @llvm.trunc.bf16(bfloat %a)
%tmp = call bfloat @llvm.trunc.bf16(bfloat %a)
ret bfloat %tmp
__hash__
__hash__(self)
__match__
__match__(self, obj: bfloat16)
__complex__
__complex__(self)
__pickle__
__pickle__(self, jar: Jar)
Added by pickle
__unpickle__
__unpickle__(jar: Jar)
Added by pickle