@specy/risc-v 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +1111 -1109
  2. package/dist/index.mjs +1111 -1109
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3163,6 +3163,8 @@ var asr_JsRiscV_setIs64Bit$exported$27 = (var$1, var$2) => {
3163
3163
  ju_Observable_notifyObservers(var$1, null);
3164
3164
  }
3165
3165
  if (asr_Globals_initialized) {
3166
+ asrr_InstructionSet_$callClinit();
3167
+ asrr_InstructionSet_rv64 = var$3;
3166
3168
  var$1 = asrr_InstructionSet__init_();
3167
3169
  asr_Globals_instructionSet = var$1;
3168
3170
  asrr_InstructionSet_populate(var$1);
@@ -3320,9 +3322,9 @@ var asr_JsRiscV__clinit_ = () => {
3320
3322
  jnc_CodingErrorAction__clinit_();
3321
3323
  jnc_CoderResult__clinit_();
3322
3324
  jn_ByteOrder__clinit_();
3323
- asrjt_Float64__clinit_();
3324
3325
  asrjt_Float32__clinit_();
3325
3326
  jm_BigInteger__clinit_();
3327
+ asrjt_Float64__clinit_();
3326
3328
  asrjo_Arithmetic__clinit_();
3327
3329
  asrj_RoundingMode__clinit_();
3328
3330
  asrj_Flags__clinit_();
@@ -7037,6 +7039,40 @@ var jl_System_currentTimeMillis = () => {
7037
7039
  return Long_fromNumber((/* @__PURE__ */ new Date()).getTime());
7038
7040
  };
7039
7041
  var jl_CloneNotSupportedException = $rt_classWithoutFields(jl_Exception);
7042
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7043
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7044
+ let var$2, var$3, var$4, var$5;
7045
+ var$1 = var$1;
7046
+ asr_JsRiscV_$callClinit();
7047
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7048
+ var$3 = var$2.data;
7049
+ var$4 = 0;
7050
+ while (var$4 < asra_TokenList_size(var$1)) {
7051
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7052
+ var$4 = var$4 + 1 | 0;
7053
+ }
7054
+ var$5 = new asr_JsRiscVTokenizedLine();
7055
+ var$5.$line0 = var$1.$processedLine;
7056
+ var$5.$tokens0 = var$2;
7057
+ return var$5;
7058
+ };
7059
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7060
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7061
+ asr_JsRiscV_$callClinit();
7062
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7063
+ };
7064
+ function asr_JsRiscVTokenizedLine() {
7065
+ let a = this;
7066
+ jl_Object.call(a);
7067
+ a.$line0 = null;
7068
+ a.$tokens0 = null;
7069
+ }
7070
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7071
+ return $rt_ustr(var$1.$line0);
7072
+ };
7073
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7074
+ return otji_JS_wrap(var$1.$tokens0);
7075
+ };
7040
7076
  var asrrh_RegisterFile = $rt_classWithoutFields();
7041
7077
  var asrrh_RegisterFile_instance = null;
7042
7078
  var asrrh_RegisterFile_programCounter = null;
@@ -7044,16 +7080,16 @@ var asrrh_RegisterFile_$callClinit = () => {
7044
7080
  asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7045
7081
  asrrh_RegisterFile__clinit_();
7046
7082
  };
7047
- var asrrh_RegisterFile_updateRegister = (var$1, var$2) => {
7083
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7048
7084
  let var$3;
7049
7085
  asrrh_RegisterFile_$callClinit();
7050
- if (var$1) {
7086
+ if ($num) {
7051
7087
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7052
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, var$2);
7088
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7053
7089
  else {
7054
7090
  var$3 = asr_Globals_program.$backStepper;
7055
- var$2 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, var$2);
7056
- asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), var$1, var$2);
7091
+ $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7092
+ asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7057
7093
  }
7058
7094
  }
7059
7095
  };
@@ -7168,6 +7204,234 @@ var asrrh_RegisterFile__clinit_ = () => {
7168
7204
  asrrh_RegisterFile_instance = var$1;
7169
7205
  asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(242), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7170
7206
  };
7207
+ var ju_Arrays = $rt_classWithoutFields();
7208
+ var ju_Arrays_copyOf1 = ($array, $length) => {
7209
+ let $result, var$4, $sz, $i;
7210
+ $array = $array.data;
7211
+ $result = $rt_createCharArray($length);
7212
+ var$4 = $result.data;
7213
+ $sz = jl_Math_min($length, $array.length);
7214
+ $i = 0;
7215
+ while ($i < $sz) {
7216
+ var$4[$i] = $array[$i];
7217
+ $i = $i + 1 | 0;
7218
+ }
7219
+ return $result;
7220
+ };
7221
+ var ju_Arrays_copyOf0 = ($array, $length) => {
7222
+ let $result, var$4, $sz, $i;
7223
+ $array = $array.data;
7224
+ $result = $rt_createByteArray($length);
7225
+ var$4 = $result.data;
7226
+ $sz = jl_Math_min($length, $array.length);
7227
+ $i = 0;
7228
+ while ($i < $sz) {
7229
+ var$4[$i] = $array[$i];
7230
+ $i = $i + 1 | 0;
7231
+ }
7232
+ return $result;
7233
+ };
7234
+ var ju_Arrays_copyOf2 = ($array, $length) => {
7235
+ let $result, var$4, $sz, $i;
7236
+ $array = $array.data;
7237
+ $result = $rt_createIntArray($length);
7238
+ var$4 = $result.data;
7239
+ $sz = jl_Math_min($length, $array.length);
7240
+ $i = 0;
7241
+ while ($i < $sz) {
7242
+ var$4[$i] = $array[$i];
7243
+ $i = $i + 1 | 0;
7244
+ }
7245
+ return $result;
7246
+ };
7247
+ var ju_Arrays_copyOf = ($original, $newLength) => {
7248
+ let var$3, $result, $sz, $i;
7249
+ var$3 = $original.data;
7250
+ $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7251
+ $sz = jl_Math_min($newLength, var$3.length);
7252
+ $i = 0;
7253
+ while ($i < $sz) {
7254
+ $result.data[$i] = var$3[$i];
7255
+ $i = $i + 1 | 0;
7256
+ }
7257
+ return $result;
7258
+ };
7259
+ var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7260
+ let var$5, var$6, var$7;
7261
+ if ($fromIndex > $toIndex) {
7262
+ var$5 = new jl_IllegalArgumentException();
7263
+ jl_Throwable__init_(var$5);
7264
+ $rt_throw(var$5);
7265
+ }
7266
+ while ($fromIndex < $toIndex) {
7267
+ var$6 = $a.data;
7268
+ var$7 = $fromIndex + 1 | 0;
7269
+ var$6[$fromIndex] = $val;
7270
+ $fromIndex = var$7;
7271
+ }
7272
+ };
7273
+ var ju_Arrays_fill = ($a, $val) => {
7274
+ ju_Arrays_fill0($a, 0, $a.data.length, $val);
7275
+ };
7276
+ var ju_Arrays_sort = ($a) => {
7277
+ let var$2, $second, $chunkSize, var$5, $i, var$7, var$8, var$9, $i_0, var$11, var$12, var$13, var$14, var$15, var$16, var$17;
7278
+ var$2 = $a.data.length;
7279
+ if (!var$2)
7280
+ return;
7281
+ $second = $rt_createIntArray(var$2);
7282
+ $chunkSize = 1;
7283
+ var$5 = $a;
7284
+ while ($chunkSize < var$2) {
7285
+ $i = 0;
7286
+ while (true) {
7287
+ var$7 = var$5.data;
7288
+ var$8 = var$7.length;
7289
+ if ($i >= var$8)
7290
+ break;
7291
+ var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7292
+ $i_0 = $i + (2 * $chunkSize | 0) | 0;
7293
+ var$8 = jl_Math_min(var$8, $i_0);
7294
+ var$11 = $i;
7295
+ var$12 = var$9;
7296
+ a: {
7297
+ b: {
7298
+ while ($i != var$9) {
7299
+ if (var$12 == var$8)
7300
+ break b;
7301
+ var$13 = var$7[$i];
7302
+ var$14 = var$7[var$12];
7303
+ if (var$13 > var$14) {
7304
+ var$15 = $second.data;
7305
+ var$16 = var$11 + 1 | 0;
7306
+ var$15[var$11] = var$14;
7307
+ var$12 = var$12 + 1 | 0;
7308
+ } else {
7309
+ var$15 = $second.data;
7310
+ var$16 = var$11 + 1 | 0;
7311
+ var$15[var$11] = var$13;
7312
+ $i = $i + 1 | 0;
7313
+ }
7314
+ var$11 = var$16;
7315
+ }
7316
+ while (true) {
7317
+ if (var$12 >= var$8)
7318
+ break a;
7319
+ var$15 = $second.data;
7320
+ var$17 = var$11 + 1 | 0;
7321
+ $i = var$12 + 1 | 0;
7322
+ var$15[var$11] = var$7[var$12];
7323
+ var$11 = var$17;
7324
+ var$12 = $i;
7325
+ }
7326
+ }
7327
+ while (true) {
7328
+ if ($i >= var$9)
7329
+ break a;
7330
+ var$15 = $second.data;
7331
+ var$17 = var$11 + 1 | 0;
7332
+ var$8 = $i + 1 | 0;
7333
+ var$15[var$11] = var$7[$i];
7334
+ var$11 = var$17;
7335
+ $i = var$8;
7336
+ }
7337
+ }
7338
+ $i = $i_0;
7339
+ }
7340
+ $chunkSize = $chunkSize * 2 | 0;
7341
+ var$15 = var$5;
7342
+ var$5 = $second;
7343
+ $second = var$15;
7344
+ }
7345
+ c: {
7346
+ if (var$5 !== $a) {
7347
+ $i_0 = 0;
7348
+ while (true) {
7349
+ $a = var$5.data;
7350
+ if ($i_0 >= $a.length)
7351
+ break c;
7352
+ $second.data[$i_0] = $a[$i_0];
7353
+ $i_0 = $i_0 + 1 | 0;
7354
+ }
7355
+ }
7356
+ }
7357
+ };
7358
+ var ju_Arrays_binarySearch = ($a, $key) => {
7359
+ let var$3, var$4, var$5, var$6, var$7;
7360
+ $a = $a.data;
7361
+ var$3 = 0;
7362
+ var$4 = $a.length;
7363
+ if (var$3 > var$4) {
7364
+ var$5 = new jl_IllegalArgumentException();
7365
+ jl_Throwable__init_(var$5);
7366
+ $rt_throw(var$5);
7367
+ }
7368
+ var$6 = var$4 - 1 | 0;
7369
+ a: {
7370
+ while (true) {
7371
+ if (var$3 > var$6) {
7372
+ var$4 = (-var$3 | 0) - 1 | 0;
7373
+ break a;
7374
+ }
7375
+ var$4 = (var$3 + var$6 | 0) / 2 | 0;
7376
+ var$7 = $a[var$4];
7377
+ if (var$7 == $key)
7378
+ break;
7379
+ if ($key >= var$7)
7380
+ var$3 = var$4 + 1 | 0;
7381
+ else
7382
+ var$6 = var$4 - 1 | 0;
7383
+ }
7384
+ }
7385
+ return var$4;
7386
+ };
7387
+ var ju_Arrays_stream = ($array) => {
7388
+ let var$2, var$3, var$4;
7389
+ var$2 = $array.data;
7390
+ var$3 = new jusi_ArrayStreamImpl();
7391
+ var$4 = var$2.length;
7392
+ var$3.$array6 = $array;
7393
+ var$3.$index1 = 0;
7394
+ var$3.$end1 = var$4;
7395
+ var$3.$size2 = var$4 - 0 | 0;
7396
+ return var$3;
7397
+ };
7398
+ var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7399
+ var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7400
+ let var$2, var$3;
7401
+ var$1 = var$1;
7402
+ var$2 = new asr_JsBackStep();
7403
+ var$3 = var$1.$action;
7404
+ var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7405
+ var$2.$pc2 = var$1.$pc1;
7406
+ var$2.$param10 = var$1.$param1;
7407
+ var$2.$param20 = Long_lo(var$1.$param2);
7408
+ return var$2;
7409
+ };
7410
+ var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7411
+ var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7412
+ asr_JsRiscV_$callClinit();
7413
+ return $rt_createArray(asr_JsBackStep, var$1);
7414
+ };
7415
+ function asr_JsBackStep() {
7416
+ let a = this;
7417
+ jl_Object.call(a);
7418
+ a.$action0 = 0;
7419
+ a.$pc2 = 0;
7420
+ a.$param10 = 0;
7421
+ a.$param20 = 0;
7422
+ }
7423
+ var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7424
+ return var$1.$pc2;
7425
+ };
7426
+ var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7427
+ return var$1.$param20;
7428
+ };
7429
+ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7430
+ return var$1.$action0;
7431
+ };
7432
+ var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7433
+ return var$1.$param10;
7434
+ };
7171
7435
  function asr_JsProgramStatement() {
7172
7436
  let a = this;
7173
7437
  jl_Object.call(a);
@@ -7245,234 +7509,6 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7245
7509
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7246
7510
  return $rt_ustr(var$1.$machineStatement0);
7247
7511
  };
