bfloat16
class bfloat16
Constructors
11
__new__(what: Int[N], N: Literal[int])
Added by
internal.ops%0 = sitofp i{=N} %what to bfloat
ret bfloat %0
__new__(what: UInt[N], N: Literal[int])
Added by
internal.ops%0 = uitofp i{=N} %what to bfloat
ret bfloat %0
__new__(what: float16)
Added by
internal.ops%0 = fpext float16 %what to float
%1 = fptrunc float %0 to bfloat
ret bfloat %1
__new__(self: float)
Added by
internal.types.float%0 = fptrunc double %self to bfloat
ret bfloat %0
Methods
2
Special methods
35
__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__add__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fadd bfloat %a, %b
ret bfloat %tmp
__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__sub__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fsub bfloat %a, %b
ret bfloat %tmp
__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__mul__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fmul bfloat %a, %b
ret bfloat %tmp
__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)
Added by
internal.types.float__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)
Added by
internal.types.float__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)
Added by
internal.types.float__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)
Added by
internal.types.float__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__pow__(a: bfloat16, b: bfloat16)
Added by
internal.types.floatdeclare bfloat @llvm.pow.bf16(bfloat %a, bfloat %b)
%tmp = call bfloat @llvm.pow.bf16(bfloat %a, bfloat %b)
ret bfloat %tmp
__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__eq__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp oeq bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__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__ne__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp une bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__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__lt__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp olt bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__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__gt__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp ogt bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__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__le__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp ole bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__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__ge__(a: bfloat16, b: bfloat16)
Added by
internal.types.float%tmp = fcmp oge bfloat %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__bool__(self)
Added by
internal.types.float%0 = fcmp une bfloat %self, 0.000000e+00
%1 = zext i1 %0 to i8
ret i8 %1
__abs__(a: bfloat16)
Added by
internal.types.floatdeclare bfloat @llvm.fabs.bf16(bfloat %a)
%tmp = call bfloat @llvm.fabs.bf16(bfloat %a)
ret bfloat %tmp
__floor__(a: bfloat16)
Added by
internal.types.floatdeclare bfloat @llvm.floor.bf16(bfloat %a)
%tmp = call bfloat @llvm.floor.bf16(bfloat %a)
ret bfloat %tmp
__ceil__(a: bfloat16)
Added by
internal.types.floatdeclare bfloat @llvm.ceil.bf16(bfloat %a)
%tmp = call bfloat @llvm.ceil.bf16(bfloat %a)
ret bfloat %tmp
__trunc__(a: bfloat16)
Added by
internal.types.floatdeclare bfloat @llvm.trunc.bf16(bfloat %a)
%tmp = call bfloat @llvm.trunc.bf16(bfloat %a)
ret bfloat %tmp