1414// @ts -ignore: decorator
1515@global const i64_neg_one : i64 = - 1 ;
1616
17+ // @ts -ignore: decorator
18+ @global const i64_minimum : i64 = i64 . MIN_VALUE ;
19+
20+ // @ts -ignore: decorator
21+ @global const i64_maximum : i64 = i64 . MAX_VALUE ;
22+
1723// @ts -ignore: decorator
1824@global @inline
1925function i64_is < T > ( value : T ) : bool {
@@ -38,6 +44,12 @@ function i64_not(value: i64): i64 {
3844 return ~ value ;
3945}
4046
47+ // @ts -ignore: decorator
48+ @global @inline
49+ function i64_neg ( value : i64 ) : i64 {
50+ return - value ;
51+ }
52+
4153// @ts -ignore: decorator
4254@global @inline
4355function i64_clz ( value : i64 ) : i32 {
@@ -164,12 +176,54 @@ function i64_ne(left: i64, right: i64): bool {
164176 return left != right ;
165177}
166178
179+ // @ts -ignore: decorator
180+ @global @inline
181+ function i64_ge ( left : i64 , right : i64 ) : bool {
182+ return left >= right ;
183+ }
184+
185+ // @ts -ignore: decorator
186+ @global @inline
187+ function i64_ge_u ( left : i64 , right : i64 ) : bool {
188+ return < u64 > left >= < u64 > right ;
189+ }
190+
167191// @ts -ignore: decorator
168192@global @inline
169193function i64_gt ( left : i64 , right : i64 ) : bool {
170194 return left > right ;
171195}
172196
197+ // @ts -ignore: decorator
198+ @global @inline
199+ function i64_gt_u ( left : i64 , right : i64 ) : bool {
200+ return < u64 > left > < u64 > right ;
201+ }
202+
203+ // @ts -ignore: decorator
204+ @global @inline
205+ function i64_le ( left : i64 , right : i64 ) : bool {
206+ return left <= right ;
207+ }
208+
209+ // @ts -ignore: decorator
210+ @global @inline
211+ function i64_le_u ( left : i64 , right : i64 ) : bool {
212+ return < u64 > left <= < u64 > right ;
213+ }
214+
215+ // @ts -ignore: decorator
216+ @global @inline
217+ function i64_lt ( left : i64 , right : i64 ) : bool {
218+ return left < right ;
219+ }
220+
221+ // @ts -ignore: decorator
222+ @global @inline
223+ function i64_lt_u ( left : i64 , right : i64 ) : bool {
224+ return < u64 > left < < u64 > right ;
225+ }
226+
173227// @ts -ignore: decorator
174228@global @inline
175229function i64_align ( value : i64 , alignment : i64 ) : i64 {
@@ -178,22 +232,28 @@ function i64_align(value: i64, alignment: i64): i64 {
178232 return ( value + mask ) & ~ mask ;
179233}
180234
235+ // @ts -ignore: decorator
236+ @global @inline
237+ function i64_signbit ( value : i64 ) : bool {
238+ return < bool > ( value >>> 63 ) ;
239+ }
240+
181241// @ts -ignore: decorator
182242@global @inline
183243function i64_is_i8 ( value : i64 ) : bool {
184- return value >= i8 . MIN_VALUE && value <= < i64 > i8 . MAX_VALUE ;
244+ return value >= i8 . MIN_VALUE && value <= i8 . MAX_VALUE ;
185245}
186246
187247// @ts -ignore: decorator
188248@global @inline
189249function i64_is_i16 ( value : i64 ) : bool {
190- return value >= i16 . MIN_VALUE && value <= < i64 > i16 . MAX_VALUE ;
250+ return value >= i16 . MIN_VALUE && value <= i16 . MAX_VALUE ;
191251}
192252
193253// @ts -ignore: decorator
194254@global @inline
195255function i64_is_i32 ( value : i64 ) : bool {
196- return value >= i32 . MIN_VALUE && value <= < i64 > i32 . MAX_VALUE ;
256+ return value >= i32 . MIN_VALUE && value <= i32 . MAX_VALUE ;
197257}
198258
199259// @ts -ignore: decorator
@@ -249,3 +309,9 @@ function i64_to_f64(value: i64): f64 {
249309function i64_to_string ( value : i64 , unsigned : bool = false ) : string {
250310 return unsigned ? u64 ( value ) . toString ( ) : value . toString ( ) ;
251311}
312+
313+ // @ts -ignore: decorator
314+ @global @inline
315+ function i64_clone ( value : i64 ) : i64 {
316+ return value ;
317+ }
0 commit comments