7248
- var ju_Arrays = $rt_classWithoutFields();
7249
- var ju_Arrays_copyOf1 = ($array, $length) => {
7250
- let $result, var$4, $sz, $i;
7251
- $array = $array.data;
7252
- $result = $rt_createCharArray($length);
7253
- var$4 = $result.data;
7254
- $sz = jl_Math_min($length, $array.length);
7255
- $i = 0;
7256
- while ($i < $sz) {
7257
- var$4[$i] = $array[$i];
7258
- $i = $i + 1 | 0;
7259
- }
7260
- return $result;
7261
- };
7262
- var ju_Arrays_copyOf0 = ($array, $length) => {
7263
- let $result, var$4, $sz, $i;
7264
- $array = $array.data;
7265
- $result = $rt_createByteArray($length);
7266
- var$4 = $result.data;
7267
- $sz = jl_Math_min($length, $array.length);
7268
- $i = 0;
7269
- while ($i < $sz) {
7270
- var$4[$i] = $array[$i];
7271
- $i = $i + 1 | 0;
7272
- }
7273
- return $result;
7274
- };
7275
- var ju_Arrays_copyOf2 = ($array, $length) => {
7276
- let $result, var$4, $sz, $i;
7277
- $array = $array.data;
7278
- $result = $rt_createIntArray($length);
7279
- var$4 = $result.data;
7280
- $sz = jl_Math_min($length, $array.length);
7281
- $i = 0;
7282
- while ($i < $sz) {
7283
- var$4[$i] = $array[$i];
7284
- $i = $i + 1 | 0;
7285
- }
7286
- return $result;
7287
- };
7288
- var ju_Arrays_copyOf = ($original, $newLength) => {
7289
- let var$3, $result, $sz, $i;
7290
- var$3 = $original.data;
7291
- $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7292
- $sz = jl_Math_min($newLength, var$3.length);
7293
- $i = 0;
7294
- while ($i < $sz) {
7295
- $result.data[$i] = var$3[$i];
7296
- $i = $i + 1 | 0;
7297
- }
7298
- return $result;
7299
- };
7300
- var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7301
- let var$5, var$6, var$7;
7302
- if ($fromIndex > $toIndex) {
7303
- var$5 = new jl_IllegalArgumentException();
7304
- jl_Throwable__init_(var$5);
7305
- $rt_throw(var$5);
7306
- }
7307
- while ($fromIndex < $toIndex) {
7308
- var$6 = $a.data;
7309
- var$7 = $fromIndex + 1 | 0;
7310
- var$6[$fromIndex] = $val;
7311
- $fromIndex = var$7;
7312
- }
7313
- };
7314
- var ju_Arrays_fill = ($a, $val) => {
7315
- ju_Arrays_fill0($a, 0, $a.data.length, $val);
7316
- };
7317
- var ju_Arrays_sort = ($a) => {
7318
- let var$2, $second, $chunkSize, var$5, $i, var$7, var$8, var$9, $i_0, var$11, var$12, var$13, var$14, var$15, var$16, var$17;
7319
- var$2 = $a.data.length;
7320
- if (!var$2)
7321
- return;
7322
- $second = $rt_createIntArray(var$2);
7323
- $chunkSize = 1;
7324
- var$5 = $a;
7325
- while ($chunkSize < var$2) {
7326
- $i = 0;
7327
- while (true) {
7328
- var$7 = var$5.data;
7329
- var$8 = var$7.length;
7330
- if ($i >= var$8)
7331
- break;
7332
- var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7333
- $i_0 = $i + (2 * $chunkSize | 0) | 0;
7334
- var$8 = jl_Math_min(var$8, $i_0);
7335
- var$11 = $i;
7336
- var$12 = var$9;
7337
- a: {
7338
- b: {
7339
- while ($i != var$9) {
7340
- if (var$12 == var$8)
7341
- break b;
7342
- var$13 = var$7[$i];
7343
- var$14 = var$7[var$12];
7344
- if (var$13 > var$14) {
7345
- var$15 = $second.data;
7346
- var$16 = var$11 + 1 | 0;
7347
- var$15[var$11] = var$14;
7348
- var$12 = var$12 + 1 | 0;
7349
- } else {
7350
- var$15 = $second.data;
7351
- var$16 = var$11 + 1 | 0;
7352
- var$15[var$11] = var$13;
7353
- $i = $i + 1 | 0;
7354
- }
7355
- var$11 = var$16;
7356
- }
7357
- while (true) {
7358
- if (var$12 >= var$8)
7359
- break a;
7360
- var$15 = $second.data;
7361
- var$17 = var$11 + 1 | 0;
7362
- $i = var$12 + 1 | 0;
7363
- var$15[var$11] = var$7[var$12];
7364
- var$11 = var$17;
7365
- var$12 = $i;
7366
- }
7367
- }
7368
- while (true) {
7369
- if ($i >= var$9)
7370
- break a;
7371
- var$15 = $second.data;
7372
- var$17 = var$11 + 1 | 0;
7373
- var$8 = $i + 1 | 0;
7374
- var$15[var$11] = var$7[$i];
7375
- var$11 = var$17;
7376
- $i = var$8;
7377
- }
7378
- }
7379
- $i = $i_0;
7380
- }
7381
- $chunkSize = $chunkSize * 2 | 0;
7382
- var$15 = var$5;
7383
- var$5 = $second;
7384
- $second = var$15;
7385
- }
7386
- c: {
7387
- if (var$5 !== $a) {
7388
- $i_0 = 0;
7389
- while (true) {
7390
- $a = var$5.data;
7391
- if ($i_0 >= $a.length)
7392
- break c;
7393
- $second.data[$i_0] = $a[$i_0];
7394
- $i_0 = $i_0 + 1 | 0;
7395
- }
7396
- }
7397
- }
7398
- };
7399
- var ju_Arrays_binarySearch = ($a, $key) => {
7400
- let var$3, var$4, var$5, var$6, var$7;
7401
- $a = $a.data;
7402
- var$3 = 0;
7403
- var$4 = $a.length;
7404
- if (var$3 > var$4) {
7405
- var$5 = new jl_IllegalArgumentException();
7406
- jl_Throwable__init_(var$5);
7407
- $rt_throw(var$5);
7408
- }
7409
- var$6 = var$4 - 1 | 0;
7410
- a: {
7411
- while (true) {
7412
- if (var$3 > var$6) {
7413
- var$4 = (-var$3 | 0) - 1 | 0;
7414
- break a;
7415
- }
7416
- var$4 = (var$3 + var$6 | 0) / 2 | 0;
7417
- var$7 = $a[var$4];
7418
- if (var$7 == $key)
7419
- break;
7420
- if ($key >= var$7)
7421
- var$3 = var$4 + 1 | 0;
7422
- else
7423
- var$6 = var$4 - 1 | 0;
7424
- }
7425
- }
7426
- return var$4;
7427
- };
7428
- var ju_Arrays_stream = ($array) => {
7429
- let var$2, var$3, var$4;
7430
- var$2 = $array.data;
7431
- var$3 = new jusi_ArrayStreamImpl();
7432
- var$4 = var$2.length;
7433
- var$3.$array6 = $array;
7434
- var$3.$index1 = 0;
7435
- var$3.$end1 = var$4;
7436
- var$3.$size2 = var$4 - 0 | 0;
7437
- return var$3;
7438
- };
7439
- var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7440
- var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7441
- let var$2, var$3;
7442
- var$1 = var$1;
7443
- var$2 = new asr_JsBackStep();
7444
- var$3 = var$1.$action;
7445
- var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7446
- var$2.$pc2 = var$1.$pc1;
7447
- var$2.$param10 = var$1.$param1;
7448
- var$2.$param20 = Long_lo(var$1.$param2);
7449
- return var$2;
7450
- };
7451
- var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7452
- var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7453
- asr_JsRiscV_$callClinit();
7454
- return $rt_createArray(asr_JsBackStep, var$1);
7455
- };
7456
- function asr_JsBackStep() {
7457
- let a = this;
7458
- jl_Object.call(a);
7459
- a.$action0 = 0;
7460
- a.$pc2 = 0;
7461
- a.$param10 = 0;
7462
- a.$param20 = 0;
7463
- }
7464
- var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7465
- return var$1.$pc2;
7466
- };
7467
- var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7468
- return var$1.$param20;
7469
- };
7470
- var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7471
- return var$1.$action0;
7472
- };
7473
- var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7474
- return var$1.$param10;
7475
- };
7476
7512
  function asr_JsCompilationResult() {
7477
7513
  let a = this;
7478
7514
  jl_Object.call(a);
@@ -7556,40 +7592,6 @@ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7556
7592
  var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7557
7593
  return var$1.$fp;
7558
7594
  };
7559
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7560
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7561
- let var$2, var$3, var$4, var$5;
7562
- var$1 = var$1;
7563
- asr_JsRiscV_$callClinit();
7564
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7565
- var$3 = var$2.data;
7566
- var$4 = 0;
7567
- while (var$4 < asra_TokenList_size(var$1)) {
7568
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7569
- var$4 = var$4 + 1 | 0;
7570
- }
7571
- var$5 = new asr_JsRiscVTokenizedLine();
7572
- var$5.$line0 = var$1.$processedLine;
7573
- var$5.$tokens0 = var$2;
7574
- return var$5;
7575
- };
7576
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7577
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7578
- asr_JsRiscV_$callClinit();
7579
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7580
- };
7581
- function asr_JsRiscVTokenizedLine() {
7582
- let a = this;
7583
- jl_Object.call(a);
7584
- a.$line0 = null;
7585
- a.$tokens0 = null;
7586
- }
7587
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7588
- return $rt_ustr(var$1.$line0);
7589
- };
7590
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7591
- return otji_JS_wrap(var$1.$tokens0);
7592
- };
7593
7595
  var ju_Map$Entry = $rt_classWithoutFields(0);
