1- var lo : u32 , hi : u32 ;
1+ import {
2+ clz as builtin_clz ,
3+ ctz as builtin_ctz ,
4+ popcnt as builtin_popcnt ,
5+ rotl as builtin_rotl ,
6+ rotr as builtin_rotr ,
7+ } from "builtins" ;
8+
9+ let
10+ lo: u32 ,
11+ hi : u32 ;
212
313export function getLo ( ) : u32 {
414 return lo ;
@@ -8,186 +18,176 @@ export function getHi(): u32 {
818 return hi ;
919}
1020
11- import { clz as builtin_clz } from "builtins" ;
12-
1321export function clz ( loLeft : u32 , hiLeft : u32 ) : void {
1422 var ret = builtin_clz < u64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) ;
1523 lo = < u32 > ret ;
1624 hi = 0 ;
1725}
1826
19- import { ctz as builtin_ctz } from "builtins" ;
20-
2127export function ctz ( loLeft : u32 , hiLeft : u32 ) : void {
2228 var ret = builtin_ctz < u64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) ;
2329 lo = < u32 > ret ;
2430 hi = 0 ;
2531}
2632
27- import { popcnt as builtin_popcnt } from "builtins" ;
28-
2933export function popcnt ( loLeft : u32 , hiLeft : u32 ) : void {
3034 var ret = builtin_popcnt < u64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) ;
3135 lo = < u32 > ret ;
3236 hi = 0 ;
3337}
3438
3539export function eqz ( loLeft : u32 , hiLeft : u32 ) : void {
36- var ret : bool = ! ( < u64 > loLeft | < u64 > hiLeft << 32 ) ;
40+ var ret = ! ( < u64 > loLeft | < u64 > hiLeft << 32 ) ;
3741 lo = u32 ( ret ) ;
3842 hi = 0 ;
3943}
4044
4145export function add ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
4246 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) + ( < u64 > loRight | < u64 > hiRight << 32 ) ;
4347 lo = < u32 > ret ;
44- hi = < u32 > ( ret >> 32 ) ;
48+ hi = u32 ( ret >> 32 ) ;
4549}
4650
4751export function sub ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
4852 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) - ( < u64 > loRight | < u64 > hiRight << 32 ) ;
4953 lo = < u32 > ret ;
50- hi = < u32 > ( ret >> 32 ) ;
54+ hi = u32 ( ret >> 32 ) ;
5155}
5256
5357export function mul ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
5458 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) * ( < u64 > loRight | < u64 > hiRight << 32 ) ;
5559 lo = < u32 > ret ;
56- hi = < u32 > ( ret >> 32 ) ;
60+ hi = u32 ( ret >> 32 ) ;
5761}
5862
5963export function div_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
60- var ret = < u64 > ( < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) / < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
64+ var ret = u64 ( i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) / i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
6165 lo = < u32 > ret ;
62- hi = < u32 > ( ret >> 32 ) ;
66+ hi = u32 ( ret >> 32 ) ;
6367}
6468
6569export function div_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
6670 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) / ( < u64 > loRight | < u64 > hiRight << 32 ) ;
6771 lo = < u32 > ret ;
68- hi = < u32 > ( ret >> 32 ) ;
72+ hi = u32 ( ret >> 32 ) ;
6973}
7074
7175export function rem_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
72- var ret = < u64 > ( < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) % < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
76+ var ret = u64 ( i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) % i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
7377 lo = < u32 > ret ;
74- hi = < u32 > ( ret >> 32 ) ;
78+ hi = u32 ( ret >> 32 ) ;
7579}
7680
7781export function rem_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
7882 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) % ( < u64 > loRight | < u64 > hiRight << 32 ) ;
7983 lo = < u32 > ret ;
80- hi = < u32 > ( ret >>> 32 ) ;
84+ hi = u32 ( ret >>> 32 ) ;
8185}
8286
8387export function and ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
8488 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) & ( < u64 > loRight | < u64 > hiRight << 32 ) ;
8589 lo = < u32 > ret ;
86- hi = < u32 > ( ret >>> 32 ) ;
90+ hi = u32 ( ret >>> 32 ) ;
8791}
8892
8993export function or ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
9094 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) | ( < u64 > loRight | < u64 > hiRight << 32 ) ;
9195 lo = < u32 > ret ;
92- hi = < u32 > ( ret >>> 32 ) ;
96+ hi = u32 ( ret >>> 32 ) ;
9397}
9498
9599export function xor ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
96100 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) ^ ( < u64 > loRight | < u64 > hiRight << 32 ) ;
97101 lo = < u32 > ret ;
98- hi = < u32 > ( ret >>> 32 ) ;
102+ hi = u32 ( ret >>> 32 ) ;
99103}
100104
101105export function shl ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
102106 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) << ( < u64 > loRight | < u64 > hiRight << 32 ) ;
103107 lo = < u32 > ret ;
104- hi = < u32 > ( ret >>> 32 ) ;
108+ hi = u32 ( ret >>> 32 ) ;
105109}
106110
107111export function shr_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
108- var ret = < u64 > ( < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) >> < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
112+ var ret = u64 ( i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) >> i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ) ;
109113 lo = < u32 > ret ;
110- hi = < u32 > ( ret >>> 32 ) ;
114+ hi = u32 ( ret >>> 32 ) ;
111115}
112116
113117export function shr_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
114118 var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) >> ( < u64 > loRight | < u64 > hiRight << 32 ) ;
115119 lo = < u32 > ret ;
116- hi = < u32 > ( ret >>> 32 ) ;
120+ hi = u32 ( ret >>> 32 ) ;
117121}
118122
119- import { rotl as builtin_rotl } from "builtins" ;
120-
121123export function rotl ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
122124 var ret = builtin_rotl < u64 > ( < u64 > loLeft | < u64 > hiLeft << 32 , < u64 > loRight | < u64 > hiRight << 32 ) ;
123125 lo = < u32 > ret ;
124- hi = < u32 > ( ret >>> 32 ) ;
126+ hi = u32 ( ret >>> 32 ) ;
125127}
126128
127- import { rotr as builtin_rotr } from "builtins" ;
128-
129129export function rotr ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
130130 var ret = builtin_rotr < u64 > ( < u64 > loLeft | < u64 > hiLeft << 32 , < u64 > loRight | < u64 > hiRight << 32 ) ;
131131 lo = < u32 > ret ;
132- hi = < u32 > ( ret >>> 32 ) ;
132+ hi = u32 ( ret >>> 32 ) ;
133133}
134134
135135export function eq ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
136- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) == ( < u64 > loRight | < u64 > hiRight << 32 ) ;
136+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) == ( < u64 > loRight | < u64 > hiRight << 32 ) ;
137137 lo = u32 ( ret ) ;
138138 hi = 0 ;
139139}
140140
141141export function ne ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
142- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) != ( < u64 > loRight | < u64 > hiRight << 32 ) ;
142+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) != ( < u64 > loRight | < u64 > hiRight << 32 ) ;
143143 lo = u32 ( ret ) ;
144144 hi = 0 ;
145145}
146146
147147export function lt_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
148- var ret : bool = < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) < < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
148+ var ret = i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) < i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ;
149149 lo = u32 ( ret ) ;
150150 hi = 0 ;
151151}
152152
153153export function lt_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
154- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) < ( < u64 > loRight | < u64 > hiRight << 32 ) ;
154+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) < ( < u64 > loRight | < u64 > hiRight << 32 ) ;
155155 lo = u32 ( ret ) ;
156156 hi = 0 ;
157157}
158158
159159export function le_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
160- var ret : bool = < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) <= < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
160+ var ret = i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) <= i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ;
161161 lo = u32 ( ret ) ;
162162 hi = 0 ;
163163}
164164
165165export function le_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
166- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) <= ( < u64 > loRight | < u64 > hiRight << 32 ) ;
166+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) <= ( < u64 > loRight | < u64 > hiRight << 32 ) ;
167167 lo = u32 ( ret ) ;
168168 hi = 0 ;
169169}
170170
171171export function gt_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
172- var ret : bool = < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) > < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
172+ var ret = < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) > < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
173173 lo = u32 ( ret ) ;
174174 hi = 0 ;
175175}
176176
177177export function gt_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
178- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
178+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
179179 lo = u32 ( ret ) ;
180180 hi = 0 ;
181181}
182182
183183export function ge_s ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
184- var ret : bool = < i64 > ( < u64 > loLeft | < u64 > hiLeft << 32 ) >= < i64 > ( < u64 > loRight | < u64 > hiRight << 32 ) ;
184+ var ret = i64 ( < u64 > loLeft | < u64 > hiLeft << 32 ) >= i64 ( < u64 > loRight | < u64 > hiRight << 32 ) ;
185185 lo = u32 ( ret ) ;
186186 hi = 0 ;
187187}
188188
189189export function ge_u ( loLeft : u32 , hiLeft : u32 , loRight : u32 , hiRight : u32 ) : void {
190- var ret : bool = ( < u64 > loLeft | < u64 > hiLeft << 32 ) >= ( < u64 > loRight | < u64 > hiRight << 32 ) ;
190+ var ret = ( < u64 > loLeft | < u64 > hiLeft << 32 ) >= ( < u64 > loRight | < u64 > hiRight << 32 ) ;
191191 lo = u32 ( ret ) ;
192192 hi = 0 ;
193193}
0 commit comments