float32
class float32
Constructors
11
__new__(what: Int[N], N: Literal[int])
Added by
internal.ops%0 = sitofp i{=N} %what to float
ret float %0
__new__(what: UInt[N], N: Literal[int])
Added by
internal.ops%0 = uitofp i{=N} %what to float
ret float %0
Methods
2
Special methods
38
__add__(self, b: float)
Added by
internal.ops__add__(self, b: float128)
Added by
internal.ops__add__(self, b: float16)
Added by
internal.ops__add__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fadd float %a, %b
ret float %tmp
__sub__(self, b: float)
Added by
internal.ops__sub__(self, b: float128)
Added by
internal.ops__sub__(self, b: float16)
Added by
internal.ops__sub__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fsub float %a, %b
ret float %tmp
__mul__(self, b: float)
Added by
internal.ops__mul__(self, b: float128)
Added by
internal.ops__mul__(self, b: float16)
Added by
internal.ops__mul__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fmul float %a, %b
ret float %tmp
__floordiv__(self, b: float)
Added by
internal.ops__floordiv__(self, b: float128)
Added by
internal.ops__floordiv__(self, b: float16)
Added by
internal.ops__floordiv__(self, b: bfloat16)
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: float32)
Added by
internal.types.float__truediv__(self, b: float)
Added by
internal.ops__truediv__(self, b: float128)
Added by
internal.ops__truediv__(self, b: float16)
Added by
internal.ops__truediv__(self, b: bfloat16)
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: float32)
Added by
internal.types.float__mod__(self, b: float)
Added by
internal.ops__mod__(self, b: float128)
Added by
internal.ops__mod__(self, b: float16)
Added by
internal.ops__mod__(self, b: bfloat16)
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: float32)
Added by
internal.types.float__divmod__(self, b: float)
Added by
internal.ops__divmod__(self, b: float128)
Added by
internal.ops__divmod__(self, b: float16)
Added by
internal.ops__divmod__(self, b: bfloat16)
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: float32)
Added by
internal.types.float__pow__(self, b: float)
Added by
internal.ops__pow__(self, b: float128)
Added by
internal.ops__pow__(self, b: float16)
Added by
internal.ops__pow__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.floatdeclare float @llvm.pow.f32(float %a, float %b)
%tmp = call float @llvm.pow.f32(float %a, float %b)
ret float %tmp
__eq__(self, b: float)
Added by
internal.ops__eq__(self, b: float128)
Added by
internal.ops__eq__(self, b: float16)
Added by
internal.ops__eq__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp oeq float %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: float16)
Added by
internal.ops__ne__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp une float %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: float16)
Added by
internal.ops__lt__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp olt float %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: float16)
Added by
internal.ops__gt__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp ogt float %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: float16)
Added by
internal.ops__le__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp ole float %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: float16)
Added by
internal.ops__ge__(self, b: bfloat16)
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: float32, b: float32)
Added by
internal.types.float%tmp = fcmp oge float %a, %b
%res = zext i1 %tmp to i8
ret i8 %res
__bool__(self)
Added by
internal.types.float%0 = fcmp une float %self, 0.000000e+00
%1 = zext i1 %0 to i8
ret i8 %1
__abs__(a: float32)
Added by
internal.types.floatdeclare float @llvm.fabs.f32(float %a)
%tmp = call float @llvm.fabs.f32(float %a)
ret float %tmp
__floor__(a: float32)
Added by
internal.types.floatdeclare float @llvm.floor.f32(float %a)
%tmp = call float @llvm.floor.f32(float %a)
ret float %tmp
__ceil__(a: float32)
Added by
internal.types.floatdeclare float @llvm.ceil.f32(float %a)
%tmp = call float @llvm.ceil.f32(float %a)
ret float %tmp
__trunc__(a: float32)
Added by
internal.types.floatdeclare float @llvm.trunc.f32(float %a)
%tmp = call float @llvm.trunc.f32(float %a)
ret float %tmp
__atomic_xchg__(d: Ptr[float32], b: float32)
Added by
internal.types.float%tmp = atomicrmw xchg ptr %d, float %b seq_cst
ret {} {}
__atomic_add__(d: Ptr[float32], b: float32)
Added by
internal.types.float0:
%1 = load atomic i32, ptr %d monotonic, align 4
%2 = bitcast i32 %1 to float
%3 = fadd float %2, %b
%4 = bitcast float %3 to i32
%5 = cmpxchg weak ptr %d, i32 %1, i32 %4 seq_cst monotonic, align 4
%6 = extractvalue { i32, i1 } %5, 1
br i1 %6, label %15, label %7
7: ; preds = %0, %7
%8 = phi { i32, i1 } [ %13, %7 ], [ %5, %0 ]
%9 = extractvalue { i32, i1 } %8, 0
%10 = bitcast i32 %9 to float
%11 = fadd float %10, %b
%12 = bitcast float %11 to i32
%13 = cmpxchg weak ptr %d, i32 %9, i32 %12 seq_cst monotonic, align 4
%14 = extractvalue { i32, i1 } %13, 1
br i1 %14, label %15, label %7
15: ; preds = %7, %0
%16 = phi float [ %2, %0 ], [ %10, %7 ]
ret float %16
__atomic_sub__(d: Ptr[float32], b: float32)
Added by
internal.types.float0:
%1 = load atomic i32, ptr %d monotonic, align 4
%2 = bitcast i32 %1 to float
%3 = fsub float %2, %b
%4 = bitcast float %3 to i32
%5 = cmpxchg weak ptr %d, i32 %1, i32 %4 seq_cst monotonic, align 4
%6 = extractvalue { i32, i1 } %5, 1
br i1 %6, label %15, label %7
7: ; preds = %0, %7
%8 = phi { i32, i1 } [ %13, %7 ], [ %5, %0 ]
%9 = extractvalue { i32, i1 } %8, 0
%10 = bitcast i32 %9 to float
%11 = fsub float %10, %b
%12 = bitcast float %11 to i32
%13 = cmpxchg weak ptr %d, i32 %9, i32 %12 seq_cst monotonic, align 4
%14 = extractvalue { i32, i1 } %13, 1
br i1 %14, label %15, label %7
15: ; preds = %7, %0
%16 = phi float [ %2, %0 ], [ %10, %7 ]
ret float %16