7594
7596
  function ju_MapEntry() {
7595
7597
  let a = this;
@@ -8134,100 +8136,6 @@ var asr_RISCVFile_getName = ($this) => {
8134
8136
  return $this.$name2;
8135
8137
  };
8136
8138
  var jl_StringIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
8137
- function asrrh_Register() {
8138
- let a = this;
8139
- ju_Observable.call(a);
8140
- a.$name1 = null;
8141
- a.$number = 0;
8142
- a.$resetValue0 = Long_ZERO;
8143
- a.$value2 = Long_ZERO;
8144
- }
8145
- var asrrh_Register__init_0 = ($this, $n, $num, $val) => {
8146
- ju_Observable__init_($this);
8147
- $this.$name1 = $n;
8148
- $this.$number = $num;
8149
- $this.$value2 = $val;
8150
- $this.$resetValue0 = $val;
8151
- };
8152
- var asrrh_Register__init_ = (var_0, var_1, var_2) => {
8153
- let var_3 = new asrrh_Register();
8154
- asrrh_Register__init_0(var_3, var_0, var_1, var_2);
8155
- return var_3;
8156
- };
8157
- var asrrh_Register_getName = ($this) => {
8158
- return $this.$name1;
8159
- };
8160
- var asrrh_Register_getValue = ($this) => {
8161
- jl_Object_monitorEnterSync($this);
8162
- try {
8163
- asrrh_Register_notifyAnyObservers($this, 0);
8164
- return $this.$value2;
8165
- } finally {
8166
- jl_Object_monitorExitSync($this);
8167
- }
8168
- };
8169
- var asrrh_Register_getValueNoNotify = ($this) => {
8170
- jl_Object_monitorEnterSync($this);
8171
- try {
8172
- return $this.$value2;
8173
- } finally {
8174
- jl_Object_monitorExitSync($this);
8175
- }
8176
- };
8177
- var asrrh_Register_getNumber = ($this) => {
8178
- return $this.$number;
8179
- };
8180
- var asrrh_Register_setValue = ($this, $val) => {
8181
- let $old;
8182
- jl_Object_monitorEnterSync($this);
8183
- try {
8184
- $old = $this.$value2;
8185
- $this.$value2 = $val;
8186
- asrrh_Register_notifyAnyObservers($this, 1);
8187
- return $old;
8188
- } finally {
8189
- jl_Object_monitorExitSync($this);
8190
- }
8191
- };
8192
- var asrrh_Register_setValueBackdoor = ($this, $val) => {
8193
- let $old;
8194
- jl_Object_monitorEnterSync($this);
8195
- try {
8196
- $old = $this.$value2;
8197
- $this.$value2 = $val;
8198
- return $old;
8199
- } finally {
8200
- jl_Object_monitorExitSync($this);
8201
- }
8202
- };
8203
- var asrrh_Register_resetValue = ($this) => {
8204
- jl_Object_monitorEnterSync($this);
8205
- try {
8206
- $this.$value2 = $this.$resetValue0;
8207
- } finally {
8208
- jl_Object_monitorExitSync($this);
8209
- }
8210
- };
8211
- var asrrh_Register_changeResetValue = ($this, $reset) => {
8212
- jl_Object_monitorEnterSync($this);
8213
- try {
8214
- $this.$resetValue0 = $reset;
8215
- } finally {
8216
- jl_Object_monitorExitSync($this);
8217
- }
8218
- };
8219
- var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8220
- let var$2, var$3, var$4;
8221
- var$2 = $this;
8222
- if (ju_Observable_countObservers(var$2) > 0) {
8223
- ju_Observable_setChanged(var$2);
8224
- var$3 = new asrrh_RegisterAccessNotice();
8225
- var$4 = $this.$name1;
8226
- asrrh_AccessNotice__init_(var$3, $type);
8227
- var$3.$registerName = var$4;
8228
- ju_Observable_notifyObservers(var$2, var$3);
8229
- }
8230
- };
8231
8139
  function asrs_BackStepper() {
8232
8140
  let a = this;
8233
8141
  jl_Object.call(a);
@@ -8445,6 +8353,100 @@ var jusi_ArrayStreamImpl_next = ($this, $consumer) => {
8445
8353
  var jusi_ArrayStreamImpl_estimateSize = ($this) => {
8446
8354
  return $this.$size2;
8447
8355
  };
8356
+ function asrrh_Register() {
8357
+ let a = this;
8358
+ ju_Observable.call(a);
8359
+ a.$name1 = null;
8360
+ a.$number = 0;
8361
+ a.$resetValue0 = Long_ZERO;
8362
+ a.$value2 = Long_ZERO;
8363
+ }
8364
+ var asrrh_Register__init_0 = ($this, $n, $num, $val) => {
8365
+ ju_Observable__init_($this);
8366
+ $this.$name1 = $n;
8367
+ $this.$number = $num;
8368
+ $this.$value2 = $val;
8369
+ $this.$resetValue0 = $val;
8370
+ };
8371
+ var asrrh_Register__init_ = (var_0, var_1, var_2) => {
8372
+ let var_3 = new asrrh_Register();
8373
+ asrrh_Register__init_0(var_3, var_0, var_1, var_2);
8374
+ return var_3;
8375
+ };
8376
+ var asrrh_Register_getName = ($this) => {
8377
+ return $this.$name1;
8378
+ };
8379
+ var asrrh_Register_getValue = ($this) => {
8380
+ jl_Object_monitorEnterSync($this);
8381
+ try {
8382
+ asrrh_Register_notifyAnyObservers($this, 0);
8383
+ return $this.$value2;
8384
+ } finally {
8385
+ jl_Object_monitorExitSync($this);
8386
+ }
8387
+ };
8388
+ var asrrh_Register_getValueNoNotify = ($this) => {
8389
+ jl_Object_monitorEnterSync($this);
8390
+ try {
8391
+ return $this.$value2;
8392
+ } finally {
8393
+ jl_Object_monitorExitSync($this);
8394
+ }
8395
+ };
8396
+ var asrrh_Register_getNumber = ($this) => {
8397
+ return $this.$number;
8398
+ };
8399
+ var asrrh_Register_setValue = ($this, $val) => {
8400
+ let $old;
8401
+ jl_Object_monitorEnterSync($this);
8402
+ try {
8403
+ $old = $this.$value2;
8404
+ $this.$value2 = $val;
8405
+ asrrh_Register_notifyAnyObservers($this, 1);
8406
+ return $old;
8407
+ } finally {
8408
+ jl_Object_monitorExitSync($this);
8409
+ }
8410
+ };
8411
+ var asrrh_Register_setValueBackdoor = ($this, $val) => {
8412
+ let $old;
8413
+ jl_Object_monitorEnterSync($this);
8414
+ try {
8415
+ $old = $this.$value2;
8416
+ $this.$value2 = $val;
8417
+ return $old;
8418
+ } finally {
8419
+ jl_Object_monitorExitSync($this);
8420
+ }
8421
+ };
8422
+ var asrrh_Register_resetValue = ($this) => {
8423
+ jl_Object_monitorEnterSync($this);
8424
+ try {
8425
+ $this.$value2 = $this.$resetValue0;
8426
+ } finally {
8427
+ jl_Object_monitorExitSync($this);
8428
+ }
8429
+ };
8430
+ var asrrh_Register_changeResetValue = ($this, $reset) => {
8431
+ jl_Object_monitorEnterSync($this);
8432
+ try {
8433
+ $this.$resetValue0 = $reset;
8434
+ } finally {
8435
+ jl_Object_monitorExitSync($this);
8436
+ }
8437
+ };
8438
+ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8439
+ let var$2, var$3, var$4;
8440
+ var$2 = $this;
8441
+ if (ju_Observable_countObservers(var$2) > 0) {
8442
+ ju_Observable_setChanged(var$2);
8443
+ var$3 = new asrrh_RegisterAccessNotice();
8444
+ var$4 = $this.$name1;
8445
+ asrrh_AccessNotice__init_(var$3, $type);
8446
+ var$3.$registerName = var$4;
8447
+ ju_Observable_notifyObservers(var$2, var$3);
8448
+ }
8449
+ };
8448
8450
  function asr_JsCompilationResult$_init_$lambda$_0_0() {
8449
8451
  jl_Object.call(this);
8450
8452
  this.$_06 = null;
@@ -15931,6 +15933,7 @@ var jl_Thread__clinit_ = () => {
15931
15933
  };
15932
15934
  var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
15933
15935
  var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
15936
+ var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
15934
15937
  var otjc_JSObjects = $rt_classWithoutFields();
15935
15938
  var otji_JSWrapper$Helper = $rt_classWithoutFields();
15936
15939
  var otji_JSWrapper$Helper_hashCodes = null;
@@ -15966,7 +15969,6 @@ var otji_JSWrapper$Helper__clinit_ = () => {
15966
15969
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
15967
15970
  };
15968
15971
  var otjc_JSUndefined = $rt_classWithoutFields();
15969
- var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
15970
15972
  function ju_Arrays$ArrayAsList() {
15971
15973
  ju_AbstractList.call(this);
15972
15974
  this.$array3 = null;
@@ -31229,222 +31231,6 @@ var asrjt_Floating = $rt_classWithoutFields();
31229
31231
  var asrjt_Floating_isFinite = ($this) => {
31230
31232
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31231
31233
  };
31232
- function asrjt_Float64() {
31233
- asrjt_Floating.call(this);
31234
- this.$bits1 = Long_ZERO;
31235
- }
31236
- var asrjt_Float64_Zero = null;
31237
- var asrjt_Float64_NegativeZero = null;
31238
- var asrjt_Float64_NaN = null;
31239
- var asrjt_Float64_Infinity = null;
31240
- var asrjt_Float64_NegativeInfinity = null;
31241
- var asrjt_Float64_$assertionsDisabled = 0;
31242
- var asrjt_Float64__init_1 = ($this, $bits) => {
31243
- $this.$bits1 = $bits;
31244
- };
31245
- var asrjt_Float64__init_ = (var_0) => {
31246
- let var_1 = new asrjt_Float64();
31247
- asrjt_Float64__init_1(var_1, var_0);
31248
- return var_1;
31249
- };
31250
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31251
- asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
31252
- };
31253
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31254
- let var_3 = new asrjt_Float64();
31255
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31256
- return var_3;
31257
- };
31258
- var asrjt_Float64_exponent = ($this) => {
31259
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31260
- };
31261
- var asrjt_Float64_negate = ($this) => {
31262
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31263
- };
31264
- var asrjt_Float64_isSignMinus = ($this) => {
31265
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31266
- };
31267
- var asrjt_Float64_isInfinite = ($this) => {
31268
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31269
- };
31270
- var asrjt_Float64_isNormal = ($this) => {
31271
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31272
- };
31273
- var asrjt_Float64_isSubnormal = ($this) => {
31274
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31275
- };
31276
- var asrjt_Float64_isNaN = ($this) => {
31277
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31278
- };
31279
- var asrjt_Float64_isSignalling = ($this) => {
31280
- if (!asrjt_Float64_isNaN($this))
31281
- return 0;
31282
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31283
- };
31284
- var asrjt_Float64_isZero = ($this) => {
31285
- let var$1;
31286
- var$1 = $this.$bits1;
31287
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31288
- };
31289
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31290
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31291
- if (asrji_ExactFloat_isZero($ef))
31292
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31293
- $ef = asrji_ExactFloat_normalize($ef);
31294
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31295
- if ($normalizedExponent > -1022) {
31296
- if ($normalizedExponent > 1024) {
31297
- $mainBits = $env.$flags;
31298
- $roundedBits = asrj_Flags_overflow;
31299
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31300
- $mainBits = $env.$flags;
31301
- $roundedBits = asrj_Flags_inexact;
31302
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31303
- asrjt_Float64$1_$callClinit();
31304
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31305
- case 1:
31306
- break;
31307
- case 2:
31308
- case 3:
31309
- $normalizedExponent = $ef.$sign;
31310
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31311
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31312
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31313
- case 4:
31314
- case 5:
31315
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31316
- default:
31317
- if (!asrjt_Float64_$assertionsDisabled)
31318
- $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31319
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31320
- }
31321
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31322
- }
31323
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31324
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31325
- $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31326
- $a = new asrjt_Float64();
31327
- $normalizedExponent = $ef.$sign;
31328
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31329
- $ef = $ef.$significand;
31330
- asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
31331
- return $a;
31332
- }
31333
- $mainBits = $env.$flags;
31334
- $roundedBits = asrj_Flags_inexact;
31335
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31336
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31337
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31338
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31339
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31340
- $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
31341
- $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31342
- } else {
31343
- if ($ef.$exponent0 > -1075) {
31344
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31345
- $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31346
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31347
- }
31348
- $mainBits = $env.$flags;
31349
- $roundedBits = asrj_Flags_inexact;
31350
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31351
- $mainBits = $env.$flags;
31352
- $roundedBits = asrj_Flags_underflow;
31353
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31354
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
31355
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31356
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31357
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31358
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31359
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31360
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31361
- else {
31362
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31363
- $rt_throw(jl_AssertionError__init_1());
31364
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31365
- }
31366
- }
31367
- asrjt_Float64$1_$callClinit();
31368
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31369
- case 1:
31370
- break;
31371
- case 2:
31372
- case 3:
31373
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31374
- return $towardsZero;
31375
- return $awayZero;
31376
- default:
31377
- $ef = jm_BigInteger_ONE;
31378
- $normalizedExponent = $bitsToRound - 1 | 0;
31379
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31380
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31381
- return $towardsZero;
31382
- return $awayZero;
31383
- }
31384
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31385
- return $towardsZero;
31386
- return $awayZero;
31387
- }
31388
- return $towardsZero;
31389
- };
31390
- var asrjt_Float64_toExactFloat = ($this) => {
31391
- let $sign, $exponent, $significand;
31392
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31393
- $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31394
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31395
- $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31396
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31397
- $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31398
- $sign = asrjt_Float64_isSignMinus($this);
31399
- if (asrjt_Float64_isZero($this)) {
31400
- $exponent = 0;
31401
- $significand = jm_BigInteger_ZERO;
31402
- } else if (asrjt_Float64_isNormal($this)) {
31403
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31404
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31405
- } else {
31406
- if (!asrjt_Float64_isSubnormal($this)) {
31407
- if (asrjt_Float64_$assertionsDisabled)
31408
- return null;
31409
- $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31410
- }
31411
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31412
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31413
- }
31414
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
31415
- };
31416
- var asrjt_Float64_maxPrecision = ($this) => {
31417
- return 60;
31418
- };
31419
- var asrjt_Float64_negate0 = ($this) => {
31420
- return asrjt_Float64_negate($this);
31421
- };
31422
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31423
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31424
- };
31425
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
31426
- return asrjt_Float64_NegativeInfinity;
31427
- };
31428
- var asrjt_Float64_Infinity0 = ($this) => {
31429
- return asrjt_Float64_Infinity;
31430
- };
31431
- var asrjt_Float64_NegativeZero0 = ($this) => {
31432
- return asrjt_Float64_NegativeZero;
31433
- };
31434
- var asrjt_Float64_Zero0 = ($this) => {
31435
- return asrjt_Float64_Zero;
31436
- };
31437
- var asrjt_Float64_NaN0 = ($this) => {
31438
- return asrjt_Float64_NaN;
31439
- };
31440
- var asrjt_Float64__clinit_ = () => {
31441
- asrjt_Float64_$assertionsDisabled = 0;
31442
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
31443
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
31444
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
31445
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31446
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31447
- };
31448
31234
  function asrjt_Float32() {
31449
31235
  asrjt_Floating.call(this);
31450
31236
  this.$bits0 = 0;
@@ -31661,6 +31447,375 @@ var asrjt_Float32__clinit_ = () => {
31661
31447
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31662
31448
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31663
31449
  };
31450
+ function jm_BigInteger() {
31451
+ let a = this;
31452
+ jl_Number.call(a);
31453
+ a.$digits = null;
31454
+ a.$numberLength = 0;
31455
+ a.$sign0 = 0;
31456
+ a.$firstNonzeroDigit = 0;
31457
+ }
31458
+ var jm_BigInteger_ZERO = null;
31459
+ var jm_BigInteger_ONE = null;
31460
+ var jm_BigInteger_TWO = null;
31461
+ var jm_BigInteger_TEN = null;
31462
+ var jm_BigInteger_MINUS_ONE = null;
31463
+ var jm_BigInteger_SMALL_VALUES = null;
31464
+ var jm_BigInteger_TWO_POWS = null;
31465
+ var jm_BigInteger__init_4 = ($this, $sign, $value) => {
31466
+ let var$3;
31467
+ $this.$firstNonzeroDigit = -2;
31468
+ $this.$sign0 = $sign;
31469
+ $this.$numberLength = 1;
31470
+ var$3 = $rt_createIntArray(1);
31471
+ var$3.data[0] = $value;
31472
+ $this.$digits = var$3;
31473
+ };
31474
+ var jm_BigInteger__init_ = (var_0, var_1) => {
31475
+ let var_2 = new jm_BigInteger();
31476
+ jm_BigInteger__init_4(var_2, var_0, var_1);
31477
+ return var_2;
31478
+ };
31479
+ var jm_BigInteger__init_2 = ($this, $sign, $numberLength, $digits) => {
31480
+ $this.$firstNonzeroDigit = -2;
31481
+ $this.$sign0 = $sign;
31482
+ $this.$numberLength = $numberLength;
31483
+ $this.$digits = $digits;
31484
+ };
31485
+ var jm_BigInteger__init_0 = (var_0, var_1, var_2) => {
31486
+ let var_3 = new jm_BigInteger();
31487
+ jm_BigInteger__init_2(var_3, var_0, var_1, var_2);
31488
+ return var_3;
31489
+ };
31490
+ var jm_BigInteger__init_3 = ($this, $sign, $val) => {
31491
+ let var$3;
31492
+ $this.$firstNonzeroDigit = -2;
31493
+ $this.$sign0 = $sign;
31494
+ if (Long_eq(Long_and($val, Long_create(0, 4294967295)), Long_ZERO)) {
31495
+ $this.$numberLength = 1;
31496
+ var$3 = $rt_createIntArray(1);
31497
+ var$3.data[0] = Long_lo($val);
31498
+ $this.$digits = var$3;
31499
+ } else {
31500
+ $this.$numberLength = 2;
31501
+ $this.$digits = $rt_createIntArrayFromData([Long_lo($val), Long_hi($val)]);
31502
+ }
31503
+ };
31504
+ var jm_BigInteger__init_1 = (var_0, var_1) => {
31505
+ let var_2 = new jm_BigInteger();
31506
+ jm_BigInteger__init_3(var_2, var_0, var_1);
31507
+ return var_2;
31508
+ };
31509
+ var jm_BigInteger_valueOf = ($val) => {
31510
+ if (Long_lt($val, Long_ZERO)) {
31511
+ if (Long_eq($val, Long_fromInt(-1)))
31512
+ return jm_BigInteger_MINUS_ONE;
31513
+ return jm_BigInteger__init_1(-1, Long_neg($val));
31514
+ }
31515
+ if (Long_gt($val, Long_fromInt(10)))
31516
+ return jm_BigInteger__init_1(1, $val);
31517
+ return jm_BigInteger_SMALL_VALUES.data[Long_lo($val)];
31518
+ };
31519
+ var jm_BigInteger_abs = ($this) => {
31520
+ if ($this.$sign0 < 0)
31521
+ $this = jm_BigInteger__init_0(1, $this.$numberLength, $this.$digits);
31522
+ return $this;
31523
+ };
31524
+ var jm_BigInteger_negate = ($this) => {
31525
+ let var$1;
31526
+ var$1 = $this.$sign0;
31527
+ return !var$1 ? $this : jm_BigInteger__init_0(-var$1 | 0, $this.$numberLength, $this.$digits);
31528
+ };
31529
+ var jm_BigInteger_add = ($this, $val) => {
31530
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31531
+ a: {
31532
+ var$2 = $this.$sign0;
31533
+ var$3 = $val.$sign0;
31534
+ if (var$2) {
31535
+ if (!var$3)
31536
+ $val = $this;
31537
+ else {
31538
+ var$4 = $this.$numberLength;
31539
+ var$5 = $val.$numberLength;
31540
+ if ((var$4 + var$5 | 0) == 2) {
31541
+ var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31542
+ var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31543
+ if (var$2 != var$3)
31544
+ $val = jm_BigInteger_valueOf(var$2 >= 0 ? Long_sub(var$6, var$7) : Long_sub(var$7, var$6));
31545
+ else {
31546
+ var$6 = Long_add(var$6, var$7);
31547
+ var$8 = Long_lo(var$6);
31548
+ var$4 = Long_hi(var$6);
31549
+ $val = !var$4 ? jm_BigInteger__init_(var$2, var$8) : jm_BigInteger__init_0(var$2, 2, $rt_createIntArrayFromData([var$8, var$4]));
31550
+ }
31551
+ } else {
31552
+ if (var$2 == var$3)
31553
+ var$9 = var$4 < var$5 ? jm_Elementary_add($val.$digits, var$5, $this.$digits, var$4) : jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
31554
+ else {
31555
+ var$8 = $rt_compare(var$4, var$5);
31556
+ var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31557
+ if (!var$8) {
31558
+ $val = jm_BigInteger_ZERO;
31559
+ break a;
31560
+ }
31561
+ if (var$8 != 1) {
31562
+ var$9 = jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
31563
+ var$2 = var$3;
31564
+ } else
31565
+ var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31566
+ }
31567
+ var$10 = var$9.data;
31568
+ $val = jm_BigInteger__init_0(var$2, var$10.length, var$9);
31569
+ jm_BigInteger_cutOffLeadingZeroes($val);
31570
+ }
31571
+ }
31572
+ }
31573
+ }
31574
+ return $val;
31575
+ };
31576
+ var jm_BigInteger_subtract = ($this, $val) => {
31577
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31578
+ a: {
31579
+ var$2 = $this.$sign0;
31580
+ var$3 = $val.$sign0;
31581
+ if (var$3) {
31582
+ if (!var$2)
31583
+ $this = jm_BigInteger_negate($val);
31584
+ else {
31585
+ var$4 = $this.$numberLength;
31586
+ var$5 = $val.$numberLength;
31587
+ if ((var$4 + var$5 | 0) == 2) {
31588
+ var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31589
+ var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31590
+ if (var$2 < 0)
31591
+ var$6 = Long_neg(var$6);
31592
+ if (var$3 < 0)
31593
+ var$7 = Long_neg(var$7);
31594
+ $this = jm_BigInteger_valueOf(Long_sub(var$6, var$7));
31595
+ } else {
31596
+ var$8 = $rt_compare(var$4, var$5);
31597
+ var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31598
+ if (var$8 == -1) {
31599
+ var$8 = -var$3 | 0;
31600
+ var$9 = var$2 != var$3 ? jm_Elementary_add($val.$digits, var$5, $this.$digits, var$4) : jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
31601
+ } else if (var$2 != var$3) {
31602
+ var$9 = jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
31603
+ var$8 = var$2;
31604
+ } else {
31605
+ if (!var$8) {
31606
+ $this = jm_BigInteger_ZERO;
31607
+ break a;
31608
+ }
31609
+ var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31610
+ var$8 = var$2;
31611
+ }
31612
+ var$10 = var$9.data;
31613
+ $this = jm_BigInteger__init_0(var$8, var$10.length, var$9);
31614
+ jm_BigInteger_cutOffLeadingZeroes($this);
31615
+ }
31616
+ }
31617
+ }
31618
+ }
31619
+ return $this;
31620
+ };
31621
+ var jm_BigInteger_shiftRight = ($this, $n) => {
31622
+ if ($n && $this.$sign0)
31623
+ return $n > 0 ? jm_BitLevel_shiftRight($this, $n) : jm_BitLevel_shiftLeft($this, -$n | 0);
31624
+ return $this;
31625
+ };
31626
+ var jm_BigInteger_shiftLeft = ($this, $n) => {
31627
+ if ($n && $this.$sign0)
31628
+ return $n > 0 ? jm_BitLevel_shiftLeft($this, $n) : jm_BitLevel_shiftRight($this, -$n | 0);
31629
+ return $this;
31630
+ };
31631
+ var jm_BigInteger_bitLength = ($this) => {
31632
+ let var$1, var$2, var$3, var$4;
31633
+ var$1 = $this.$sign0;
31634
+ if (!var$1)
31635
+ var$2 = 0;
31636
+ else {
31637
+ var$3 = $this.$numberLength;
31638
+ var$4 = var$3 << 5;
31639
+ var$2 = $this.$digits.data[var$3 - 1 | 0];
31640
+ if (var$1 < 0 && jm_BigInteger_getFirstNonzeroDigit($this) == ($this.$numberLength - 1 | 0))
31641
+ var$2 = var$2 + -1 | 0;
31642
+ var$2 = var$4 - jl_Integer_numberOfLeadingZeros(var$2) | 0;
31643
+ }
31644
+ return var$2;
31645
+ };
31646
+ var jm_BigInteger_testBit = ($this, $n) => {
31647
+ let var$2, $intCount, $digit, $firstNonZeroDigit;
31648
+ if (!$n)
31649
+ return !($this.$digits.data[0] & 1) ? 0 : 1;
31650
+ if ($n < 0) {
31651
+ var$2 = new jl_ArithmeticException();
31652
+ jl_Throwable__init_0(var$2, $rt_s(1624));
31653
+ $rt_throw(var$2);
31654
+ }
31655
+ $intCount = $n >> 5;
31656
+ if ($intCount >= $this.$numberLength)
31657
+ return $this.$sign0 >= 0 ? 0 : 1;
31658
+ $digit = $this.$digits.data[$intCount];
31659
+ $n = 1 << ($n & 31);
31660
+ if ($this.$sign0 < 0) {
31661
+ $firstNonZeroDigit = jm_BigInteger_getFirstNonzeroDigit($this);
31662
+ if ($intCount < $firstNonZeroDigit)
31663
+ return 0;
31664
+ $digit = $firstNonZeroDigit == $intCount ? -$digit | 0 : $digit ^ -1;
31665
+ }
31666
+ return !($digit & $n) ? 0 : 1;
31667
+ };
31668
+ var jm_BigInteger_getLowestSetBit = ($this) => {
31669
+ let $i;
31670
+ if (!$this.$sign0)
31671
+ return -1;
31672
+ $i = jm_BigInteger_getFirstNonzeroDigit($this);
31673
+ return ($i << 5) + jl_Integer_numberOfTrailingZeros($this.$digits.data[$i]) | 0;
31674
+ };
31675
+ var jm_BigInteger_intValueExact = ($this) => {
31676
+ let var$1;
31677
+ if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31678
+ return $rt_imul($this.$sign0, $this.$digits.data[0]);
31679
+ var$1 = new jl_ArithmeticException();
31680
+ jl_Throwable__init_0(var$1, $rt_s(1625));
31681
+ $rt_throw(var$1);
31682
+ };
31683
+ var jm_BigInteger_longValue = ($this) => {
31684
+ let $value, var$2;
31685
+ if ($this.$numberLength <= 1)
31686
+ $value = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31687
+ else {
31688
+ var$2 = $this.$digits.data;
31689
+ $value = Long_or(Long_shl(Long_fromInt(var$2[1]), 32), Long_and(Long_fromInt(var$2[0]), Long_create(4294967295, 0)));
31690
+ }
31691
+ return Long_mul(Long_fromInt($this.$sign0), $value);
31692
+ };
31693
+ var jm_BigInteger_longValueExact = ($this) => {
31694
+ let var$1;
31695
+ if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31696
+ return jm_BigInteger_longValue($this);
31697
+ var$1 = new jl_ArithmeticException();
31698
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31699
+ $rt_throw(var$1);
31700
+ };
31701
+ var jm_BigInteger_compareTo = ($this, $val) => {
31702
+ let var$2, var$3, var$4, var$5;
31703
+ var$2 = $this.$sign0;
31704
+ var$3 = $val.$sign0;
31705
+ var$4 = $rt_compare(var$2, var$3);
31706
+ if (var$4 > 0)
31707
+ return 1;
31708
+ if (var$4 < 0)
31709
+ return -1;
31710
+ var$4 = $this.$numberLength;
31711
+ var$5 = $rt_compare(var$4, $val.$numberLength);
31712
+ if (var$5 > 0)
31713
+ return var$2;
31714
+ if (var$5 < 0)
31715
+ return -var$3 | 0;
31716
+ return $rt_imul(var$2, jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4));
31717
+ };
31718
+ var jm_BigInteger_equals = ($this, $x) => {
31719
+ let $x1, var$3, var$4, var$5;
31720
+ if ($this === $x)
31721
+ return 1;
31722
+ if (!($x instanceof jm_BigInteger))
31723
+ return 0;
31724
+ a: {
31725
+ $x1 = $x;
31726
+ if ($this.$sign0 == $x1.$sign0) {
31727
+ var$3 = $this.$numberLength;
31728
+ if (var$3 == $x1.$numberLength) {
31729
+ var$4 = $x1.$digits;
31730
+ var$3 = var$3 - 1 | 0;
31731
+ while (var$3 >= 0) {
31732
+ var$5 = var$4.data;
31733
+ if ($this.$digits.data[var$3] != var$5[var$3])
31734
+ break;
31735
+ var$3 = var$3 + -1 | 0;
31736
+ }
31737
+ if (var$3 >= 0 ? 0 : 1) {
31738
+ var$3 = 1;
31739
+ break a;
31740
+ }
31741
+ }
31742
+ }
31743
+ var$3 = 0;
31744
+ }
31745
+ return var$3;
31746
+ };
31747
+ var jm_BigInteger_multiply = ($this, $val) => {
31748
+ if (!$val.$sign0)
31749
+ return jm_BigInteger_ZERO;
31750
+ if (!$this.$sign0)
31751
+ return jm_BigInteger_ZERO;
31752
+ jm_Multiplication_$callClinit();
31753
+ return jm_Multiplication_karatsuba($this, $val);
31754
+ };
31755
+ var jm_BigInteger_cutOffLeadingZeroes = ($this) => {
31756
+ let var$1, var$2, var$3;
31757
+ while (true) {
31758
+ var$1 = $this.$numberLength;
31759
+ if (var$1 <= 0)
31760
+ break;
31761
+ var$2 = $this.$digits.data;
31762
+ var$1 = var$1 - 1 | 0;
31763
+ $this.$numberLength = var$1;
31764
+ if (var$2[var$1])
31765
+ break;
31766
+ }
31767
+ var$2 = $this.$digits.data;
31768
+ var$3 = $this.$numberLength;
31769
+ $this.$numberLength = var$3 + 1 | 0;
31770
+ if (!var$2[var$3])
31771
+ $this.$sign0 = 0;
31772
+ };
31773
+ var jm_BigInteger_getFirstNonzeroDigit = ($this) => {
31774
+ let $i;
31775
+ if ($this.$firstNonzeroDigit == -2) {
31776
+ if (!$this.$sign0)
31777
+ $i = -1;
31778
+ else {
31779
+ $i = 0;
31780
+ while (!$this.$digits.data[$i]) {
31781
+ $i = $i + 1 | 0;
31782
+ }
31783
+ }
31784
+ $this.$firstNonzeroDigit = $i;
31785
+ }
31786
+ return $this.$firstNonzeroDigit;
31787
+ };
31788
+ var jm_BigInteger__clinit_ = () => {
31789
+ let var$1, var$2, $i;
31790
+ jm_BigInteger_ZERO = jm_BigInteger__init_(0, 0);
31791
+ jm_BigInteger_ONE = jm_BigInteger__init_(1, 1);
31792
+ jm_BigInteger_TWO = jm_BigInteger__init_(1, 2);
31793
+ jm_BigInteger_TEN = jm_BigInteger__init_(1, 10);
31794
+ jm_BigInteger_MINUS_ONE = jm_BigInteger__init_(-1, 1);
31795
+ var$1 = $rt_createArray(jm_BigInteger, 11);
31796
+ var$2 = var$1.data;
31797
+ var$2[0] = jm_BigInteger_ZERO;
31798
+ var$2[1] = jm_BigInteger_ONE;
31799
+ var$2[2] = jm_BigInteger_TWO;
31800
+ var$2[3] = jm_BigInteger__init_(1, 3);
31801
+ var$2[4] = jm_BigInteger__init_(1, 4);
31802
+ var$2[5] = jm_BigInteger__init_(1, 5);
31803
+ var$2[6] = jm_BigInteger__init_(1, 6);
31804
+ var$2[7] = jm_BigInteger__init_(1, 7);
31805
+ var$2[8] = jm_BigInteger__init_(1, 8);
31806
+ var$2[9] = jm_BigInteger__init_(1, 9);
31807
+ var$2[10] = jm_BigInteger_TEN;
31808
+ jm_BigInteger_SMALL_VALUES = var$1;
31809
+ jm_BigInteger_TWO_POWS = $rt_createArray(jm_BigInteger, 32);
31810
+ $i = 0;
31811
+ while (true) {
31812
+ var$1 = jm_BigInteger_TWO_POWS.data;
31813
+ if ($i >= var$1.length)
31814
+ break;
31815
+ var$1[$i] = jm_BigInteger_valueOf(Long_shl(Long_fromInt(1), $i));
31816
+ $i = $i + 1 | 0;
31817
+ }
31818
+ };
31664
31819
  var asrjo_Conversions = $rt_classWithoutFields();
