int.bend checks
raw source on the hub · import bend-kit-int@0.1.0.0/int.bend as Int
Fixed-width integers U8, U16, U64, I32 and I64: wrapping, checked and saturating arithmetic.
1 import
import Base
Types
type U8 source · line 595 · raw
Data
U8@data:U32 -> U8
type U16 source · line 758 · raw
Data
U16@data:U32 -> U16
type U64 source · line 923 · raw
Data
ponytail: Word(64n) costs about 68 us per op. When Base ships a native U64 (bendlang/bend#1027), store Base's U64 here, as U8 and U16 store Base's U32.
U64@data:Word(64n) -> U64
type I32 source · line 1089 · raw
Data
I32@data:U32 -> I32
type I64 source · line 1276 · raw
Data
ponytail: Word(64n) costs about 68 us per op. When Base ships a native U64 (bendlang/bend#1027), store its bits in Base's U64, as I32 does with Base's U32.
I64@data:Word(64n) -> I64
Definitions
def Int.bits.go source · line 5 · raw
@n:Nat -> @qr:Pair(Nat, Nat) -> Word(n)
The Int.* core serves only U64 and I64. When Base ships a native U64 (bendlang/bend#1027), delete it.
def Int.bits source · line 14 · raw
@n:Nat -> @k:Nat -> Word(n)
The low n bits of k: k mod 2^n.
def Int.msb.go source · line 17 · raw
@n:Nat -> @b:Bool -> @w:Word(n) -> Bool
def Int.msb source · line 26 · raw
@n:Nat -> @w:Word(n) -> Bool
def Int.put_msb.bit source · line 29 · raw
@p:Nat -> @v:Bool -> @b:Bool -> Bool
def Int.put_msb source · line 36 · raw
@+n:Nat -> @+v:Bool -> @w:Word(n) -> Word(n)
def Int.ext source · line 45 · raw
@m:Nat -> @n:Nat -> @+fill:Bool -> @w:Word(n) -> Word(m)
def Int.ones source · line 58 · raw
@+n:Nat -> Word(n)
def Int.min source · line 61 · raw
@+n:Nat -> @s:Bool -> Word(n)
def Int.max source · line 68 · raw
@+n:Nat -> @s:Bool -> Word(n)
def Int.is_eq source · line 75 · raw
@+n:Nat -> @a:Word(n) -> @b:Word(n) -> Bool
def Int.is_zero source · line 78 · raw
@+n:Nat -> @w:Word(n) -> Bool
def Int.cmp source · line 81 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @b:Word(n) -> Cmp
def Int.neg source · line 89 · raw
@+n:Nat -> @w:Word(n) -> Word(n)
def Int.neg_if source · line 92 · raw
@+n:Nat -> @c:Bool -> @w:Word(n) -> Word(n)
def Int.abs source · line 99 · raw
@+n:Nat -> @+w:Word(n) -> Word(n)
def Int.udivmod.fin source · line 102 · raw
@-p:Nat -> @q:Word(p) -> @+n:Nat -> @s:Word(n) -> @b:Word(n) -> @g:Bool -> Pair(Word(1n+p), Word(n))
def Int.udivmod.shl source · line 110 · raw
@-p:Nat -> @q:Word(p) -> @+n:Nat -> @+b:Word(n) -> @ts:Pair(Bool, Word(n)) -> Pair(Word(1n+p), Word(n))
def Int.udivmod.rec source · line 116 · raw
@-p:Nat -> @a0:Bool -> @+n:Nat -> @+b:Word(n) -> @qr:Pair(Word(p), Word(n)) -> Pair(Word(1n+p), Word(n))
def Int.udivmod.go source · line 121 · raw
@m:Nat -> @a:Word(m) -> @+n:Nat -> @+b:Word(n) -> Pair(Word(m), Word(n))
def Int.sdivmod.fix source · line 129 · raw
@+n:Nat -> @+na:Bool -> @nb:Bool -> @qr:Pair(Word(n), Word(n)) -> Pair(Word(n), Word(n))
def Int.divmod.if source · line 135 · raw
@z:Bool -> @s:Bool -> @+n:Nat -> @+a:Word(n) -> @+b:Word(n) -> Pair(Word(n), Word(n))
x / 0 is 0 and x % 0 is x, as in Base's U32. MIN / -1 wraps to MIN.
def Int.divmod source · line 148 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @+b:Word(n) -> Pair(Word(n), Word(n))
def Int.fst source · line 152 · raw
@-n:Nat -> @p:Pair(Word(n), Word(n)) -> Word(n)
def Int.snd source · line 156 · raw
@-n:Nat -> @p:Pair(Word(n), Word(n)) -> Word(n)
def Int.div source · line 160 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @b:Word(n) -> Word(n)
def Int.mod source · line 163 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @b:Word(n) -> Word(n)
def Int.min_neg1 source · line 167 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @b:Word(n) -> Bool
True for signed MIN and -1, the one quotient that overflows.
def Int.div_ov source · line 175 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @+b:Word(n) -> Bool
def Int.add_ov.go source · line 178 · raw
@+n:Nat -> @s:Bool -> @a:Word(n) -> @b:Word(n) -> @+r:Word(n) -> Pair(Bool, Word(n))
def Int.add_ov source · line 186 · raw
@+n:Nat -> @s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Pair(Bool, Word(n))
def Int.sub_ov.go source · line 189 · raw
@+n:Nat -> @s:Bool -> @+a:Word(n) -> @b:Word(n) -> @+r:Word(n) -> Pair(Bool, Word(n))
def Int.sub_ov source · line 197 · raw
@+n:Nat -> @s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Pair(Bool, Word(n))
def Int.mul_ov.go source · line 200 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @+b:Word(n) -> @+r:Word(n) -> Pair(Bool, Word(n))
def Int.mul_ov source · line 206 · raw
@+n:Nat -> @s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Pair(Bool, Word(n))
def Int.checked source · line 209 · raw
@-n:Nat -> @o:Pair(Bool, Word(n)) -> Maybe<&2, Word(n)>
def Int.checked_div source · line 217 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Maybe<&2, Word(n)>
def Int.checked_mod source · line 221 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Maybe<&2, Word(n)>
def Int.sat source · line 225 · raw
@low:Bool -> @+n:Nat -> @s:Bool -> Word(n)
def Int.saturate source · line 232 · raw
@+n:Nat -> @s:Bool -> @low:Bool -> @o:Pair(Bool, Word(n)) -> Word(n)
def Int.saturating_add source · line 240 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @b:Word(n) -> Word(n)
def Int.saturating_sub source · line 243 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @b:Word(n) -> Word(n)
def Int.saturating_mul source · line 247 · raw
@+n:Nat -> @+s:Bool -> @+a:Word(n) -> @+b:Word(n) -> Word(n)
def Int.shl source · line 252 · raw
@+n:Nat -> @k:Nat -> @w:Word(n) -> Word(n)
def Int.shr1 source · line 260 · raw
@+n:Nat -> @s:Bool -> @+w:Word(n) -> Word(n)
Signed shifts right are arithmetic: the sign bit fills in from the top.
def Int.shr source · line 267 · raw
@+n:Nat -> @+s:Bool -> @k:Nat -> @w:Word(n) -> Word(n)
def Int.show.go source · line 275 · raw
@f:Nat -> @+n:Nat -> @acc:String -> @z:Bool -> @qr:Pair(Word(n), Word(n)) -> String
z is set once the value left to print is zero; fuel n bounds the digits.
def Int.show.u source · line 291 · raw
@+n:Nat -> @w:Word(n) -> String
def Int.show.if source · line 294 · raw
@neg:Bool -> @+n:Nat -> @w:Word(n) -> String
def Int.show source · line 301 · raw
@+n:Nat -> @s:Bool -> @+w:Word(n) -> String
def Int.read.add source · line 308 · raw
@+n:Nat -> @d:Word(n) -> @o:Pair(Bool, Word(n)) -> Maybe<&2, Word(n)>
def Int.read.dig source · line 316 · raw
@ok:Bool -> @+n:Nat -> @acc:Word(n) -> @x:U32 -> Maybe<&2, Word(n)>
def Int.read.step source · line 325 · raw
@+n:Nat -> @st:Maybe<&2, Word(n)> -> @x:U32 -> Maybe<&2, Word(n)>
def Int.read.go source · line 334 · raw
@s:String -> @+n:Nat -> @st:Maybe<&2, Word(n)> -> Maybe<&2, Word(n)>
def Int.read.u source · line 342 · raw
@+n:Nat -> @s:String -> Maybe<&2, Word(n)>
def Int.read.fit source · line 349 · raw
@bad:Bool -> @-n:Nat -> @w:Word(n) -> Maybe<&2, Word(n)>
def Int.read.pos source · line 356 · raw
@+n:Nat -> @m:Maybe<&2, Word(n)> -> Maybe<&2, Word(n)>
def Int.read.neg source · line 364 · raw
@+n:Nat -> @m:Maybe<&2, Word(n)> -> Maybe<&2, Word(n)>
def Int.read.sign source · line 373 · raw
@neg:Bool -> @+n:Nat -> @t:String -> @c:U32 -> Maybe<&2, Word(n)>
def Int.read source · line 380 · raw
@+n:Nat -> @s:Bool -> @str:String -> Maybe<&2, Word(n)>
def Int.to_nat.s source · line 392 · raw
@neg:Bool -> @n:Nat -> @w:Word(n) -> Maybe<&2, Nat>
def Int.to_nat source · line 400 · raw
@+n:Nat -> @+w:Word(n) -> Maybe<&2, Nat>
Signed values below zero have no Nat.
def Int.sext source · line 403 · raw
@m:Nat -> @+n:Nat -> @+w:Word(n) -> Word(m)
def Nar.opt source · line 407 · raw
@ov:Bool -> @r:U32 -> Maybe<&2, U32>
U8 and U16 hold their value in a U32 below 2^w, and m is 2^w - 1.
def Nar.over source · line 414 · raw
@+m:U32 -> @+r:U32 -> Maybe<&2, U32>
def Nar.checked_sub source · line 417 · raw
@+a:U32 -> @+b:U32 -> Maybe<&2, U32>
def Nar.checked_div source · line 420 · raw
@a:U32 -> @+b:U32 -> Maybe<&2, U32>
def Nar.checked_mod source · line 423 · raw
@a:U32 -> @+b:U32 -> Maybe<&2, U32>
def Nar.sat_sub source · line 426 · raw
@lt:Bool -> @a:U32 -> @b:U32 -> U32
def Nar.saturating_sub source · line 433 · raw
@+a:U32 -> @+b:U32 -> U32
def Nar.read source · line 436 · raw
@+m:U32 -> @r:Maybe<&2, U32> -> Maybe<&2, U32>
def S32.MIN source · line 445 · raw
U32
I32 holds its two's-complement bits in a U32.
def S32.is_neg source · line 448 · raw
@x:U32 -> Bool
def S32.neg source · line 451 · raw
@x:U32 -> U32
def S32.neg_if source · line 454 · raw
@c:Bool -> @x:U32 -> U32
def S32.abs source · line 461 · raw
@+x:U32 -> U32
def S32.cmp source · line 464 · raw
@a:U32 -> @b:U32 -> Cmp
def S32.divmod.if source · line 468 · raw
@z:Bool -> @+a:U32 -> @+b:U32 -> Pair(U32, U32)
x / 0 is 0 and x % 0 is x, as in Base's U32. MIN / -1 wraps to MIN.
def S32.fst source · line 477 · raw
@p:Pair(U32, U32) -> U32
def S32.snd source · line 481 · raw
@p:Pair(U32, U32) -> U32
def S32.div source · line 485 · raw
@a:U32 -> @+b:U32 -> U32
def S32.mod source · line 488 · raw
@a:U32 -> @+b:U32 -> U32
def S32.min_neg1 source · line 492 · raw
@a:U32 -> @b:U32 -> Bool
True for MIN and -1, the one quotient that overflows.
def S32.div_ov source · line 495 · raw
@+a:U32 -> @+b:U32 -> Bool
def S32.add_ov.go source · line 498 · raw
@a:U32 -> @b:U32 -> @+r:U32 -> Pair(Bool, U32)
def S32.add_ov source · line 501 · raw
@+a:U32 -> @+b:U32 -> Pair(Bool, U32)
def S32.sub_ov.go source · line 504 · raw
@+a:U32 -> @b:U32 -> @+r:U32 -> Pair(Bool, U32)
def S32.sub_ov source · line 507 · raw
@+a:U32 -> @+b:U32 -> Pair(Bool, U32)
def S32.mul_ov.go source · line 510 · raw
@+a:U32 -> @+b:U32 -> @+r:U32 -> Pair(Bool, U32)
def S32.mul_ov source · line 514 · raw
@+a:U32 -> @+b:U32 -> Pair(Bool, U32)
def S32.checked source · line 517 · raw
@o:Pair(Bool, U32) -> Maybe<&2, U32>
def S32.checked_div source · line 521 · raw
@+a:U32 -> @+b:U32 -> Maybe<&2, U32>
def S32.checked_mod source · line 524 · raw
@+a:U32 -> @+b:U32 -> Maybe<&2, U32>
def S32.sat source · line 527 · raw
@low:Bool -> U32
def S32.saturate source · line 534 · raw
@low:Bool -> @o:Pair(Bool, U32) -> U32
def S32.shr.if source · line 543 · raw
@neg:Bool -> @x:U32 -> @k:Nat -> U32
Shifts right are arithmetic: the sign bit fills in from the top.
def S32.show.if source · line 550 · raw
@neg:Bool -> @x:U32 -> String
def S32.read.neg source · line 557 · raw
@r:Maybe<&2, U32> -> Maybe<&2, U32>
def S32.read.pos source · line 565 · raw
@r:Maybe<&2, U32> -> Maybe<&2, U32>
def S32.read.sign source · line 573 · raw
@neg:Bool -> @t:String -> @c:U32 -> Maybe<&2, U32>
def S32.read source · line 580 · raw
@s:String -> Maybe<&2, U32>
def S32.to_nat.if source · line 588 · raw
@neg:Bool -> @x:U32 -> Maybe<&2, Nat>
def U8.some source · line 598 · raw
@m:Maybe<&2, U32> -> Maybe<&2, U8>
def U8.MIN source · line 605 · raw
U8
def U8.MAX source · line 608 · raw
U8
def U8.add source · line 611 · raw
@a:U8 -> @b:U8 -> U8
def U8.sub source · line 616 · raw
@a:U8 -> @b:U8 -> U8
def U8.mul source · line 621 · raw
@a:U8 -> @b:U8 -> U8
def U8.and source · line 626 · raw
@a:U8 -> @b:U8 -> U8
def U8.or source · line 631 · raw
@a:U8 -> @b:U8 -> U8
def U8.xor source · line 636 · raw
@a:U8 -> @b:U8 -> U8
def U8.div source · line 641 · raw
@a:U8 -> @b:U8 -> U8
def U8.mod source · line 646 · raw
@a:U8 -> @b:U8 -> U8
def U8.checked_add source · line 651 · raw
@a:U8 -> @b:U8 -> Maybe<&2, U8>
def U8.checked_sub source · line 656 · raw
@a:U8 -> @b:U8 -> Maybe<&2, U8>
def U8.checked_mul source · line 661 · raw
@a:U8 -> @b:U8 -> Maybe<&2, U8>
def U8.checked_div source · line 666 · raw
@a:U8 -> @b:U8 -> Maybe<&2, U8>
def U8.checked_mod source · line 671 · raw
@a:U8 -> @b:U8 -> Maybe<&2, U8>
def U8.saturating_add source · line 676 · raw
@a:U8 -> @b:U8 -> U8
def U8.saturating_sub source · line 681 · raw
@a:U8 -> @b:U8 -> U8
def U8.saturating_mul source · line 686 · raw
@a:U8 -> @b:U8 -> U8
def U8.cmp source · line 691 · raw
@a:U8 -> @b:U8 -> Cmp
def U8.is_eq source · line 696 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_lt source · line 699 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_le source · line 702 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_gt source · line 705 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_ge source · line 708 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_ne source · line 711 · raw
@a:U8 -> @b:U8 -> Bool
def U8.is_zero source · line 714 · raw
@a:U8 -> Bool
def U8.not source · line 719 · raw
@a:U8 -> U8
def U8.shl source · line 724 · raw
@a:U8 -> @k:Nat -> U8
def U8.shr source · line 729 · raw
@a:U8 -> @k:Nat -> U8
def U8.show source · line 734 · raw
@a:U8 -> String
def U8.read source · line 739 · raw
@s:String -> Maybe<&2, U8>
def U8.to_u32 source · line 742 · raw
@a:U8 -> U32
def U8.from_u32 source · line 747 · raw
@a:U32 -> U8
def U8.to_nat source · line 750 · raw
@a:U8 -> Nat
def U8.from_nat source · line 755 · raw
@k:Nat -> U8
def U16.some source · line 761 · raw
@m:Maybe<&2, U32> -> Maybe<&2, U16>
def U16.MIN source · line 768 · raw
U16
def U16.MAX source · line 771 · raw
U16
def U16.add source · line 774 · raw
@a:U16 -> @b:U16 -> U16
def U16.sub source · line 779 · raw
@a:U16 -> @b:U16 -> U16
def U16.mul source · line 784 · raw
@a:U16 -> @b:U16 -> U16
def U16.and source · line 789 · raw
@a:U16 -> @b:U16 -> U16
def U16.or source · line 794 · raw
@a:U16 -> @b:U16 -> U16
def U16.xor source · line 799 · raw
@a:U16 -> @b:U16 -> U16
def U16.div source · line 804 · raw
@a:U16 -> @b:U16 -> U16
def U16.mod source · line 809 · raw
@a:U16 -> @b:U16 -> U16
def U16.checked_add source · line 814 · raw
@a:U16 -> @b:U16 -> Maybe<&2, U16>
def U16.checked_sub source · line 819 · raw
@a:U16 -> @b:U16 -> Maybe<&2, U16>
def U16.checked_mul source · line 824 · raw
@a:U16 -> @b:U16 -> Maybe<&2, U16>
def U16.checked_div source · line 829 · raw
@a:U16 -> @b:U16 -> Maybe<&2, U16>
def U16.checked_mod source · line 834 · raw
@a:U16 -> @b:U16 -> Maybe<&2, U16>
def U16.saturating_add source · line 839 · raw
@a:U16 -> @b:U16 -> U16
def U16.saturating_sub source · line 844 · raw
@a:U16 -> @b:U16 -> U16
def U16.saturating_mul source · line 849 · raw
@a:U16 -> @b:U16 -> U16
def U16.cmp source · line 854 · raw
@a:U16 -> @b:U16 -> Cmp
def U16.is_eq source · line 859 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_lt source · line 862 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_le source · line 865 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_gt source · line 868 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_ge source · line 871 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_ne source · line 874 · raw
@a:U16 -> @b:U16 -> Bool
def U16.is_zero source · line 877 · raw
@a:U16 -> Bool
def U16.not source · line 882 · raw
@a:U16 -> U16
def U16.shl source · line 887 · raw
@a:U16 -> @k:Nat -> U16
def U16.shr source · line 892 · raw
@a:U16 -> @k:Nat -> U16
def U16.show source · line 897 · raw
@a:U16 -> String
def U16.read source · line 902 · raw
@s:String -> Maybe<&2, U16>
def U16.to_u32 source · line 905 · raw
@a:U16 -> U32
def U16.from_u32 source · line 910 · raw
@a:U32 -> U16
def U16.to_nat source · line 913 · raw
@a:U16 -> Nat
def U16.from_nat source · line 918 · raw
@k:Nat -> U16
def U64.some source · line 926 · raw
@m:Maybe<&2, Word(64n)> -> Maybe<&2, U64>
def U64.MIN source · line 933 · raw
U64
def U64.MAX source · line 936 · raw
U64
def U64.add source · line 939 · raw
@a:U64 -> @b:U64 -> U64
def U64.sub source · line 944 · raw
@a:U64 -> @b:U64 -> U64
def U64.mul source · line 949 · raw
@a:U64 -> @b:U64 -> U64
def U64.and source · line 954 · raw
@a:U64 -> @b:U64 -> U64
def U64.or source · line 959 · raw
@a:U64 -> @b:U64 -> U64
def U64.xor source · line 964 · raw
@a:U64 -> @b:U64 -> U64
def U64.div source · line 969 · raw
@a:U64 -> @b:U64 -> U64
def U64.mod source · line 974 · raw
@a:U64 -> @b:U64 -> U64
def U64.checked_add source · line 979 · raw
@a:U64 -> @b:U64 -> Maybe<&2, U64>
def U64.checked_sub source · line 984 · raw
@a:U64 -> @b:U64 -> Maybe<&2, U64>
def U64.checked_mul source · line 989 · raw
@a:U64 -> @b:U64 -> Maybe<&2, U64>
def U64.checked_div source · line 994 · raw
@a:U64 -> @b:U64 -> Maybe<&2, U64>
def U64.checked_mod source · line 999 · raw
@a:U64 -> @b:U64 -> Maybe<&2, U64>
def U64.saturating_add source · line 1004 · raw
@a:U64 -> @b:U64 -> U64
def U64.saturating_sub source · line 1009 · raw
@a:U64 -> @b:U64 -> U64
def U64.saturating_mul source · line 1014 · raw
@a:U64 -> @b:U64 -> U64
def U64.cmp source · line 1019 · raw
@a:U64 -> @b:U64 -> Cmp
def U64.is_eq source · line 1024 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_lt source · line 1027 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_le source · line 1030 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_gt source · line 1033 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_ge source · line 1036 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_ne source · line 1039 · raw
@a:U64 -> @b:U64 -> Bool
def U64.is_zero source · line 1042 · raw
@a:U64 -> Bool
def U64.not source · line 1047 · raw
@a:U64 -> U64
def U64.shl source · line 1052 · raw
@a:U64 -> @k:Nat -> U64
def U64.shr source · line 1057 · raw
@a:U64 -> @k:Nat -> U64
def U64.show source · line 1062 · raw
@a:U64 -> String
def U64.read source · line 1067 · raw
@s:String -> Maybe<&2, U64>
def U64.to_u32 source · line 1070 · raw
@a:U64 -> U32
def U64.from_u32 source · line 1075 · raw
@a:U32 -> U64
def U64.to_nat source · line 1081 · raw
@a:U64 -> Nat
A native build stops on a Nat past 2^48 - 1, so large U64 values have no native Nat.
def U64.from_nat source · line 1086 · raw
@k:Nat -> U64
def I32.some source · line 1092 · raw
@m:Maybe<&2, U32> -> Maybe<&2, I32>
def I32.MIN source · line 1099 · raw
I32
def I32.MAX source · line 1102 · raw
I32
def I32.add source · line 1105 · raw
@a:I32 -> @b:I32 -> I32
def I32.sub source · line 1110 · raw
@a:I32 -> @b:I32 -> I32
def I32.mul source · line 1115 · raw
@a:I32 -> @b:I32 -> I32
def I32.and source · line 1120 · raw
@a:I32 -> @b:I32 -> I32
def I32.or source · line 1125 · raw
@a:I32 -> @b:I32 -> I32
def I32.xor source · line 1130 · raw
@a:I32 -> @b:I32 -> I32
def I32.div source · line 1135 · raw
@a:I32 -> @b:I32 -> I32
def I32.mod source · line 1140 · raw
@a:I32 -> @b:I32 -> I32
def I32.checked_add source · line 1145 · raw
@a:I32 -> @b:I32 -> Maybe<&2, I32>
def I32.checked_sub source · line 1150 · raw
@a:I32 -> @b:I32 -> Maybe<&2, I32>
def I32.checked_mul source · line 1155 · raw
@a:I32 -> @b:I32 -> Maybe<&2, I32>
def I32.checked_div source · line 1160 · raw
@a:I32 -> @b:I32 -> Maybe<&2, I32>
def I32.checked_mod source · line 1165 · raw
@a:I32 -> @b:I32 -> Maybe<&2, I32>
def I32.cmp source · line 1170 · raw
@a:I32 -> @b:I32 -> Cmp
def I32.saturating_add source · line 1175 · raw
@a:I32 -> @b:I32 -> I32
def I32.saturating_sub source · line 1181 · raw
@a:I32 -> @b:I32 -> I32
def I32.saturating_mul source · line 1187 · raw
@a:I32 -> @b:I32 -> I32
def I32.is_eq source · line 1194 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_lt source · line 1197 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_le source · line 1200 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_gt source · line 1203 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_ge source · line 1206 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_ne source · line 1209 · raw
@a:I32 -> @b:I32 -> Bool
def I32.is_zero source · line 1212 · raw
@a:I32 -> Bool
def I32.not source · line 1217 · raw
@a:I32 -> I32
def I32.shl source · line 1222 · raw
@a:I32 -> @k:Nat -> I32
def I32.shr source · line 1227 · raw
@a:I32 -> @k:Nat -> I32
def I32.neg source · line 1233 · raw
@a:I32 -> I32
def I32.abs source · line 1238 · raw
@a:I32 -> I32
def I32.is_neg source · line 1243 · raw
@a:I32 -> Bool
def I32.show source · line 1248 · raw
@a:I32 -> String
def I32.read source · line 1254 · raw
@s:String -> Maybe<&2, I32>
def I32.to_u32 source · line 1257 · raw
@a:I32 -> U32
def I32.from_u32 source · line 1262 · raw
@a:U32 -> I32
def I32.to_nat source · line 1265 · raw
@a:I32 -> Maybe<&2, Nat>
def I32.from_nat source · line 1271 · raw
@k:Nat -> I32
def I64.some source · line 1279 · raw
@m:Maybe<&2, Word(64n)> -> Maybe<&2, I64>
def I64.MIN source · line 1286 · raw
I64
def I64.MAX source · line 1289 · raw
I64
def I64.add source · line 1292 · raw
@a:I64 -> @b:I64 -> I64
def I64.sub source · line 1297 · raw
@a:I64 -> @b:I64 -> I64
def I64.mul source · line 1302 · raw
@a:I64 -> @b:I64 -> I64
def I64.and source · line 1307 · raw
@a:I64 -> @b:I64 -> I64
def I64.or source · line 1312 · raw
@a:I64 -> @b:I64 -> I64
def I64.xor source · line 1317 · raw
@a:I64 -> @b:I64 -> I64
def I64.div source · line 1322 · raw
@a:I64 -> @b:I64 -> I64
def I64.mod source · line 1327 · raw
@a:I64 -> @b:I64 -> I64
def I64.checked_add source · line 1332 · raw
@a:I64 -> @b:I64 -> Maybe<&2, I64>
def I64.checked_sub source · line 1337 · raw
@a:I64 -> @b:I64 -> Maybe<&2, I64>
def I64.checked_mul source · line 1342 · raw
@a:I64 -> @b:I64 -> Maybe<&2, I64>
def I64.checked_div source · line 1347 · raw
@a:I64 -> @b:I64 -> Maybe<&2, I64>
def I64.checked_mod source · line 1352 · raw
@a:I64 -> @b:I64 -> Maybe<&2, I64>
def I64.saturating_add source · line 1357 · raw
@a:I64 -> @b:I64 -> I64
def I64.saturating_sub source · line 1362 · raw
@a:I64 -> @b:I64 -> I64
def I64.saturating_mul source · line 1367 · raw
@a:I64 -> @b:I64 -> I64
def I64.cmp source · line 1372 · raw
@a:I64 -> @b:I64 -> Cmp
def I64.is_eq source · line 1377 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_lt source · line 1380 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_le source · line 1383 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_gt source · line 1386 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_ge source · line 1389 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_ne source · line 1392 · raw
@a:I64 -> @b:I64 -> Bool
def I64.is_zero source · line 1395 · raw
@a:I64 -> Bool
def I64.not source · line 1400 · raw
@a:I64 -> I64
def I64.shl source · line 1405 · raw
@a:I64 -> @k:Nat -> I64
def I64.shr source · line 1410 · raw
@a:I64 -> @k:Nat -> I64
def I64.neg source · line 1415 · raw
@a:I64 -> I64
def I64.abs source · line 1420 · raw
@a:I64 -> I64
def I64.is_neg source · line 1425 · raw
@a:I64 -> Bool
def I64.show source · line 1430 · raw
@a:I64 -> String
def I64.read source · line 1435 · raw
@s:String -> Maybe<&2, I64>
def I64.to_u32 source · line 1438 · raw
@a:I64 -> U32
def I64.from_u32 source · line 1443 · raw
@a:U32 -> I64
def I64.to_nat source · line 1448 · raw
@a:I64 -> Maybe<&2, Nat>
def I64.from_nat source · line 1453 · raw
@k:Nat -> I64