31665
31820
  var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31666
31821
  let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
@@ -31719,7 +31874,7 @@ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31719
31874
  ju_GenericEnumSet_add(var$9, var$10);
31720
31875
  }
31721
31876
  if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31722
- $rt_throw(jl_AssertionError__init_($rt_s(1624)));
31877
+ $rt_throw(jl_AssertionError__init_($rt_s(1627)));
31723
31878
  $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31724
31879
  }
31725
31880
  }
@@ -31769,6 +31924,222 @@ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31769
31924
  var$4.$significand = $i;
31770
31925
  return $helper.$fromExactFloat(var$4, $env);
31771
31926
  };
31927
+ function asrjt_Float64() {
31928
+ asrjt_Floating.call(this);
31929
+ this.$bits1 = Long_ZERO;
31930
+ }
31931
+ var asrjt_Float64_Zero = null;
31932
+ var asrjt_Float64_NegativeZero = null;
31933
+ var asrjt_Float64_NaN = null;
31934
+ var asrjt_Float64_Infinity = null;
31935
+ var asrjt_Float64_NegativeInfinity = null;
31936
+ var asrjt_Float64_$assertionsDisabled = 0;
31937
+ var asrjt_Float64__init_1 = ($this, $bits) => {
31938
+ $this.$bits1 = $bits;
31939
+ };
31940
+ var asrjt_Float64__init_ = (var_0) => {
31941
+ let var_1 = new asrjt_Float64();
31942
+ asrjt_Float64__init_1(var_1, var_0);
31943
+ return var_1;
31944
+ };
31945
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31946
+ asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
31947
+ };
31948
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31949
+ let var_3 = new asrjt_Float64();
31950
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31951
+ return var_3;
31952
+ };
31953
+ var asrjt_Float64_exponent = ($this) => {
31954
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31955
+ };
31956
+ var asrjt_Float64_negate = ($this) => {
31957
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31958
+ };
31959
+ var asrjt_Float64_isSignMinus = ($this) => {
31960
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31961
+ };
31962
+ var asrjt_Float64_isInfinite = ($this) => {
31963
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31964
+ };
31965
+ var asrjt_Float64_isNormal = ($this) => {
31966
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31967
+ };
31968
+ var asrjt_Float64_isSubnormal = ($this) => {
31969
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31970
+ };
31971
+ var asrjt_Float64_isNaN = ($this) => {
31972
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31973
+ };
31974
+ var asrjt_Float64_isSignalling = ($this) => {
31975
+ if (!asrjt_Float64_isNaN($this))
31976
+ return 0;
31977
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31978
+ };
31979
+ var asrjt_Float64_isZero = ($this) => {
31980
+ let var$1;
31981
+ var$1 = $this.$bits1;
31982
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31983
+ };
31984
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31985
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31986
+ if (asrji_ExactFloat_isZero($ef))
31987
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31988
+ $ef = asrji_ExactFloat_normalize($ef);
31989
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31990
+ if ($normalizedExponent > -1022) {
31991
+ if ($normalizedExponent > 1024) {
31992
+ $mainBits = $env.$flags;
31993
+ $roundedBits = asrj_Flags_overflow;
31994
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31995
+ $mainBits = $env.$flags;
31996
+ $roundedBits = asrj_Flags_inexact;
31997
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31998
+ asrjt_Float64$1_$callClinit();
31999
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32000
+ case 1:
32001
+ break;
32002
+ case 2:
32003
+ case 3:
32004
+ $normalizedExponent = $ef.$sign;
32005
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32006
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
32007
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32008
+ case 4:
32009
+ case 5:
32010
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32011
+ default:
32012
+ if (!asrjt_Float64_$assertionsDisabled)
32013
+ $rt_throw(jl_AssertionError__init_($rt_s(1617)));
32014
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32015
+ }
32016
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
32017
+ }
32018
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
32019
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
32020
+ $rt_throw(jl_AssertionError__init_($rt_s(1618)));
32021
+ $a = new asrjt_Float64();
32022
+ $normalizedExponent = $ef.$sign;
32023
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32024
+ $ef = $ef.$significand;
32025
+ asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
32026
+ return $a;
32027
+ }
32028
+ $mainBits = $env.$flags;
32029
+ $roundedBits = asrj_Flags_inexact;
32030
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32031
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
32032
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32033
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32034
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32035
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
32036
+ $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32037
+ } else {
32038
+ if ($ef.$exponent0 > -1075) {
32039
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32040
+ $rt_throw(jl_AssertionError__init_($rt_s(1619)));
32041
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32042
+ }
32043
+ $mainBits = $env.$flags;
32044
+ $roundedBits = asrj_Flags_inexact;
32045
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32046
+ $mainBits = $env.$flags;
32047
+ $roundedBits = asrj_Flags_underflow;
32048
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32049
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
32050
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32051
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32052
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32053
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32054
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32055
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32056
+ else {
32057
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32058
+ $rt_throw(jl_AssertionError__init_1());
32059
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32060
+ }
32061
+ }
32062
+ asrjt_Float64$1_$callClinit();
32063
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32064
+ case 1:
32065
+ break;
32066
+ case 2:
32067
+ case 3:
32068
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32069
+ return $towardsZero;
32070
+ return $awayZero;
32071
+ default:
32072
+ $ef = jm_BigInteger_ONE;
32073
+ $normalizedExponent = $bitsToRound - 1 | 0;
32074
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32075
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32076
+ return $towardsZero;
32077
+ return $awayZero;
32078
+ }
32079
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32080
+ return $towardsZero;
32081
+ return $awayZero;
32082
+ }
32083
+ return $towardsZero;
32084
+ };
32085
+ var asrjt_Float64_toExactFloat = ($this) => {
32086
+ let $sign, $exponent, $significand;
32087
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32088
+ $rt_throw(jl_AssertionError__init_($rt_s(1620)));
32089
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32090
+ $rt_throw(jl_AssertionError__init_($rt_s(1621)));
32091
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32092
+ $rt_throw(jl_AssertionError__init_($rt_s(1622)));
32093
+ $sign = asrjt_Float64_isSignMinus($this);
32094
+ if (asrjt_Float64_isZero($this)) {
32095
+ $exponent = 0;
32096
+ $significand = jm_BigInteger_ZERO;
32097
+ } else if (asrjt_Float64_isNormal($this)) {
32098
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32099
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32100
+ } else {
32101
+ if (!asrjt_Float64_isSubnormal($this)) {
32102
+ if (asrjt_Float64_$assertionsDisabled)
32103
+ return null;
32104
+ $rt_throw(jl_AssertionError__init_($rt_s(1623)));
32105
+ }
32106
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32107
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32108
+ }
32109
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32110
+ };
32111
+ var asrjt_Float64_maxPrecision = ($this) => {
32112
+ return 60;
32113
+ };
32114
+ var asrjt_Float64_negate0 = ($this) => {
32115
+ return asrjt_Float64_negate($this);
32116
+ };
32117
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32118
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32119
+ };
32120
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
32121
+ return asrjt_Float64_NegativeInfinity;
32122
+ };
32123
+ var asrjt_Float64_Infinity0 = ($this) => {
32124
+ return asrjt_Float64_Infinity;
32125
+ };
32126
+ var asrjt_Float64_NegativeZero0 = ($this) => {
32127
+ return asrjt_Float64_NegativeZero;
32128
+ };
32129
+ var asrjt_Float64_Zero0 = ($this) => {
32130
+ return asrjt_Float64_Zero;
32131
+ };
32132
+ var asrjt_Float64_NaN0 = ($this) => {
32133
+ return asrjt_Float64_NaN;
32134
+ };
32135
+ var asrjt_Float64__clinit_ = () => {
32136
+ asrjt_Float64_$assertionsDisabled = 0;
32137
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32138
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32139
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32140
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32141
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32142
+ };
31772
32143
  var asrjo_Comparisons = $rt_classWithoutFields();
31773
32144
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31774
32145
  if ($a.$isZero()) {
@@ -31871,375 +32242,6 @@ var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
31871
32242
  }
31872
32243
  return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
31873
32244
  };
31874
- function jm_BigInteger() {
31875
- let a = this;
31876
- jl_Number.call(a);
31877
- a.$digits = null;
31878
- a.$numberLength = 0;
31879
- a.$sign0 = 0;
31880
- a.$firstNonzeroDigit = 0;
31881
- }
31882
- var jm_BigInteger_ZERO = null;
31883
- var jm_BigInteger_ONE = null;
31884
- var jm_BigInteger_TWO = null;
31885
- var jm_BigInteger_TEN = null;
31886
- var jm_BigInteger_MINUS_ONE = null;
31887
- var jm_BigInteger_SMALL_VALUES = null;
31888
- var jm_BigInteger_TWO_POWS = null;
31889
- var jm_BigInteger__init_4 = ($this, $sign, $value) => {
31890
- let var$3;
31891
- $this.$firstNonzeroDigit = -2;
31892
- $this.$sign0 = $sign;
31893
- $this.$numberLength = 1;
31894
- var$3 = $rt_createIntArray(1);
31895
- var$3.data[0] = $value;
31896
- $this.$digits = var$3;
31897
- };
31898
- var jm_BigInteger__init_ = (var_0, var_1) => {
31899
- let var_2 = new jm_BigInteger();
31900
- jm_BigInteger__init_4(var_2, var_0, var_1);
31901
- return var_2;
31902
- };
31903
- var jm_BigInteger__init_2 = ($this, $sign, $numberLength, $digits) => {
31904
- $this.$firstNonzeroDigit = -2;
31905
- $this.$sign0 = $sign;
31906
- $this.$numberLength = $numberLength;
31907
- $this.$digits = $digits;
31908
- };
31909
- var jm_BigInteger__init_0 = (var_0, var_1, var_2) => {
31910
- let var_3 = new jm_BigInteger();
31911
- jm_BigInteger__init_2(var_3, var_0, var_1, var_2);
31912
- return var_3;
31913
- };
31914
- var jm_BigInteger__init_3 = ($this, $sign, $val) => {
31915
- let var$3;
31916
- $this.$firstNonzeroDigit = -2;
31917
- $this.$sign0 = $sign;
31918
- if (Long_eq(Long_and($val, Long_create(0, 4294967295)), Long_ZERO)) {
31919
- $this.$numberLength = 1;
31920
- var$3 = $rt_createIntArray(1);
31921
- var$3.data[0] = Long_lo($val);
31922
- $this.$digits = var$3;
31923
- } else {
31924
- $this.$numberLength = 2;
31925
- $this.$digits = $rt_createIntArrayFromData([Long_lo($val), Long_hi($val)]);
31926
- }
31927
- };
31928
- var jm_BigInteger__init_1 = (var_0, var_1) => {
31929
- let var_2 = new jm_BigInteger();
31930
- jm_BigInteger__init_3(var_2, var_0, var_1);
31931
- return var_2;
31932
- };
31933
- var jm_BigInteger_valueOf = ($val) => {
31934
- if (Long_lt($val, Long_ZERO)) {
31935
- if (Long_eq($val, Long_fromInt(-1)))
31936
- return jm_BigInteger_MINUS_ONE;
31937
- return jm_BigInteger__init_1(-1, Long_neg($val));
31938
- }
31939
- if (Long_gt($val, Long_fromInt(10)))
31940
- return jm_BigInteger__init_1(1, $val);
31941
- return jm_BigInteger_SMALL_VALUES.data[Long_lo($val)];
31942
- };
31943
- var jm_BigInteger_abs = ($this) => {
31944
- if ($this.$sign0 < 0)
31945
- $this = jm_BigInteger__init_0(1, $this.$numberLength, $this.$digits);
31946
- return $this;
31947
- };
31948
- var jm_BigInteger_negate = ($this) => {
31949
- let var$1;
31950
- var$1 = $this.$sign0;
31951
- return !var$1 ? $this : jm_BigInteger__init_0(-var$1 | 0, $this.$numberLength, $this.$digits);
31952
- };
31953
- var jm_BigInteger_add = ($this, $val) => {
31954
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31955
- a: {
31956
- var$2 = $this.$sign0;
31957
- var$3 = $val.$sign0;
31958
- if (var$2) {
31959
- if (!var$3)
31960
- $val = $this;
31961
- else {
31962
- var$4 = $this.$numberLength;
31963
- var$5 = $val.$numberLength;
31964
- if ((var$4 + var$5 | 0) == 2) {
31965
- var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31966
- var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31967
- if (var$2 != var$3)
31968
- $val = jm_BigInteger_valueOf(var$2 >= 0 ? Long_sub(var$6, var$7) : Long_sub(var$7, var$6));
31969
- else {
31970
- var$6 = Long_add(var$6, var$7);
31971
- var$8 = Long_lo(var$6);
31972
- var$4 = Long_hi(var$6);
31973
- $val = !var$4 ? jm_BigInteger__init_(var$2, var$8) : jm_BigInteger__init_0(var$2, 2, $rt_createIntArrayFromData([var$8, var$4]));
31974
- }
31975
- } else {
31976
- if (var$2 == var$3)
31977
- var$9 = var$4 < var$5 ? jm_Elementary_add($val.$digits, var$5, $this.$digits, var$4) : jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
31978
- else {
31979
- var$8 = $rt_compare(var$4, var$5);
31980
- var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31981
- if (!var$8) {
31982
- $val = jm_BigInteger_ZERO;
31983
- break a;
31984
- }
31985
- if (var$8 != 1) {
31986
- var$9 = jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
31987
- var$2 = var$3;
31988
- } else
31989
- var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31990
- }
31991
- var$10 = var$9.data;
31992
- $val = jm_BigInteger__init_0(var$2, var$10.length, var$9);
31993
- jm_BigInteger_cutOffLeadingZeroes($val);
31994
- }
31995
- }
31996
- }
31997
- }
31998
- return $val;
31999
- };
32000
- var jm_BigInteger_subtract = ($this, $val) => {
32001
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
32002
- a: {
32003
- var$2 = $this.$sign0;
32004
- var$3 = $val.$sign0;
32005
- if (var$3) {
32006
- if (!var$2)
32007
- $this = jm_BigInteger_negate($val);
32008
- else {
32009
- var$4 = $this.$numberLength;
32010
- var$5 = $val.$numberLength;
32011
- if ((var$4 + var$5 | 0) == 2) {
32012
- var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
32013
- var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
32014
- if (var$2 < 0)
32015
- var$6 = Long_neg(var$6);
32016
- if (var$3 < 0)
32017
- var$7 = Long_neg(var$7);
32018
- $this = jm_BigInteger_valueOf(Long_sub(var$6, var$7));
32019
- } else {
32020
- var$8 = $rt_compare(var$4, var$5);
32021
- var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
32022
- if (var$8 == -1) {
32023
- var$8 = -var$3 | 0;
32024
- var$9 = var$2 != var$3 ? jm_Elementary_add($val.$digits, var$5, $this.$digits, var$4) : jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
32025
- } else if (var$2 != var$3) {
32026
- var$9 = jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
32027
- var$8 = var$2;
32028
- } else {
32029
- if (!var$8) {
32030
- $this = jm_BigInteger_ZERO;
32031
- break a;
32032
- }
32033
- var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
32034
- var$8 = var$2;
32035
- }
32036
- var$10 = var$9.data;
32037
- $this = jm_BigInteger__init_0(var$8, var$10.length, var$9);
32038
- jm_BigInteger_cutOffLeadingZeroes($this);
32039
- }
32040
- }
32041
- }
32042
- }
32043
- return $this;
32044
- };
32045
- var jm_BigInteger_shiftRight = ($this, $n) => {
32046
- if ($n && $this.$sign0)
32047
- return $n > 0 ? jm_BitLevel_shiftRight($this, $n) : jm_BitLevel_shiftLeft($this, -$n | 0);
32048
- return $this;
32049
- };
32050
- var jm_BigInteger_shiftLeft = ($this, $n) => {
32051
- if ($n && $this.$sign0)
32052
- return $n > 0 ? jm_BitLevel_shiftLeft($this, $n) : jm_BitLevel_shiftRight($this, -$n | 0);
32053
- return $this;
32054
- };
32055
- var jm_BigInteger_bitLength = ($this) => {
32056
- let var$1, var$2, var$3, var$4;
32057
- var$1 = $this.$sign0;
32058
- if (!var$1)
32059
- var$2 = 0;
32060
- else {
32061
- var$3 = $this.$numberLength;
32062
- var$4 = var$3 << 5;
32063
- var$2 = $this.$digits.data[var$3 - 1 | 0];
32064
- if (var$1 < 0 && jm_BigInteger_getFirstNonzeroDigit($this) == ($this.$numberLength - 1 | 0))
32065
- var$2 = var$2 + -1 | 0;
32066
- var$2 = var$4 - jl_Integer_numberOfLeadingZeros(var$2) | 0;
32067
- }
32068
- return var$2;
32069
- };
32070
- var jm_BigInteger_testBit = ($this, $n) => {
32071
- let var$2, $intCount, $digit, $firstNonZeroDigit;
32072
- if (!$n)
32073
- return !($this.$digits.data[0] & 1) ? 0 : 1;
32074
- if ($n < 0) {
32075
- var$2 = new jl_ArithmeticException();
32076
- jl_Throwable__init_0(var$2, $rt_s(1625));
32077
- $rt_throw(var$2);
32078
- }
32079
- $intCount = $n >> 5;
32080
- if ($intCount >= $this.$numberLength)
32081
- return $this.$sign0 >= 0 ? 0 : 1;
32082
- $digit = $this.$digits.data[$intCount];
32083
- $n = 1 << ($n & 31);
32084
- if ($this.$sign0 < 0) {
32085
- $firstNonZeroDigit = jm_BigInteger_getFirstNonzeroDigit($this);
32086
- if ($intCount < $firstNonZeroDigit)
32087
- return 0;
32088
- $digit = $firstNonZeroDigit == $intCount ? -$digit | 0 : $digit ^ -1;
32089
- }
32090
- return !($digit & $n) ? 0 : 1;
32091
- };
32092
- var jm_BigInteger_getLowestSetBit = ($this) => {
32093
- let $i;
32094
- if (!$this.$sign0)
32095
- return -1;
32096
- $i = jm_BigInteger_getFirstNonzeroDigit($this);
32097
- return ($i << 5) + jl_Integer_numberOfTrailingZeros($this.$digits.data[$i]) | 0;
32098
- };
32099
- var jm_BigInteger_intValueExact = ($this) => {
32100
- let var$1;
32101
- if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
32102
- return $rt_imul($this.$sign0, $this.$digits.data[0]);
32103
- var$1 = new jl_ArithmeticException();
32104
- jl_Throwable__init_0(var$1, $rt_s(1626));
32105
- $rt_throw(var$1);
32106
- };
32107
- var jm_BigInteger_longValue = ($this) => {
32108
- let $value, var$2;
32109
- if ($this.$numberLength <= 1)
32110
- $value = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
32111
- else {
32112
- var$2 = $this.$digits.data;
32113
- $value = Long_or(Long_shl(Long_fromInt(var$2[1]), 32), Long_and(Long_fromInt(var$2[0]), Long_create(4294967295, 0)));
32114
- }
32115
- return Long_mul(Long_fromInt($this.$sign0), $value);
32116
- };
32117
- var jm_BigInteger_longValueExact = ($this) => {
32118
- let var$1;
32119
- if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
32120
- return jm_BigInteger_longValue($this);
32121
- var$1 = new jl_ArithmeticException();
32122
- jl_Throwable__init_0(var$1, $rt_s(1627));
32123
- $rt_throw(var$1);
32124
- };
32125
- var jm_BigInteger_compareTo = ($this, $val) => {
32126
- let var$2, var$3, var$4, var$5;
32127
- var$2 = $this.$sign0;
32128
- var$3 = $val.$sign0;
32129
- var$4 = $rt_compare(var$2, var$3);
32130
- if (var$4 > 0)
32131
- return 1;
32132
- if (var$4 < 0)
32133
- return -1;
32134
- var$4 = $this.$numberLength;
32135
- var$5 = $rt_compare(var$4, $val.$numberLength);
32136
- if (var$5 > 0)
32137
- return var$2;
32138
- if (var$5 < 0)
32139
- return -var$3 | 0;
32140
- return $rt_imul(var$2, jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4));
32141
- };
32142
- var jm_BigInteger_equals = ($this, $x) => {
32143
- let $x1, var$3, var$4, var$5;
32144
- if ($this === $x)
32145
- return 1;
32146
- if (!($x instanceof jm_BigInteger))
32147
- return 0;
32148
- a: {
32149
- $x1 = $x;
32150
- if ($this.$sign0 == $x1.$sign0) {
32151
- var$3 = $this.$numberLength;
32152
- if (var$3 == $x1.$numberLength) {
32153
- var$4 = $x1.$digits;
32154
- var$3 = var$3 - 1 | 0;
32155
- while (var$3 >= 0) {
32156
- var$5 = var$4.data;
32157
- if ($this.$digits.data[var$3] != var$5[var$3])
32158
- break;
32159
- var$3 = var$3 + -1 | 0;
32160
- }
32161
- if (var$3 >= 0 ? 0 : 1) {
32162
- var$3 = 1;
32163
- break a;
32164
- }
32165
- }
32166
- }
32167
- var$3 = 0;
32168
- }
32169
- return var$3;
32170
- };
32171
- var jm_BigInteger_multiply = ($this, $val) => {
32172
- if (!$val.$sign0)
32173
- return jm_BigInteger_ZERO;
32174
- if (!$this.$sign0)
32175
- return jm_BigInteger_ZERO;
32176
- jm_Multiplication_$callClinit();
32177
- return jm_Multiplication_karatsuba($this, $val);
32178
- };
32179
- var jm_BigInteger_cutOffLeadingZeroes = ($this) => {
32180
- let var$1, var$2, var$3;
32181
- while (true) {
32182
- var$1 = $this.$numberLength;
32183
- if (var$1 <= 0)
32184
- break;
32185
- var$2 = $this.$digits.data;
32186
- var$1 = var$1 - 1 | 0;
32187
- $this.$numberLength = var$1;
32188
- if (var$2[var$1])
32189
- break;
32190
- }
32191
- var$2 = $this.$digits.data;
32192
- var$3 = $this.$numberLength;
32193
- $this.$numberLength = var$3 + 1 | 0;
32194
- if (!var$2[var$3])
32195
- $this.$sign0 = 0;
32196
- };
32197
- var jm_BigInteger_getFirstNonzeroDigit = ($this) => {
32198
- let $i;
32199
- if ($this.$firstNonzeroDigit == -2) {
32200
- if (!$this.$sign0)
32201
- $i = -1;
32202
- else {
32203
- $i = 0;
32204
- while (!$this.$digits.data[$i]) {
32205
- $i = $i + 1 | 0;
32206
- }
32207
- }
32208
- $this.$firstNonzeroDigit = $i;
32209
- }
32210
- return $this.$firstNonzeroDigit;
32211
- };
32212
- var jm_BigInteger__clinit_ = () => {
32213
- let var$1, var$2, $i;
32214
- jm_BigInteger_ZERO = jm_BigInteger__init_(0, 0);
32215
- jm_BigInteger_ONE = jm_BigInteger__init_(1, 1);
32216
- jm_BigInteger_TWO = jm_BigInteger__init_(1, 2);
32217
- jm_BigInteger_TEN = jm_BigInteger__init_(1, 10);
32218
- jm_BigInteger_MINUS_ONE = jm_BigInteger__init_(-1, 1);
32219
- var$1 = $rt_createArray(jm_BigInteger, 11);
32220
- var$2 = var$1.data;
32221
- var$2[0] = jm_BigInteger_ZERO;
32222
- var$2[1] = jm_BigInteger_ONE;
32223
- var$2[2] = jm_BigInteger_TWO;
32224
- var$2[3] = jm_BigInteger__init_(1, 3);
32225
- var$2[4] = jm_BigInteger__init_(1, 4);
32226
- var$2[5] = jm_BigInteger__init_(1, 5);
32227
- var$2[6] = jm_BigInteger__init_(1, 6);
32228
- var$2[7] = jm_BigInteger__init_(1, 7);
32229
- var$2[8] = jm_BigInteger__init_(1, 8);
32230
- var$2[9] = jm_BigInteger__init_(1, 9);
32231
- var$2[10] = jm_BigInteger_TEN;
32232
- jm_BigInteger_SMALL_VALUES = var$1;
32233
- jm_BigInteger_TWO_POWS = $rt_createArray(jm_BigInteger, 32);
32234
- $i = 0;
32235
- while (true) {
32236
- var$1 = jm_BigInteger_TWO_POWS.data;
32237
- if ($i >= var$1.length)
32238
- break;
32239
- var$1[$i] = jm_BigInteger_valueOf(Long_shl(Long_fromInt(1), $i));
32240
- $i = $i + 1 | 0;
32241
- }
32242
- };
32243
32245
  var asrjo_Arithmetic = $rt_classWithoutFields();
32244
32246
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32245
32247
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32764,7 +32766,6 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32764
32766
  }
32765
32767
  return $res;
32766
32768
  };
32767
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32768
32769
  var jm_BitLevel = $rt_classWithoutFields();
32769
32770
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32770
32771
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32879,6 +32880,7 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32879
32880
  jm_BigInteger_cutOffLeadingZeroes($result);
32880
32881
  return $result;
32881
32882
  };
32883
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32882
32884
  var asrrs_NullString = $rt_classWithoutFields();
32883
32885
  var asrrs_NullString_get = ($statement) => {
32884
32886
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -33834,34 +33836,34 @@ function ju_Hashtable$Entry() {
33834
33836
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
33835
33837
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
33836
33838
  };
33837
- var asrjt_Float32$1 = $rt_classWithoutFields();
33838
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33839
- var asrjt_Float32$1_$callClinit = () => {
33840
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33841
- asrjt_Float32$1__clinit_();
33839
+ var asrjt_Float64$1 = $rt_classWithoutFields();
33840
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33841
+ var asrjt_Float64$1_$callClinit = () => {
33842
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33843
+ asrjt_Float64$1__clinit_();
33842
33844
  };
33843
- var asrjt_Float32$1__clinit_ = () => {
33845
+ var asrjt_Float64$1__clinit_ = () => {
33844
33846
  let var$1, var$2;
33845
33847
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33846
33848
  var$2 = var$1.data;
33847
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33849
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33848
33850
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33849
33851
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33850
33852
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
33851
33853
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
33852
33854
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
33853
33855
  };
33854
- var asrjt_Float64$1 = $rt_classWithoutFields();
33855
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33856
- var asrjt_Float64$1_$callClinit = () => {
33857
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33858
- asrjt_Float64$1__clinit_();
33856
+ var asrjt_Float32$1 = $rt_classWithoutFields();
33857
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33858
+ var asrjt_Float32$1_$callClinit = () => {
33859
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33860
+ asrjt_Float32$1__clinit_();
33859
33861
  };
33860
- var asrjt_Float64$1__clinit_ = () => {
33862
+ var asrjt_Float32$1__clinit_ = () => {
33861
33863
  let var$1, var$2;
33862
33864
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33863
33865
  var$2 = var$1.data;
33864
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33866
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33865
33867
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33866
33868
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33867
33869
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -35001,17 +35003,26 @@ $rt_metadata([
35001
35003
  0,
35002
35004
  0,
35003
35005
  0,
35004
- asrrh_RegisterFile,
35006
+ asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35005
35007
  0,
35006
35008
  jl_Object,
35007
- [],
35009
+ [juf_Function],
35008
35010
  0,
35009
35011
  3,
35010
35012
  0,
35011
- asrrh_RegisterFile_$callClinit,
35012
35013
  0,
35013
- asr_JsProgramStatement,
35014
- "JsProgramStatement",
35014
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35015
+ asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35016
+ 0,
35017
+ jl_Object,
35018
+ [juf_IntFunction],
35019
+ 0,
35020
+ 3,
35021
+ 0,
35022
+ 0,
35023
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35024
+ asr_JsRiscVTokenizedLine,
35025
+ "JsRiscVTokenizedLine",
35015
35026
  10,
35016
35027
  jl_Object,
35017
35028
  [],
@@ -35020,6 +35031,15 @@ $rt_metadata([
35020
35031
  0,
35021
35032
  0,
35022
35033
  0,
35034
+ asrrh_RegisterFile,
35035
+ 0,
35036
+ jl_Object,
35037
+ [],
35038
+ 0,
35039
+ 3,
35040
+ 0,
35041
+ asrrh_RegisterFile_$callClinit,
35042
+ 0,
35023
35043
  ju_Arrays,
35024
35044
  0,
35025
35045
  jl_Object,
@@ -35057,6 +35077,16 @@ $rt_metadata([
35057
35077
  0,
35058
35078
  0,
35059
35079
  0,
35080
+ asr_JsProgramStatement,
35081
+ "JsProgramStatement",
35082
+ 10,
35083
+ jl_Object,
35084
+ [],
35085
+ 0,
35086
+ 3,
35087
+ 0,
35088
+ 0,
35089
+ 0,
35060
35090
  asr_JsCompilationResult,
35061
35091
  "JsCompilationResult",
35062
35092
  10,
@@ -35104,34 +35134,6 @@ $rt_metadata([
35104
35134
  0,
35105
35135
  0,
35106
35136
  0,
35107
- asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35108
- 0,
35109
- jl_Object,
35110
- [juf_Function],
35111
- 0,
35112
- 3,
35113
- 0,
35114
- 0,
35115
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35116
- asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35117
- 0,
35118
- jl_Object,
35119
- [juf_IntFunction],
35120
- 0,
35121
- 3,
35122
- 0,
35123
- 0,
35124
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35125
- asr_JsRiscVTokenizedLine,
35126
- "JsRiscVTokenizedLine",
35127
- 10,
35128
- jl_Object,
35129
- [],
35130
- 0,
35131
- 3,
35132
- 0,
35133
- 0,
35134
- 0,
35135
35137
  ju_Map$Entry,
35136
35138
  0,
35137
35139
  jl_Object,
@@ -35225,16 +35227,6 @@ $rt_metadata([
35225
35227
  0,
35226
35228
  0,
35227
35229
  0,
35228
- asrrh_Register,
35229
- "Register",
35230
- 7,
35231
- ju_Observable,
35232
- [],
35233
- 0,
35234
- 3,
35235
- 0,
35236
- 0,
35237
- ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35238
35230
  asrs_BackStepper,
35239
35231
  0,
35240
35232
  jl_Object,
@@ -35270,9 +35262,7 @@ $rt_metadata([
35270
35262
  3,
35271
35263
  0,
35272
35264
  0,
35273
- 0
35274
- ]);
35275
- $rt_metadata([
35265
+ 0,
35276
35266
  jus_Stream,
35277
35267
  0,
35278
35268
  jl_Object,
@@ -35281,7 +35271,9 @@ $rt_metadata([
35281
35271
  3,
35282
35272
  0,
35283
35273
  0,
35284
- 0,
35274
+ 0
35275
+ ]);
35276
+ $rt_metadata([
35285
35277
  jusi_SimpleStreamImpl,
35286
35278
  0,
35287
35279
  jl_Object,
@@ -35300,6 +35292,16 @@ $rt_metadata([
35300
35292
  0,
35301
35293
  0,
35302
35294
  ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35295
+ asrrh_Register,
35296
+ "Register",
35297
+ 7,
35298
+ ju_Observable,
35299
+ [],
35300
+ 0,
35301
+ 3,
35302
+ 0,
35303
+ 0,
35304
+ ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35303
35305
  asr_JsCompilationResult$_init_$lambda$_0_0,
35304
35306
  0,
35305
35307
  jl_Object,
@@ -37815,6 +37817,15 @@ $rt_metadata([
37815
37817
  0,
37816
37818
  0,
37817
37819
  0,
37820
+ jl_NegativeArraySizeException,
37821
+ 0,
37822
+ jl_RuntimeException,
37823
+ [],
37824
+ 0,
37825
+ 3,
37826
+ 0,
37827
+ 0,
37828
+ 0,
37818
37829
  otjc_JSObjects,
37819
37830
  0,
37820
37831
  jl_Object,
@@ -37842,15 +37853,6 @@ $rt_metadata([
37842
37853
  0,
37843
37854
  0,
37844
37855
  0,
37845
- jl_NegativeArraySizeException,
37846
- 0,
37847
- jl_RuntimeException,
37848
- [],
37849
- 0,
37850
- 3,
37851
- 0,
37852
- 0,
37853
- 0,
37854
37856
  ju_Arrays$ArrayAsList,
37855
37857
  0,
37856
37858
  ju_AbstractList,
@@ -40679,48 +40681,6 @@ $rt_metadata([
40679
40681
  0,
40680
40682
  0,
40681
40683
  0,
40682
- asrjt_Float64,
40683
- 0,
40684
- asrjt_Floating,
40685
- [],
40686
- 0,
40687
- 3,
40688
- 0,
40689
- 0,
40690
- [
40691
- "$isSignMinus",
40692
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40693
- "$isInfinite",
40694
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40695
- "$isNormal",
40696
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40697
- "$isSubnormal",
40698
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40699
- "$isNaN",
40700
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40701
- "$isSignalling",
40702
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40703
- "$isZero",
40704
- $rt_wrapFunction0(asrjt_Float64_isZero),
40705
- "$toExactFloat",
40706
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40707
- "$maxPrecision",
40708
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40709
- "$negate2",
40710
- $rt_wrapFunction0(asrjt_Float64_negate0),
40711
- "$fromExactFloat",
40712
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40713
- "$NegativeInfinity",
40714
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40715
- "$Infinity",
40716
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40717
- "$NegativeZero",
40718
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40719
- "$Zero",
40720
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40721
- "$NaN",
40722
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40723
- ],
40724
40684
  asrjt_Float32,
40725
40685
  0,
40726
40686
  asrjt_Floating,
@@ -40763,6 +40723,15 @@ $rt_metadata([
40763
40723
  "$NaN",
40764
40724
  $rt_wrapFunction0(asrjt_Float32_NaN0)
40765
40725
  ],
40726
+ jm_BigInteger,
40727
+ 0,
40728
+ jl_Number,
40729
+ [jl_Comparable, ji_Serializable],
40730
+ 0,
40731
+ 3,
40732
+ 0,
40733
+ 0,
40734
+ 0,
40766
40735
  asrjo_Conversions,
40767
40736
  0,
40768
40737
  jl_Object,
@@ -40772,19 +40741,52 @@ $rt_metadata([
40772
40741
  0,
40773
40742
  0,
40774
40743
  0,
40775
- asrjo_Comparisons,
40744
+ asrjt_Float64,
40776
40745
  0,
40777
- jl_Object,
40746
+ asrjt_Floating,
40778
40747
  [],
40779
40748
  0,
40780
40749
  3,
40781
40750
  0,
40782
40751
  0,
40752
+ [
40753
+ "$isSignMinus",
40754
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40755
+ "$isInfinite",
40756
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40757
+ "$isNormal",
40758
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40759
+ "$isSubnormal",
40760
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40761
+ "$isNaN",
40762
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40763
+ "$isSignalling",
40764
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40765
+ "$isZero",
40766
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40767
+ "$toExactFloat",
40768
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40769
+ "$maxPrecision",
40770
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40771
+ "$negate2",
40772
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40773
+ "$fromExactFloat",
40774
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40775
+ "$NegativeInfinity",
40776
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40777
+ "$Infinity",
40778
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40779
+ "$NegativeZero",
40780
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40781
+ "$Zero",
40782
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40783
+ "$NaN",
40784
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40785
+ ],
40786
+ asrjo_Comparisons,
40783
40787
  0,
40784
- jm_BigInteger,
40785
- 0,
40786
- jl_Number,
40787
- [jl_Comparable, ji_Serializable],
40788
+ jl_Object,
40789
+ [],
40788
40790
  0,
40789
40791
  3,
40790
40792
  0,
@@ -40873,21 +40875,21 @@ $rt_metadata([
40873
40875
  0,
40874
40876
  0,
40875
40877
  0,
40876
- jl_ArithmeticException,
40878
+ jm_BitLevel,
40877
40879
  0,
40878
- jl_RuntimeException,
40880
+ jl_Object,
40879
40881
  [],
40880
40882
  0,
40881
- 3,
40882
40883
  0,
40883
40884
  0,
40884
40885
  0,
40885
- jm_BitLevel,
40886
40886
  0,
40887
- jl_Object,
40888
- [],
40887
+ jl_ArithmeticException,
40889
40888
  0,
40889
+ jl_RuntimeException,
40890
+ [],
40890
40891
  0,
40892
+ 3,
40891
40893
  0,
40892
40894
  0,
40893
40895
  0,
@@ -41028,23 +41030,23 @@ $rt_metadata([
41028
41030
  0,
41029
41031
  0,
41030
41032
  0,
41031
- asrjt_Float32$1,
41033
+ asrjt_Float64$1,
41032
41034
  0,
41033
41035
  jl_Object,
41034
41036
  [],
41035
41037
  32,
41036
41038
  0,
41037
41039
  0,
41038
- asrjt_Float32$1_$callClinit,
41040
+ asrjt_Float64$1_$callClinit,
41039
41041
  0,
41040
- asrjt_Float64$1,
41042
+ asrjt_Float32$1,
41041
41043
  0,
41042
41044
  jl_Object,
41043
41045
  [],
41044
41046
  32,
41045
41047
  0,
41046
41048
  0,
41047
- asrjt_Float64$1_$callClinit,
41049
+ asrjt_Float32$1_$callClinit,
41048
41050
  0,
41049
41051
  jm_Multiplication,
41050
41052
  0,
@@ -42769,10 +42771,10 @@ $rt_stringPool([
42769
42771
  "NaNs are not exact",
42770
42772
  "Zeros should be handled explicitly",
42771
42773
  "This should not be reachable",
42772
- "There can't be any fractions at this point",
42773
42774
  "Negative bit address",
42774
42775
  "BigInteger out of int range",
42775
42776
  "BigInteger out of long range",
42777
+ "There can't be any fractions at this point",
42776
42778
  "Square root of a negative number is not real",
42777
42779
  "Cannot get here",
42778
42780
  "Both should definitely be finite by this point",
@@ -42855,6 +42857,26 @@ var $rt_jso_marker = Symbol("jsoClass");
42855
42857
  Object.defineProperty(c, "example", {
42856
42858
  get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
42857
42859
  });
42860
+ c = asr_JsRiscVTokenizedLine.prototype;
42861
+ Object.defineProperty(c, "line", {
42862
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42863
+ });
42864
+ Object.defineProperty(c, "tokens", {
42865
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42866
+ });
42867
+ c = asr_JsBackStep.prototype;
42868
+ Object.defineProperty(c, "pc", {
42869
+ get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42870
+ });
42871
+ Object.defineProperty(c, "action", {
42872
+ get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42873
+ });
42874
+ Object.defineProperty(c, "param1", {
42875
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42876
+ });
42877
+ Object.defineProperty(c, "param2", {
42878
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42879
+ });
42858
42880
  c = asr_JsProgramStatement.prototype;
42859
42881
  Object.defineProperty(c, "assemblyStatement", {
42860
42882
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -42874,19 +42896,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42874
42896
  Object.defineProperty(c, "source", {
42875
42897
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
42876
42898
  });
42877
- c = asr_JsBackStep.prototype;
42878
- Object.defineProperty(c, "pc", {
42879
- get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42880
- });
42881
- Object.defineProperty(c, "action", {
42882
- get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42883
- });
42884
- Object.defineProperty(c, "param1", {
42885
- get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42886
- });
42887
- Object.defineProperty(c, "param2", {
42888
- get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42889
- });
42890
42899
  c = asr_JsCompilationResult.prototype;
42891
42900
  Object.defineProperty(c, "hasErrors", {
42892
42901
  get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
@@ -42913,13 +42922,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42913
42922
  Object.defineProperty(c, "toAddress", {
42914
42923
  get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
42915
42924
  });
42916
- c = asr_JsRiscVTokenizedLine.prototype;
42917
- Object.defineProperty(c, "line", {
42918
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42919
- });
42920
- Object.defineProperty(c, "tokens", {
42921
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42922
- });
42923
42925
  c = asr_JsCompilationResult$JsCompilationError.prototype;
42924
42926
  Object.defineProperty(c, "macroExpansionHistory", {
42925
42927
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -42966,26 +42968,26 @@ function $rt_export_class_JsInstruction_32() {
42966
42968
  throw new Error("Can't instantiate this class directly");
42967
42969
  }
42968
42970
  $rt_export_class_JsInstruction_32.prototype = asr_JsInstruction.prototype;
42969
- function $rt_export_class_JsProgramStatement_71() {
42971
+ function $rt_export_class_JsRiscVTokenizedLine_72() {
42970
42972
  throw new Error("Can't instantiate this class directly");
42971
42973
  }
42972
- $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
42973
- function $rt_export_class_JsBackStep_75() {
42974
+ $rt_export_class_JsRiscVTokenizedLine_72.prototype = asr_JsRiscVTokenizedLine.prototype;
42975
+ function $rt_export_class_JsBackStep_77() {
42974
42976
  throw new Error("Can't instantiate this class directly");
42975
42977
  }
42976
- $rt_export_class_JsBackStep_75.prototype = asr_JsBackStep.prototype;
42977
- function $rt_export_class_JsCompilationResult_76() {
42978
+ $rt_export_class_JsBackStep_77.prototype = asr_JsBackStep.prototype;
42979
+ function $rt_export_class_JsProgramStatement_78() {
42978
42980
  throw new Error("Can't instantiate this class directly");
42979
42981
  }
42980
- $rt_export_class_JsCompilationResult_76.prototype = asr_JsCompilationResult.prototype;
42981
- function $rt_export_class_JsStackFrame_80() {
42982
+ $rt_export_class_JsProgramStatement_78.prototype = asr_JsProgramStatement.prototype;
42983
+ function $rt_export_class_JsCompilationResult_79() {
42982
42984
  throw new Error("Can't instantiate this class directly");
42983
42985
  }
42984
- $rt_export_class_JsStackFrame_80.prototype = asr_JsStackFrame.prototype;
42985
- function $rt_export_class_JsRiscVTokenizedLine_83() {
42986
+ $rt_export_class_JsCompilationResult_79.prototype = asr_JsCompilationResult.prototype;
42987
+ function $rt_export_class_JsStackFrame_83() {
42986
42988
  throw new Error("Can't instantiate this class directly");
42987
42989
  }
42988
- $rt_export_class_JsRiscVTokenizedLine_83.prototype = asr_JsRiscVTokenizedLine.prototype;
42990
+ $rt_export_class_JsStackFrame_83.prototype = asr_JsStackFrame.prototype;
42989
42991
  function $rt_export_class_JsCompilationError_349() {
42990
42992
  throw new Error("Can't instantiate this class directly");
42991
42993
  }