@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.mjs CHANGED
@@ -3129,6 +3129,8 @@ var asr_JsRiscV_setIs64Bit$exported$27 = (var$1, var$2) => {
3129
3129
  ju_Observable_notifyObservers(var$1, null);
3130
3130
  }
3131
3131
  if (asr_Globals_initialized) {
3132
+ asrr_InstructionSet_$callClinit();
3133
+ asrr_InstructionSet_rv64 = var$3;
3132
3134
  var$1 = asrr_InstructionSet__init_();
3133
3135
  asr_Globals_instructionSet = var$1;
3134
3136
  asrr_InstructionSet_populate(var$1);
@@ -3286,9 +3288,9 @@ var asr_JsRiscV__clinit_ = () => {
3286
3288
  jnc_CodingErrorAction__clinit_();
3287
3289
  jnc_CoderResult__clinit_();
3288
3290
  jn_ByteOrder__clinit_();
3289
- asrjt_Float64__clinit_();
3290
3291
  asrjt_Float32__clinit_();
3291
3292
  jm_BigInteger__clinit_();
3293
+ asrjt_Float64__clinit_();
3292
3294
  asrjo_Arithmetic__clinit_();
3293
3295
  asrj_RoundingMode__clinit_();
3294
3296
  asrj_Flags__clinit_();
@@ -7003,6 +7005,40 @@ var jl_System_currentTimeMillis = () => {
7003
7005
  return Long_fromNumber((/* @__PURE__ */ new Date()).getTime());
7004
7006
  };
7005
7007
  var jl_CloneNotSupportedException = $rt_classWithoutFields(jl_Exception);
7008
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7009
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7010
+ let var$2, var$3, var$4, var$5;
7011
+ var$1 = var$1;
7012
+ asr_JsRiscV_$callClinit();
7013
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7014
+ var$3 = var$2.data;
7015
+ var$4 = 0;
7016
+ while (var$4 < asra_TokenList_size(var$1)) {
7017
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7018
+ var$4 = var$4 + 1 | 0;
7019
+ }
7020
+ var$5 = new asr_JsRiscVTokenizedLine();
7021
+ var$5.$line0 = var$1.$processedLine;
7022
+ var$5.$tokens0 = var$2;
7023
+ return var$5;
7024
+ };
7025
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7026
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7027
+ asr_JsRiscV_$callClinit();
7028
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7029
+ };
7030
+ function asr_JsRiscVTokenizedLine() {
7031
+ let a = this;
7032
+ jl_Object.call(a);
7033
+ a.$line0 = null;
7034
+ a.$tokens0 = null;
7035
+ }
7036
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7037
+ return $rt_ustr(var$1.$line0);
7038
+ };
7039
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7040
+ return otji_JS_wrap(var$1.$tokens0);
7041
+ };
7006
7042
  var asrrh_RegisterFile = $rt_classWithoutFields();
7007
7043
  var asrrh_RegisterFile_instance = null;
7008
7044
  var asrrh_RegisterFile_programCounter = null;
@@ -7010,16 +7046,16 @@ var asrrh_RegisterFile_$callClinit = () => {
7010
7046
  asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7011
7047
  asrrh_RegisterFile__clinit_();
7012
7048
  };
7013
- var asrrh_RegisterFile_updateRegister = (var$1, var$2) => {
7049
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7014
7050
  let var$3;
7015
7051
  asrrh_RegisterFile_$callClinit();
7016
- if (var$1) {
7052
+ if ($num) {
7017
7053
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7018
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, var$2);
7054
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7019
7055
  else {
7020
7056
  var$3 = asr_Globals_program.$backStepper;
7021
- var$2 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, var$2);
7022
- asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), var$1, var$2);
7057
+ $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7058
+ asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7023
7059
  }
7024
7060
  }
7025
7061
  };
@@ -7134,6 +7170,234 @@ var asrrh_RegisterFile__clinit_ = () => {
7134
7170
  asrrh_RegisterFile_instance = var$1;
7135
7171
  asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(242), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7136
7172
  };
7173
+ var ju_Arrays = $rt_classWithoutFields();
7174
+ var ju_Arrays_copyOf1 = ($array, $length) => {
7175
+ let $result, var$4, $sz, $i;
7176
+ $array = $array.data;
7177
+ $result = $rt_createCharArray($length);
7178
+ var$4 = $result.data;
7179
+ $sz = jl_Math_min($length, $array.length);
7180
+ $i = 0;
7181
+ while ($i < $sz) {
7182
+ var$4[$i] = $array[$i];
7183
+ $i = $i + 1 | 0;
7184
+ }
7185
+ return $result;
7186
+ };
7187
+ var ju_Arrays_copyOf0 = ($array, $length) => {
7188
+ let $result, var$4, $sz, $i;
7189
+ $array = $array.data;
7190
+ $result = $rt_createByteArray($length);
7191
+ var$4 = $result.data;
7192
+ $sz = jl_Math_min($length, $array.length);
7193
+ $i = 0;
7194
+ while ($i < $sz) {
7195
+ var$4[$i] = $array[$i];
7196
+ $i = $i + 1 | 0;
7197
+ }
7198
+ return $result;
7199
+ };
7200
+ var ju_Arrays_copyOf2 = ($array, $length) => {
7201
+ let $result, var$4, $sz, $i;
7202
+ $array = $array.data;
7203
+ $result = $rt_createIntArray($length);
7204
+ var$4 = $result.data;
7205
+ $sz = jl_Math_min($length, $array.length);
7206
+ $i = 0;
7207
+ while ($i < $sz) {
7208
+ var$4[$i] = $array[$i];
7209
+ $i = $i + 1 | 0;
7210
+ }
7211
+ return $result;
7212
+ };
7213
+ var ju_Arrays_copyOf = ($original, $newLength) => {
7214
+ let var$3, $result, $sz, $i;
7215
+ var$3 = $original.data;
7216
+ $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7217
+ $sz = jl_Math_min($newLength, var$3.length);
7218
+ $i = 0;
7219
+ while ($i < $sz) {
7220
+ $result.data[$i] = var$3[$i];
7221
+ $i = $i + 1 | 0;
7222
+ }
7223
+ return $result;
7224
+ };
7225
+ var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7226
+ let var$5, var$6, var$7;
7227
+ if ($fromIndex > $toIndex) {
7228
+ var$5 = new jl_IllegalArgumentException();
7229
+ jl_Throwable__init_(var$5);
7230
+ $rt_throw(var$5);
7231
+ }
7232
+ while ($fromIndex < $toIndex) {
7233
+ var$6 = $a.data;
7234
+ var$7 = $fromIndex + 1 | 0;
7235
+ var$6[$fromIndex] = $val;
7236
+ $fromIndex = var$7;
7237
+ }
7238
+ };
7239
+ var ju_Arrays_fill = ($a, $val) => {
7240
+ ju_Arrays_fill0($a, 0, $a.data.length, $val);
7241
+ };
7242
+ var ju_Arrays_sort = ($a) => {
7243
+ 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;
7244
+ var$2 = $a.data.length;
7245
+ if (!var$2)
7246
+ return;
7247
+ $second = $rt_createIntArray(var$2);
7248
+ $chunkSize = 1;
7249
+ var$5 = $a;
7250
+ while ($chunkSize < var$2) {
7251
+ $i = 0;
7252
+ while (true) {
7253
+ var$7 = var$5.data;
7254
+ var$8 = var$7.length;
7255
+ if ($i >= var$8)
7256
+ break;
7257
+ var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7258
+ $i_0 = $i + (2 * $chunkSize | 0) | 0;
7259
+ var$8 = jl_Math_min(var$8, $i_0);
7260
+ var$11 = $i;
7261
+ var$12 = var$9;
7262
+ a: {
7263
+ b: {
7264
+ while ($i != var$9) {
7265
+ if (var$12 == var$8)
7266
+ break b;
7267
+ var$13 = var$7[$i];
7268
+ var$14 = var$7[var$12];
7269
+ if (var$13 > var$14) {
7270
+ var$15 = $second.data;
7271
+ var$16 = var$11 + 1 | 0;
7272
+ var$15[var$11] = var$14;
7273
+ var$12 = var$12 + 1 | 0;
7274
+ } else {
7275
+ var$15 = $second.data;
7276
+ var$16 = var$11 + 1 | 0;
7277
+ var$15[var$11] = var$13;
7278
+ $i = $i + 1 | 0;
7279
+ }
7280
+ var$11 = var$16;
7281
+ }
7282
+ while (true) {
7283
+ if (var$12 >= var$8)
7284
+ break a;
7285
+ var$15 = $second.data;
7286
+ var$17 = var$11 + 1 | 0;
7287
+ $i = var$12 + 1 | 0;
7288
+ var$15[var$11] = var$7[var$12];
7289
+ var$11 = var$17;
7290
+ var$12 = $i;
7291
+ }
7292
+ }
7293
+ while (true) {
7294
+ if ($i >= var$9)
7295
+ break a;
7296
+ var$15 = $second.data;
7297
+ var$17 = var$11 + 1 | 0;
7298
+ var$8 = $i + 1 | 0;
7299
+ var$15[var$11] = var$7[$i];
7300
+ var$11 = var$17;
7301
+ $i = var$8;
7302
+ }
7303
+ }
7304
+ $i = $i_0;
7305
+ }
7306
+ $chunkSize = $chunkSize * 2 | 0;
7307
+ var$15 = var$5;
7308
+ var$5 = $second;
7309
+ $second = var$15;
7310
+ }
7311
+ c: {
7312
+ if (var$5 !== $a) {
7313
+ $i_0 = 0;
7314
+ while (true) {
7315
+ $a = var$5.data;
7316
+ if ($i_0 >= $a.length)
7317
+ break c;
7318
+ $second.data[$i_0] = $a[$i_0];
7319
+ $i_0 = $i_0 + 1 | 0;
7320
+ }
7321
+ }
7322
+ }
7323
+ };
7324
+ var ju_Arrays_binarySearch = ($a, $key) => {
7325
+ let var$3, var$4, var$5, var$6, var$7;
7326
+ $a = $a.data;
7327
+ var$3 = 0;
7328
+ var$4 = $a.length;
7329
+ if (var$3 > var$4) {
7330
+ var$5 = new jl_IllegalArgumentException();
7331
+ jl_Throwable__init_(var$5);
7332
+ $rt_throw(var$5);
7333
+ }
7334
+ var$6 = var$4 - 1 | 0;
7335
+ a: {
7336
+ while (true) {
7337
+ if (var$3 > var$6) {
7338
+ var$4 = (-var$3 | 0) - 1 | 0;
7339
+ break a;
7340
+ }
7341
+ var$4 = (var$3 + var$6 | 0) / 2 | 0;
7342
+ var$7 = $a[var$4];
7343
+ if (var$7 == $key)
7344
+ break;
7345
+ if ($key >= var$7)
7346
+ var$3 = var$4 + 1 | 0;
7347
+ else
7348
+ var$6 = var$4 - 1 | 0;
7349
+ }
7350
+ }
7351
+ return var$4;
7352
+ };
7353
+ var ju_Arrays_stream = ($array) => {
7354
+ let var$2, var$3, var$4;
7355
+ var$2 = $array.data;
7356
+ var$3 = new jusi_ArrayStreamImpl();
7357
+ var$4 = var$2.length;
7358
+ var$3.$array6 = $array;
7359
+ var$3.$index1 = 0;
7360
+ var$3.$end1 = var$4;
7361
+ var$3.$size2 = var$4 - 0 | 0;
7362
+ return var$3;
7363
+ };
7364
+ var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7365
+ var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7366
+ let var$2, var$3;
7367
+ var$1 = var$1;
7368
+ var$2 = new asr_JsBackStep();
7369
+ var$3 = var$1.$action;
7370
+ var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7371
+ var$2.$pc2 = var$1.$pc1;
7372
+ var$2.$param10 = var$1.$param1;
7373
+ var$2.$param20 = Long_lo(var$1.$param2);
7374
+ return var$2;
7375
+ };
7376
+ var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7377
+ var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7378
+ asr_JsRiscV_$callClinit();
7379
+ return $rt_createArray(asr_JsBackStep, var$1);
7380
+ };
7381
+ function asr_JsBackStep() {
7382
+ let a = this;
7383
+ jl_Object.call(a);
7384
+ a.$action0 = 0;
7385
+ a.$pc2 = 0;
7386
+ a.$param10 = 0;
7387
+ a.$param20 = 0;
7388
+ }
7389
+ var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7390
+ return var$1.$pc2;
7391
+ };
7392
+ var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7393
+ return var$1.$param20;
7394
+ };
7395
+ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7396
+ return var$1.$action0;
7397
+ };
7398
+ var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7399
+ return var$1.$param10;
7400
+ };
7137
7401
  function asr_JsProgramStatement() {
7138
7402
  let a = this;
7139
7403
  jl_Object.call(a);
@@ -7211,234 +7475,6 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7211
7475
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7212
7476
  return $rt_ustr(var$1.$machineStatement0);
7213
7477
  };
7214
- var ju_Arrays = $rt_classWithoutFields();
7215
- var ju_Arrays_copyOf1 = ($array, $length) => {
7216
- let $result, var$4, $sz, $i;
7217
- $array = $array.data;
7218
- $result = $rt_createCharArray($length);
7219
- var$4 = $result.data;
7220
- $sz = jl_Math_min($length, $array.length);
7221
- $i = 0;
7222
- while ($i < $sz) {
7223
- var$4[$i] = $array[$i];
7224
- $i = $i + 1 | 0;
7225
- }
7226
- return $result;
7227
- };
7228
- var ju_Arrays_copyOf0 = ($array, $length) => {
7229
- let $result, var$4, $sz, $i;
7230
- $array = $array.data;
7231
- $result = $rt_createByteArray($length);
7232
- var$4 = $result.data;
7233
- $sz = jl_Math_min($length, $array.length);
7234
- $i = 0;
7235
- while ($i < $sz) {
7236
- var$4[$i] = $array[$i];
7237
- $i = $i + 1 | 0;
7238
- }
7239
- return $result;
7240
- };
7241
- var ju_Arrays_copyOf2 = ($array, $length) => {
7242
- let $result, var$4, $sz, $i;
7243
- $array = $array.data;
7244
- $result = $rt_createIntArray($length);
7245
- var$4 = $result.data;
7246
- $sz = jl_Math_min($length, $array.length);
7247
- $i = 0;
7248
- while ($i < $sz) {
7249
- var$4[$i] = $array[$i];
7250
- $i = $i + 1 | 0;
7251
- }
7252
- return $result;
7253
- };
7254
- var ju_Arrays_copyOf = ($original, $newLength) => {
7255
- let var$3, $result, $sz, $i;
7256
- var$3 = $original.data;
7257
- $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7258
- $sz = jl_Math_min($newLength, var$3.length);
7259
- $i = 0;
7260
- while ($i < $sz) {
7261
- $result.data[$i] = var$3[$i];
7262
- $i = $i + 1 | 0;
7263
- }
7264
- return $result;
7265
- };
7266
- var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7267
- let var$5, var$6, var$7;
7268
- if ($fromIndex > $toIndex) {
7269
- var$5 = new jl_IllegalArgumentException();
7270
- jl_Throwable__init_(var$5);
7271
- $rt_throw(var$5);
7272
- }
7273
- while ($fromIndex < $toIndex) {
7274
- var$6 = $a.data;
7275
- var$7 = $fromIndex + 1 | 0;
7276
- var$6[$fromIndex] = $val;
7277
- $fromIndex = var$7;
7278
- }
7279
- };
7280
- var ju_Arrays_fill = ($a, $val) => {
7281
- ju_Arrays_fill0($a, 0, $a.data.length, $val);
7282
- };
7283
- var ju_Arrays_sort = ($a) => {
7284
- 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;
7285
- var$2 = $a.data.length;
7286
- if (!var$2)
7287
- return;
7288
- $second = $rt_createIntArray(var$2);
7289
- $chunkSize = 1;
7290
- var$5 = $a;
7291
- while ($chunkSize < var$2) {
7292
- $i = 0;
7293
- while (true) {
7294
- var$7 = var$5.data;
7295
- var$8 = var$7.length;
7296
- if ($i >= var$8)
7297
- break;
7298
- var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7299
- $i_0 = $i + (2 * $chunkSize | 0) | 0;
7300
- var$8 = jl_Math_min(var$8, $i_0);
7301
- var$11 = $i;
7302
- var$12 = var$9;
7303
- a: {
7304
- b: {
7305
- while ($i != var$9) {
7306
- if (var$12 == var$8)
7307
- break b;
7308
- var$13 = var$7[$i];
7309
- var$14 = var$7[var$12];
7310
- if (var$13 > var$14) {
7311
- var$15 = $second.data;
7312
- var$16 = var$11 + 1 | 0;
7313
- var$15[var$11] = var$14;
7314
- var$12 = var$12 + 1 | 0;
7315
- } else {
7316
- var$15 = $second.data;
7317
- var$16 = var$11 + 1 | 0;
7318
- var$15[var$11] = var$13;
7319
- $i = $i + 1 | 0;
7320
- }
7321
- var$11 = var$16;
7322
- }
7323
- while (true) {
7324
- if (var$12 >= var$8)
7325
- break a;
7326
- var$15 = $second.data;
7327
- var$17 = var$11 + 1 | 0;
7328
- $i = var$12 + 1 | 0;
7329
- var$15[var$11] = var$7[var$12];
7330
- var$11 = var$17;
7331
- var$12 = $i;
7332
- }
7333
- }
7334
- while (true) {
7335
- if ($i >= var$9)
7336
- break a;
7337
- var$15 = $second.data;
7338
- var$17 = var$11 + 1 | 0;
7339
- var$8 = $i + 1 | 0;
7340
- var$15[var$11] = var$7[$i];
7341
- var$11 = var$17;
7342
- $i = var$8;
7343
- }
7344
- }
7345
- $i = $i_0;
7346
- }
7347
- $chunkSize = $chunkSize * 2 | 0;
7348
- var$15 = var$5;
7349
- var$5 = $second;
7350
- $second = var$15;
7351
- }
7352
- c: {
7353
- if (var$5 !== $a) {
7354
- $i_0 = 0;
7355
- while (true) {
7356
- $a = var$5.data;
7357
- if ($i_0 >= $a.length)
7358
- break c;
7359
- $second.data[$i_0] = $a[$i_0];
7360
- $i_0 = $i_0 + 1 | 0;
7361
- }
7362
- }
7363
- }
7364
- };
7365
- var ju_Arrays_binarySearch = ($a, $key) => {
7366
- let var$3, var$4, var$5, var$6, var$7;
7367
- $a = $a.data;
7368
- var$3 = 0;
7369
- var$4 = $a.length;
7370
- if (var$3 > var$4) {
7371
- var$5 = new jl_IllegalArgumentException();
7372
- jl_Throwable__init_(var$5);
7373
- $rt_throw(var$5);
7374
- }
7375
- var$6 = var$4 - 1 | 0;
7376
- a: {
7377
- while (true) {
7378
- if (var$3 > var$6) {
7379
- var$4 = (-var$3 | 0) - 1 | 0;
7380
- break a;
7381
- }
7382
- var$4 = (var$3 + var$6 | 0) / 2 | 0;
7383
- var$7 = $a[var$4];
7384
- if (var$7 == $key)
7385
- break;
7386
- if ($key >= var$7)
7387
- var$3 = var$4 + 1 | 0;
7388
- else
7389
- var$6 = var$4 - 1 | 0;
7390
- }
7391
- }
7392
- return var$4;
7393
- };
7394
- var ju_Arrays_stream = ($array) => {
7395
- let var$2, var$3, var$4;
7396
- var$2 = $array.data;
7397
- var$3 = new jusi_ArrayStreamImpl();
7398
- var$4 = var$2.length;
7399
- var$3.$array6 = $array;
7400
- var$3.$index1 = 0;
7401
- var$3.$end1 = var$4;
7402
- var$3.$size2 = var$4 - 0 | 0;
7403
- return var$3;
7404
- };
7405
- var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7406
- var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7407
- let var$2, var$3;
7408
- var$1 = var$1;
7409
- var$2 = new asr_JsBackStep();
7410
- var$3 = var$1.$action;
7411
- var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7412
- var$2.$pc2 = var$1.$pc1;
7413
- var$2.$param10 = var$1.$param1;
7414
- var$2.$param20 = Long_lo(var$1.$param2);
7415
- return var$2;
7416
- };
7417
- var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7418
- var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7419
- asr_JsRiscV_$callClinit();
7420
- return $rt_createArray(asr_JsBackStep, var$1);
7421
- };
7422
- function asr_JsBackStep() {
7423
- let a = this;
7424
- jl_Object.call(a);
7425
- a.$action0 = 0;
7426
- a.$pc2 = 0;
7427
- a.$param10 = 0;
7428
- a.$param20 = 0;
7429
- }
7430
- var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7431
- return var$1.$pc2;
7432
- };
7433
- var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7434
- return var$1.$param20;
7435
- };
7436
- var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7437
- return var$1.$action0;
7438
- };
7439
- var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7440
- return var$1.$param10;
7441
- };
7442
7478
  function asr_JsCompilationResult() {
7443
7479
  let a = this;
7444
7480
  jl_Object.call(a);
@@ -7522,40 +7558,6 @@ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7522
7558
  var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7523
7559
  return var$1.$fp;
7524
7560
  };
7525
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7526
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7527
- let var$2, var$3, var$4, var$5;
7528
- var$1 = var$1;
7529
- asr_JsRiscV_$callClinit();
7530
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7531
- var$3 = var$2.data;
7532
- var$4 = 0;
7533
- while (var$4 < asra_TokenList_size(var$1)) {
7534
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7535
- var$4 = var$4 + 1 | 0;
7536
- }
7537
- var$5 = new asr_JsRiscVTokenizedLine();
7538
- var$5.$line0 = var$1.$processedLine;
7539
- var$5.$tokens0 = var$2;
7540
- return var$5;
7541
- };
7542
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7543
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7544
- asr_JsRiscV_$callClinit();
7545
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7546
- };
7547
- function asr_JsRiscVTokenizedLine() {
7548
- let a = this;
7549
- jl_Object.call(a);
7550
- a.$line0 = null;
7551
- a.$tokens0 = null;
7552
- }
7553
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7554
- return $rt_ustr(var$1.$line0);
7555
- };
7556
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7557
- return otji_JS_wrap(var$1.$tokens0);
7558
- };
7559
7561
  var ju_Map$Entry = $rt_classWithoutFields(0);
7560
7562
  function ju_MapEntry() {
7561
7563
  let a = this;
@@ -8100,100 +8102,6 @@ var asr_RISCVFile_getName = ($this) => {
8100
8102
  return $this.$name2;
8101
8103
  };
8102
8104
  var jl_StringIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
8103
- function asrrh_Register() {
8104
- let a = this;
8105
- ju_Observable.call(a);
8106
- a.$name1 = null;
8107
- a.$number = 0;
8108
- a.$resetValue0 = Long_ZERO;
8109
- a.$value2 = Long_ZERO;
8110
- }
8111
- var asrrh_Register__init_0 = ($this, $n, $num, $val) => {
8112
- ju_Observable__init_($this);
8113
- $this.$name1 = $n;
8114
- $this.$number = $num;
8115
- $this.$value2 = $val;
8116
- $this.$resetValue0 = $val;
8117
- };
8118
- var asrrh_Register__init_ = (var_0, var_1, var_2) => {
8119
- let var_3 = new asrrh_Register();
8120
- asrrh_Register__init_0(var_3, var_0, var_1, var_2);
8121
- return var_3;
8122
- };
8123
- var asrrh_Register_getName = ($this) => {
8124
- return $this.$name1;
8125
- };
8126
- var asrrh_Register_getValue = ($this) => {
8127
- jl_Object_monitorEnterSync($this);
8128
- try {
8129
- asrrh_Register_notifyAnyObservers($this, 0);
8130
- return $this.$value2;
8131
- } finally {
8132
- jl_Object_monitorExitSync($this);
8133
- }
8134
- };
8135
- var asrrh_Register_getValueNoNotify = ($this) => {
8136
- jl_Object_monitorEnterSync($this);
8137
- try {
8138
- return $this.$value2;
8139
- } finally {
8140
- jl_Object_monitorExitSync($this);
8141
- }
8142
- };
8143
- var asrrh_Register_getNumber = ($this) => {
8144
- return $this.$number;
8145
- };
8146
- var asrrh_Register_setValue = ($this, $val) => {
8147
- let $old;
8148
- jl_Object_monitorEnterSync($this);
8149
- try {
8150
- $old = $this.$value2;
8151
- $this.$value2 = $val;
8152
- asrrh_Register_notifyAnyObservers($this, 1);
8153
- return $old;
8154
- } finally {
8155
- jl_Object_monitorExitSync($this);
8156
- }
8157
- };
8158
- var asrrh_Register_setValueBackdoor = ($this, $val) => {
8159
- let $old;
8160
- jl_Object_monitorEnterSync($this);
8161
- try {
8162
- $old = $this.$value2;
8163
- $this.$value2 = $val;
8164
- return $old;
8165
- } finally {
8166
- jl_Object_monitorExitSync($this);
8167
- }
8168
- };
8169
- var asrrh_Register_resetValue = ($this) => {
8170
- jl_Object_monitorEnterSync($this);
8171
- try {
8172
- $this.$value2 = $this.$resetValue0;
8173
- } finally {
8174
- jl_Object_monitorExitSync($this);
8175
- }
8176
- };
8177
- var asrrh_Register_changeResetValue = ($this, $reset) => {
8178
- jl_Object_monitorEnterSync($this);
8179
- try {
8180
- $this.$resetValue0 = $reset;
8181
- } finally {
8182
- jl_Object_monitorExitSync($this);
8183
- }
8184
- };
8185
- var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8186
- let var$2, var$3, var$4;
8187
- var$2 = $this;
8188
- if (ju_Observable_countObservers(var$2) > 0) {
8189
- ju_Observable_setChanged(var$2);
8190
- var$3 = new asrrh_RegisterAccessNotice();
8191
- var$4 = $this.$name1;
8192
- asrrh_AccessNotice__init_(var$3, $type);
8193
- var$3.$registerName = var$4;
8194
- ju_Observable_notifyObservers(var$2, var$3);
8195
- }
8196
- };
8197
8105
  function asrs_BackStepper() {
8198
8106
  let a = this;
8199
8107
  jl_Object.call(a);
@@ -8411,6 +8319,100 @@ var jusi_ArrayStreamImpl_next = ($this, $consumer) => {
8411
8319
  var jusi_ArrayStreamImpl_estimateSize = ($this) => {
8412
8320
  return $this.$size2;
8413
8321
  };
8322
+ function asrrh_Register() {
8323
+ let a = this;
8324
+ ju_Observable.call(a);
8325
+ a.$name1 = null;
8326
+ a.$number = 0;
8327
+ a.$resetValue0 = Long_ZERO;
8328
+ a.$value2 = Long_ZERO;
8329
+ }
8330
+ var asrrh_Register__init_0 = ($this, $n, $num, $val) => {
8331
+ ju_Observable__init_($this);
8332
+ $this.$name1 = $n;
8333
+ $this.$number = $num;
8334
+ $this.$value2 = $val;
8335
+ $this.$resetValue0 = $val;
8336
+ };
8337
+ var asrrh_Register__init_ = (var_0, var_1, var_2) => {
8338
+ let var_3 = new asrrh_Register();
8339
+ asrrh_Register__init_0(var_3, var_0, var_1, var_2);
8340
+ return var_3;
8341
+ };
8342
+ var asrrh_Register_getName = ($this) => {
8343
+ return $this.$name1;
8344
+ };
8345
+ var asrrh_Register_getValue = ($this) => {
8346
+ jl_Object_monitorEnterSync($this);
8347
+ try {
8348
+ asrrh_Register_notifyAnyObservers($this, 0);
8349
+ return $this.$value2;
8350
+ } finally {
8351
+ jl_Object_monitorExitSync($this);
8352
+ }
8353
+ };
8354
+ var asrrh_Register_getValueNoNotify = ($this) => {
8355
+ jl_Object_monitorEnterSync($this);
8356
+ try {
8357
+ return $this.$value2;
8358
+ } finally {
8359
+ jl_Object_monitorExitSync($this);
8360
+ }
8361
+ };
8362
+ var asrrh_Register_getNumber = ($this) => {
8363
+ return $this.$number;
8364
+ };
8365
+ var asrrh_Register_setValue = ($this, $val) => {
8366
+ let $old;
8367
+ jl_Object_monitorEnterSync($this);
8368
+ try {
8369
+ $old = $this.$value2;
8370
+ $this.$value2 = $val;
8371
+ asrrh_Register_notifyAnyObservers($this, 1);
8372
+ return $old;
8373
+ } finally {
8374
+ jl_Object_monitorExitSync($this);
8375
+ }
8376
+ };
8377
+ var asrrh_Register_setValueBackdoor = ($this, $val) => {
8378
+ let $old;
8379
+ jl_Object_monitorEnterSync($this);
8380
+ try {
8381
+ $old = $this.$value2;
8382
+ $this.$value2 = $val;
8383
+ return $old;
8384
+ } finally {
8385
+ jl_Object_monitorExitSync($this);
8386
+ }
8387
+ };
8388
+ var asrrh_Register_resetValue = ($this) => {
8389
+ jl_Object_monitorEnterSync($this);
8390
+ try {
8391
+ $this.$value2 = $this.$resetValue0;
8392
+ } finally {
8393
+ jl_Object_monitorExitSync($this);
8394
+ }
8395
+ };
8396
+ var asrrh_Register_changeResetValue = ($this, $reset) => {
8397
+ jl_Object_monitorEnterSync($this);
8398
+ try {
8399
+ $this.$resetValue0 = $reset;
8400
+ } finally {
8401
+ jl_Object_monitorExitSync($this);
8402
+ }
8403
+ };
8404
+ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8405
+ let var$2, var$3, var$4;
8406
+ var$2 = $this;
8407
+ if (ju_Observable_countObservers(var$2) > 0) {
8408
+ ju_Observable_setChanged(var$2);
8409
+ var$3 = new asrrh_RegisterAccessNotice();
8410
+ var$4 = $this.$name1;
8411
+ asrrh_AccessNotice__init_(var$3, $type);
8412
+ var$3.$registerName = var$4;
8413
+ ju_Observable_notifyObservers(var$2, var$3);
8414
+ }
8415
+ };
8414
8416
  function asr_JsCompilationResult$_init_$lambda$_0_0() {
8415
8417
  jl_Object.call(this);
8416
8418
  this.$_06 = null;
@@ -15897,6 +15899,7 @@ var jl_Thread__clinit_ = () => {
15897
15899
  };
15898
15900
  var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
15899
15901
  var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
15902
+ var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
15900
15903
  var otjc_JSObjects = $rt_classWithoutFields();
15901
15904
  var otji_JSWrapper$Helper = $rt_classWithoutFields();
15902
15905
  var otji_JSWrapper$Helper_hashCodes = null;
@@ -15932,7 +15935,6 @@ var otji_JSWrapper$Helper__clinit_ = () => {
15932
15935
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
15933
15936
  };
15934
15937
  var otjc_JSUndefined = $rt_classWithoutFields();
15935
- var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
15936
15938
  function ju_Arrays$ArrayAsList() {
15937
15939
  ju_AbstractList.call(this);
15938
15940
  this.$array3 = null;
@@ -31195,222 +31197,6 @@ var asrjt_Floating = $rt_classWithoutFields();
31195
31197
  var asrjt_Floating_isFinite = ($this) => {
31196
31198
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31197
31199
  };
31198
- function asrjt_Float64() {
31199
- asrjt_Floating.call(this);
31200
- this.$bits1 = Long_ZERO;
31201
- }
31202
- var asrjt_Float64_Zero = null;
31203
- var asrjt_Float64_NegativeZero = null;
31204
- var asrjt_Float64_NaN = null;
31205
- var asrjt_Float64_Infinity = null;
31206
- var asrjt_Float64_NegativeInfinity = null;
31207
- var asrjt_Float64_$assertionsDisabled = 0;
31208
- var asrjt_Float64__init_1 = ($this, $bits) => {
31209
- $this.$bits1 = $bits;
31210
- };
31211
- var asrjt_Float64__init_ = (var_0) => {
31212
- let var_1 = new asrjt_Float64();
31213
- asrjt_Float64__init_1(var_1, var_0);
31214
- return var_1;
31215
- };
31216
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31217
- 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))));
31218
- };
31219
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31220
- let var_3 = new asrjt_Float64();
31221
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31222
- return var_3;
31223
- };
31224
- var asrjt_Float64_exponent = ($this) => {
31225
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31226
- };
31227
- var asrjt_Float64_negate = ($this) => {
31228
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31229
- };
31230
- var asrjt_Float64_isSignMinus = ($this) => {
31231
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31232
- };
31233
- var asrjt_Float64_isInfinite = ($this) => {
31234
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31235
- };
31236
- var asrjt_Float64_isNormal = ($this) => {
31237
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31238
- };
31239
- var asrjt_Float64_isSubnormal = ($this) => {
31240
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31241
- };
31242
- var asrjt_Float64_isNaN = ($this) => {
31243
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31244
- };
31245
- var asrjt_Float64_isSignalling = ($this) => {
31246
- if (!asrjt_Float64_isNaN($this))
31247
- return 0;
31248
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31249
- };
31250
- var asrjt_Float64_isZero = ($this) => {
31251
- let var$1;
31252
- var$1 = $this.$bits1;
31253
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31254
- };
31255
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31256
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31257
- if (asrji_ExactFloat_isZero($ef))
31258
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31259
- $ef = asrji_ExactFloat_normalize($ef);
31260
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31261
- if ($normalizedExponent > -1022) {
31262
- if ($normalizedExponent > 1024) {
31263
- $mainBits = $env.$flags;
31264
- $roundedBits = asrj_Flags_overflow;
31265
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31266
- $mainBits = $env.$flags;
31267
- $roundedBits = asrj_Flags_inexact;
31268
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31269
- asrjt_Float64$1_$callClinit();
31270
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31271
- case 1:
31272
- break;
31273
- case 2:
31274
- case 3:
31275
- $normalizedExponent = $ef.$sign;
31276
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31277
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31278
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31279
- case 4:
31280
- case 5:
31281
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31282
- default:
31283
- if (!asrjt_Float64_$assertionsDisabled)
31284
- $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31285
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31286
- }
31287
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31288
- }
31289
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31290
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31291
- $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31292
- $a = new asrjt_Float64();
31293
- $normalizedExponent = $ef.$sign;
31294
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31295
- $ef = $ef.$significand;
31296
- 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)));
31297
- return $a;
31298
- }
31299
- $mainBits = $env.$flags;
31300
- $roundedBits = asrj_Flags_inexact;
31301
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31302
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31303
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31304
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31305
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31306
- $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)));
31307
- $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)));
31308
- } else {
31309
- if ($ef.$exponent0 > -1075) {
31310
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31311
- $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31312
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31313
- }
31314
- $mainBits = $env.$flags;
31315
- $roundedBits = asrj_Flags_inexact;
31316
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31317
- $mainBits = $env.$flags;
31318
- $roundedBits = asrj_Flags_underflow;
31319
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31320
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
31321
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31322
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31323
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31324
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31325
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31326
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31327
- else {
31328
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31329
- $rt_throw(jl_AssertionError__init_1());
31330
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31331
- }
31332
- }
31333
- asrjt_Float64$1_$callClinit();
31334
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31335
- case 1:
31336
- break;
31337
- case 2:
31338
- case 3:
31339
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31340
- return $towardsZero;
31341
- return $awayZero;
31342
- default:
31343
- $ef = jm_BigInteger_ONE;
31344
- $normalizedExponent = $bitsToRound - 1 | 0;
31345
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31346
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31347
- return $towardsZero;
31348
- return $awayZero;
31349
- }
31350
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31351
- return $towardsZero;
31352
- return $awayZero;
31353
- }
31354
- return $towardsZero;
31355
- };
31356
- var asrjt_Float64_toExactFloat = ($this) => {
31357
- let $sign, $exponent, $significand;
31358
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31359
- $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31360
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31361
- $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31362
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31363
- $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31364
- $sign = asrjt_Float64_isSignMinus($this);
31365
- if (asrjt_Float64_isZero($this)) {
31366
- $exponent = 0;
31367
- $significand = jm_BigInteger_ZERO;
31368
- } else if (asrjt_Float64_isNormal($this)) {
31369
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31370
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31371
- } else {
31372
- if (!asrjt_Float64_isSubnormal($this)) {
31373
- if (asrjt_Float64_$assertionsDisabled)
31374
- return null;
31375
- $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31376
- }
31377
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31378
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31379
- }
31380
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
31381
- };
31382
- var asrjt_Float64_maxPrecision = ($this) => {
31383
- return 60;
31384
- };
31385
- var asrjt_Float64_negate0 = ($this) => {
31386
- return asrjt_Float64_negate($this);
31387
- };
31388
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31389
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31390
- };
31391
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
31392
- return asrjt_Float64_NegativeInfinity;
31393
- };
31394
- var asrjt_Float64_Infinity0 = ($this) => {
31395
- return asrjt_Float64_Infinity;
31396
- };
31397
- var asrjt_Float64_NegativeZero0 = ($this) => {
31398
- return asrjt_Float64_NegativeZero;
31399
- };
31400
- var asrjt_Float64_Zero0 = ($this) => {
31401
- return asrjt_Float64_Zero;
31402
- };
31403
- var asrjt_Float64_NaN0 = ($this) => {
31404
- return asrjt_Float64_NaN;
31405
- };
31406
- var asrjt_Float64__clinit_ = () => {
31407
- asrjt_Float64_$assertionsDisabled = 0;
31408
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
31409
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
31410
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
31411
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31412
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31413
- };
31414
31200
  function asrjt_Float32() {
31415
31201
  asrjt_Floating.call(this);
31416
31202
  this.$bits0 = 0;
@@ -31627,6 +31413,375 @@ var asrjt_Float32__clinit_ = () => {
31627
31413
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31628
31414
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31629
31415
  };
31416
+ function jm_BigInteger() {
31417
+ let a = this;
31418
+ jl_Number.call(a);
31419
+ a.$digits = null;
31420
+ a.$numberLength = 0;
31421
+ a.$sign0 = 0;
31422
+ a.$firstNonzeroDigit = 0;
31423
+ }
31424
+ var jm_BigInteger_ZERO = null;
31425
+ var jm_BigInteger_ONE = null;
31426
+ var jm_BigInteger_TWO = null;
31427
+ var jm_BigInteger_TEN = null;
31428
+ var jm_BigInteger_MINUS_ONE = null;
31429
+ var jm_BigInteger_SMALL_VALUES = null;
31430
+ var jm_BigInteger_TWO_POWS = null;
31431
+ var jm_BigInteger__init_4 = ($this, $sign, $value) => {
31432
+ let var$3;
31433
+ $this.$firstNonzeroDigit = -2;
31434
+ $this.$sign0 = $sign;
31435
+ $this.$numberLength = 1;
31436
+ var$3 = $rt_createIntArray(1);
31437
+ var$3.data[0] = $value;
31438
+ $this.$digits = var$3;
31439
+ };
31440
+ var jm_BigInteger__init_ = (var_0, var_1) => {
31441
+ let var_2 = new jm_BigInteger();
31442
+ jm_BigInteger__init_4(var_2, var_0, var_1);
31443
+ return var_2;
31444
+ };
31445
+ var jm_BigInteger__init_2 = ($this, $sign, $numberLength, $digits) => {
31446
+ $this.$firstNonzeroDigit = -2;
31447
+ $this.$sign0 = $sign;
31448
+ $this.$numberLength = $numberLength;
31449
+ $this.$digits = $digits;
31450
+ };
31451
+ var jm_BigInteger__init_0 = (var_0, var_1, var_2) => {
31452
+ let var_3 = new jm_BigInteger();
31453
+ jm_BigInteger__init_2(var_3, var_0, var_1, var_2);
31454
+ return var_3;
31455
+ };
31456
+ var jm_BigInteger__init_3 = ($this, $sign, $val) => {
31457
+ let var$3;
31458
+ $this.$firstNonzeroDigit = -2;
31459
+ $this.$sign0 = $sign;
31460
+ if (Long_eq(Long_and($val, Long_create(0, 4294967295)), Long_ZERO)) {
31461
+ $this.$numberLength = 1;
31462
+ var$3 = $rt_createIntArray(1);
31463
+ var$3.data[0] = Long_lo($val);
31464
+ $this.$digits = var$3;
31465
+ } else {
31466
+ $this.$numberLength = 2;
31467
+ $this.$digits = $rt_createIntArrayFromData([Long_lo($val), Long_hi($val)]);
31468
+ }
31469
+ };
31470
+ var jm_BigInteger__init_1 = (var_0, var_1) => {
31471
+ let var_2 = new jm_BigInteger();
31472
+ jm_BigInteger__init_3(var_2, var_0, var_1);
31473
+ return var_2;
31474
+ };
31475
+ var jm_BigInteger_valueOf = ($val) => {
31476
+ if (Long_lt($val, Long_ZERO)) {
31477
+ if (Long_eq($val, Long_fromInt(-1)))
31478
+ return jm_BigInteger_MINUS_ONE;
31479
+ return jm_BigInteger__init_1(-1, Long_neg($val));
31480
+ }
31481
+ if (Long_gt($val, Long_fromInt(10)))
31482
+ return jm_BigInteger__init_1(1, $val);
31483
+ return jm_BigInteger_SMALL_VALUES.data[Long_lo($val)];
31484
+ };
31485
+ var jm_BigInteger_abs = ($this) => {
31486
+ if ($this.$sign0 < 0)
31487
+ $this = jm_BigInteger__init_0(1, $this.$numberLength, $this.$digits);
31488
+ return $this;
31489
+ };
31490
+ var jm_BigInteger_negate = ($this) => {
31491
+ let var$1;
31492
+ var$1 = $this.$sign0;
31493
+ return !var$1 ? $this : jm_BigInteger__init_0(-var$1 | 0, $this.$numberLength, $this.$digits);
31494
+ };
31495
+ var jm_BigInteger_add = ($this, $val) => {
31496
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31497
+ a: {
31498
+ var$2 = $this.$sign0;
31499
+ var$3 = $val.$sign0;
31500
+ if (var$2) {
31501
+ if (!var$3)
31502
+ $val = $this;
31503
+ else {
31504
+ var$4 = $this.$numberLength;
31505
+ var$5 = $val.$numberLength;
31506
+ if ((var$4 + var$5 | 0) == 2) {
31507
+ var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31508
+ var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31509
+ if (var$2 != var$3)
31510
+ $val = jm_BigInteger_valueOf(var$2 >= 0 ? Long_sub(var$6, var$7) : Long_sub(var$7, var$6));
31511
+ else {
31512
+ var$6 = Long_add(var$6, var$7);
31513
+ var$8 = Long_lo(var$6);
31514
+ var$4 = Long_hi(var$6);
31515
+ $val = !var$4 ? jm_BigInteger__init_(var$2, var$8) : jm_BigInteger__init_0(var$2, 2, $rt_createIntArrayFromData([var$8, var$4]));
31516
+ }
31517
+ } else {
31518
+ if (var$2 == var$3)
31519
+ 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);
31520
+ else {
31521
+ var$8 = $rt_compare(var$4, var$5);
31522
+ var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31523
+ if (!var$8) {
31524
+ $val = jm_BigInteger_ZERO;
31525
+ break a;
31526
+ }
31527
+ if (var$8 != 1) {
31528
+ var$9 = jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
31529
+ var$2 = var$3;
31530
+ } else
31531
+ var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31532
+ }
31533
+ var$10 = var$9.data;
31534
+ $val = jm_BigInteger__init_0(var$2, var$10.length, var$9);
31535
+ jm_BigInteger_cutOffLeadingZeroes($val);
31536
+ }
31537
+ }
31538
+ }
31539
+ }
31540
+ return $val;
31541
+ };
31542
+ var jm_BigInteger_subtract = ($this, $val) => {
31543
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31544
+ a: {
31545
+ var$2 = $this.$sign0;
31546
+ var$3 = $val.$sign0;
31547
+ if (var$3) {
31548
+ if (!var$2)
31549
+ $this = jm_BigInteger_negate($val);
31550
+ else {
31551
+ var$4 = $this.$numberLength;
31552
+ var$5 = $val.$numberLength;
31553
+ if ((var$4 + var$5 | 0) == 2) {
31554
+ var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31555
+ var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31556
+ if (var$2 < 0)
31557
+ var$6 = Long_neg(var$6);
31558
+ if (var$3 < 0)
31559
+ var$7 = Long_neg(var$7);
31560
+ $this = jm_BigInteger_valueOf(Long_sub(var$6, var$7));
31561
+ } else {
31562
+ var$8 = $rt_compare(var$4, var$5);
31563
+ var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31564
+ if (var$8 == -1) {
31565
+ var$8 = -var$3 | 0;
31566
+ 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);
31567
+ } else if (var$2 != var$3) {
31568
+ var$9 = jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
31569
+ var$8 = var$2;
31570
+ } else {
31571
+ if (!var$8) {
31572
+ $this = jm_BigInteger_ZERO;
31573
+ break a;
31574
+ }
31575
+ var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31576
+ var$8 = var$2;
31577
+ }
31578
+ var$10 = var$9.data;
31579
+ $this = jm_BigInteger__init_0(var$8, var$10.length, var$9);
31580
+ jm_BigInteger_cutOffLeadingZeroes($this);
31581
+ }
31582
+ }
31583
+ }
31584
+ }
31585
+ return $this;
31586
+ };
31587
+ var jm_BigInteger_shiftRight = ($this, $n) => {
31588
+ if ($n && $this.$sign0)
31589
+ return $n > 0 ? jm_BitLevel_shiftRight($this, $n) : jm_BitLevel_shiftLeft($this, -$n | 0);
31590
+ return $this;
31591
+ };
31592
+ var jm_BigInteger_shiftLeft = ($this, $n) => {
31593
+ if ($n && $this.$sign0)
31594
+ return $n > 0 ? jm_BitLevel_shiftLeft($this, $n) : jm_BitLevel_shiftRight($this, -$n | 0);
31595
+ return $this;
31596
+ };
31597
+ var jm_BigInteger_bitLength = ($this) => {
31598
+ let var$1, var$2, var$3, var$4;
31599
+ var$1 = $this.$sign0;
31600
+ if (!var$1)
31601
+ var$2 = 0;
31602
+ else {
31603
+ var$3 = $this.$numberLength;
31604
+ var$4 = var$3 << 5;
31605
+ var$2 = $this.$digits.data[var$3 - 1 | 0];
31606
+ if (var$1 < 0 && jm_BigInteger_getFirstNonzeroDigit($this) == ($this.$numberLength - 1 | 0))
31607
+ var$2 = var$2 + -1 | 0;
31608
+ var$2 = var$4 - jl_Integer_numberOfLeadingZeros(var$2) | 0;
31609
+ }
31610
+ return var$2;
31611
+ };
31612
+ var jm_BigInteger_testBit = ($this, $n) => {
31613
+ let var$2, $intCount, $digit, $firstNonZeroDigit;
31614
+ if (!$n)
31615
+ return !($this.$digits.data[0] & 1) ? 0 : 1;
31616
+ if ($n < 0) {
31617
+ var$2 = new jl_ArithmeticException();
31618
+ jl_Throwable__init_0(var$2, $rt_s(1624));
31619
+ $rt_throw(var$2);
31620
+ }
31621
+ $intCount = $n >> 5;
31622
+ if ($intCount >= $this.$numberLength)
31623
+ return $this.$sign0 >= 0 ? 0 : 1;
31624
+ $digit = $this.$digits.data[$intCount];
31625
+ $n = 1 << ($n & 31);
31626
+ if ($this.$sign0 < 0) {
31627
+ $firstNonZeroDigit = jm_BigInteger_getFirstNonzeroDigit($this);
31628
+ if ($intCount < $firstNonZeroDigit)
31629
+ return 0;
31630
+ $digit = $firstNonZeroDigit == $intCount ? -$digit | 0 : $digit ^ -1;
31631
+ }
31632
+ return !($digit & $n) ? 0 : 1;
31633
+ };
31634
+ var jm_BigInteger_getLowestSetBit = ($this) => {
31635
+ let $i;
31636
+ if (!$this.$sign0)
31637
+ return -1;
31638
+ $i = jm_BigInteger_getFirstNonzeroDigit($this);
31639
+ return ($i << 5) + jl_Integer_numberOfTrailingZeros($this.$digits.data[$i]) | 0;
31640
+ };
31641
+ var jm_BigInteger_intValueExact = ($this) => {
31642
+ let var$1;
31643
+ if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31644
+ return $rt_imul($this.$sign0, $this.$digits.data[0]);
31645
+ var$1 = new jl_ArithmeticException();
31646
+ jl_Throwable__init_0(var$1, $rt_s(1625));
31647
+ $rt_throw(var$1);
31648
+ };
31649
+ var jm_BigInteger_longValue = ($this) => {
31650
+ let $value, var$2;
31651
+ if ($this.$numberLength <= 1)
31652
+ $value = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31653
+ else {
31654
+ var$2 = $this.$digits.data;
31655
+ $value = Long_or(Long_shl(Long_fromInt(var$2[1]), 32), Long_and(Long_fromInt(var$2[0]), Long_create(4294967295, 0)));
31656
+ }
31657
+ return Long_mul(Long_fromInt($this.$sign0), $value);
31658
+ };
31659
+ var jm_BigInteger_longValueExact = ($this) => {
31660
+ let var$1;
31661
+ if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31662
+ return jm_BigInteger_longValue($this);
31663
+ var$1 = new jl_ArithmeticException();
31664
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31665
+ $rt_throw(var$1);
31666
+ };
31667
+ var jm_BigInteger_compareTo = ($this, $val) => {
31668
+ let var$2, var$3, var$4, var$5;
31669
+ var$2 = $this.$sign0;
31670
+ var$3 = $val.$sign0;
31671
+ var$4 = $rt_compare(var$2, var$3);
31672
+ if (var$4 > 0)
31673
+ return 1;
31674
+ if (var$4 < 0)
31675
+ return -1;
31676
+ var$4 = $this.$numberLength;
31677
+ var$5 = $rt_compare(var$4, $val.$numberLength);
31678
+ if (var$5 > 0)
31679
+ return var$2;
31680
+ if (var$5 < 0)
31681
+ return -var$3 | 0;
31682
+ return $rt_imul(var$2, jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4));
31683
+ };
31684
+ var jm_BigInteger_equals = ($this, $x) => {
31685
+ let $x1, var$3, var$4, var$5;
31686
+ if ($this === $x)
31687
+ return 1;
31688
+ if (!($x instanceof jm_BigInteger))
31689
+ return 0;
31690
+ a: {
31691
+ $x1 = $x;
31692
+ if ($this.$sign0 == $x1.$sign0) {
31693
+ var$3 = $this.$numberLength;
31694
+ if (var$3 == $x1.$numberLength) {
31695
+ var$4 = $x1.$digits;
31696
+ var$3 = var$3 - 1 | 0;
31697
+ while (var$3 >= 0) {
31698
+ var$5 = var$4.data;
31699
+ if ($this.$digits.data[var$3] != var$5[var$3])
31700
+ break;
31701
+ var$3 = var$3 + -1 | 0;
31702
+ }
31703
+ if (var$3 >= 0 ? 0 : 1) {
31704
+ var$3 = 1;
31705
+ break a;
31706
+ }
31707
+ }
31708
+ }
31709
+ var$3 = 0;
31710
+ }
31711
+ return var$3;
31712
+ };
31713
+ var jm_BigInteger_multiply = ($this, $val) => {
31714
+ if (!$val.$sign0)
31715
+ return jm_BigInteger_ZERO;
31716
+ if (!$this.$sign0)
31717
+ return jm_BigInteger_ZERO;
31718
+ jm_Multiplication_$callClinit();
31719
+ return jm_Multiplication_karatsuba($this, $val);
31720
+ };
31721
+ var jm_BigInteger_cutOffLeadingZeroes = ($this) => {
31722
+ let var$1, var$2, var$3;
31723
+ while (true) {
31724
+ var$1 = $this.$numberLength;
31725
+ if (var$1 <= 0)
31726
+ break;
31727
+ var$2 = $this.$digits.data;
31728
+ var$1 = var$1 - 1 | 0;
31729
+ $this.$numberLength = var$1;
31730
+ if (var$2[var$1])
31731
+ break;
31732
+ }
31733
+ var$2 = $this.$digits.data;
31734
+ var$3 = $this.$numberLength;
31735
+ $this.$numberLength = var$3 + 1 | 0;
31736
+ if (!var$2[var$3])
31737
+ $this.$sign0 = 0;
31738
+ };
31739
+ var jm_BigInteger_getFirstNonzeroDigit = ($this) => {
31740
+ let $i;
31741
+ if ($this.$firstNonzeroDigit == -2) {
31742
+ if (!$this.$sign0)
31743
+ $i = -1;
31744
+ else {
31745
+ $i = 0;
31746
+ while (!$this.$digits.data[$i]) {
31747
+ $i = $i + 1 | 0;
31748
+ }
31749
+ }
31750
+ $this.$firstNonzeroDigit = $i;
31751
+ }
31752
+ return $this.$firstNonzeroDigit;
31753
+ };
31754
+ var jm_BigInteger__clinit_ = () => {
31755
+ let var$1, var$2, $i;
31756
+ jm_BigInteger_ZERO = jm_BigInteger__init_(0, 0);
31757
+ jm_BigInteger_ONE = jm_BigInteger__init_(1, 1);
31758
+ jm_BigInteger_TWO = jm_BigInteger__init_(1, 2);
31759
+ jm_BigInteger_TEN = jm_BigInteger__init_(1, 10);
31760
+ jm_BigInteger_MINUS_ONE = jm_BigInteger__init_(-1, 1);
31761
+ var$1 = $rt_createArray(jm_BigInteger, 11);
31762
+ var$2 = var$1.data;
31763
+ var$2[0] = jm_BigInteger_ZERO;
31764
+ var$2[1] = jm_BigInteger_ONE;
31765
+ var$2[2] = jm_BigInteger_TWO;
31766
+ var$2[3] = jm_BigInteger__init_(1, 3);
31767
+ var$2[4] = jm_BigInteger__init_(1, 4);
31768
+ var$2[5] = jm_BigInteger__init_(1, 5);
31769
+ var$2[6] = jm_BigInteger__init_(1, 6);
31770
+ var$2[7] = jm_BigInteger__init_(1, 7);
31771
+ var$2[8] = jm_BigInteger__init_(1, 8);
31772
+ var$2[9] = jm_BigInteger__init_(1, 9);
31773
+ var$2[10] = jm_BigInteger_TEN;
31774
+ jm_BigInteger_SMALL_VALUES = var$1;
31775
+ jm_BigInteger_TWO_POWS = $rt_createArray(jm_BigInteger, 32);
31776
+ $i = 0;
31777
+ while (true) {
31778
+ var$1 = jm_BigInteger_TWO_POWS.data;
31779
+ if ($i >= var$1.length)
31780
+ break;
31781
+ var$1[$i] = jm_BigInteger_valueOf(Long_shl(Long_fromInt(1), $i));
31782
+ $i = $i + 1 | 0;
31783
+ }
31784
+ };
31630
31785
  var asrjo_Conversions = $rt_classWithoutFields();
31631
31786
  var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31632
31787
  let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
@@ -31685,7 +31840,7 @@ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31685
31840
  ju_GenericEnumSet_add(var$9, var$10);
31686
31841
  }
31687
31842
  if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31688
- $rt_throw(jl_AssertionError__init_($rt_s(1624)));
31843
+ $rt_throw(jl_AssertionError__init_($rt_s(1627)));
31689
31844
  $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31690
31845
  }
31691
31846
  }
@@ -31735,6 +31890,222 @@ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31735
31890
  var$4.$significand = $i;
31736
31891
  return $helper.$fromExactFloat(var$4, $env);
31737
31892
  };
31893
+ function asrjt_Float64() {
31894
+ asrjt_Floating.call(this);
31895
+ this.$bits1 = Long_ZERO;
31896
+ }
31897
+ var asrjt_Float64_Zero = null;
31898
+ var asrjt_Float64_NegativeZero = null;
31899
+ var asrjt_Float64_NaN = null;
31900
+ var asrjt_Float64_Infinity = null;
31901
+ var asrjt_Float64_NegativeInfinity = null;
31902
+ var asrjt_Float64_$assertionsDisabled = 0;
31903
+ var asrjt_Float64__init_1 = ($this, $bits) => {
31904
+ $this.$bits1 = $bits;
31905
+ };
31906
+ var asrjt_Float64__init_ = (var_0) => {
31907
+ let var_1 = new asrjt_Float64();
31908
+ asrjt_Float64__init_1(var_1, var_0);
31909
+ return var_1;
31910
+ };
31911
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31912
+ 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))));
31913
+ };
31914
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31915
+ let var_3 = new asrjt_Float64();
31916
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31917
+ return var_3;
31918
+ };
31919
+ var asrjt_Float64_exponent = ($this) => {
31920
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31921
+ };
31922
+ var asrjt_Float64_negate = ($this) => {
31923
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31924
+ };
31925
+ var asrjt_Float64_isSignMinus = ($this) => {
31926
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31927
+ };
31928
+ var asrjt_Float64_isInfinite = ($this) => {
31929
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31930
+ };
31931
+ var asrjt_Float64_isNormal = ($this) => {
31932
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31933
+ };
31934
+ var asrjt_Float64_isSubnormal = ($this) => {
31935
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31936
+ };
31937
+ var asrjt_Float64_isNaN = ($this) => {
31938
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31939
+ };
31940
+ var asrjt_Float64_isSignalling = ($this) => {
31941
+ if (!asrjt_Float64_isNaN($this))
31942
+ return 0;
31943
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31944
+ };
31945
+ var asrjt_Float64_isZero = ($this) => {
31946
+ let var$1;
31947
+ var$1 = $this.$bits1;
31948
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31949
+ };
31950
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31951
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31952
+ if (asrji_ExactFloat_isZero($ef))
31953
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31954
+ $ef = asrji_ExactFloat_normalize($ef);
31955
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31956
+ if ($normalizedExponent > -1022) {
31957
+ if ($normalizedExponent > 1024) {
31958
+ $mainBits = $env.$flags;
31959
+ $roundedBits = asrj_Flags_overflow;
31960
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31961
+ $mainBits = $env.$flags;
31962
+ $roundedBits = asrj_Flags_inexact;
31963
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31964
+ asrjt_Float64$1_$callClinit();
31965
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31966
+ case 1:
31967
+ break;
31968
+ case 2:
31969
+ case 3:
31970
+ $normalizedExponent = $ef.$sign;
31971
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31972
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31973
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31974
+ case 4:
31975
+ case 5:
31976
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31977
+ default:
31978
+ if (!asrjt_Float64_$assertionsDisabled)
31979
+ $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31980
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31981
+ }
31982
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31983
+ }
31984
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31985
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31986
+ $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31987
+ $a = new asrjt_Float64();
31988
+ $normalizedExponent = $ef.$sign;
31989
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31990
+ $ef = $ef.$significand;
31991
+ 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)));
31992
+ return $a;
31993
+ }
31994
+ $mainBits = $env.$flags;
31995
+ $roundedBits = asrj_Flags_inexact;
31996
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31997
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31998
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31999
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32000
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32001
+ $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)));
32002
+ $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)));
32003
+ } else {
32004
+ if ($ef.$exponent0 > -1075) {
32005
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32006
+ $rt_throw(jl_AssertionError__init_($rt_s(1619)));
32007
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32008
+ }
32009
+ $mainBits = $env.$flags;
32010
+ $roundedBits = asrj_Flags_inexact;
32011
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32012
+ $mainBits = $env.$flags;
32013
+ $roundedBits = asrj_Flags_underflow;
32014
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32015
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
32016
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32017
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32018
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32019
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32020
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32021
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32022
+ else {
32023
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32024
+ $rt_throw(jl_AssertionError__init_1());
32025
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32026
+ }
32027
+ }
32028
+ asrjt_Float64$1_$callClinit();
32029
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32030
+ case 1:
32031
+ break;
32032
+ case 2:
32033
+ case 3:
32034
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32035
+ return $towardsZero;
32036
+ return $awayZero;
32037
+ default:
32038
+ $ef = jm_BigInteger_ONE;
32039
+ $normalizedExponent = $bitsToRound - 1 | 0;
32040
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32041
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32042
+ return $towardsZero;
32043
+ return $awayZero;
32044
+ }
32045
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32046
+ return $towardsZero;
32047
+ return $awayZero;
32048
+ }
32049
+ return $towardsZero;
32050
+ };
32051
+ var asrjt_Float64_toExactFloat = ($this) => {
32052
+ let $sign, $exponent, $significand;
32053
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32054
+ $rt_throw(jl_AssertionError__init_($rt_s(1620)));
32055
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32056
+ $rt_throw(jl_AssertionError__init_($rt_s(1621)));
32057
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32058
+ $rt_throw(jl_AssertionError__init_($rt_s(1622)));
32059
+ $sign = asrjt_Float64_isSignMinus($this);
32060
+ if (asrjt_Float64_isZero($this)) {
32061
+ $exponent = 0;
32062
+ $significand = jm_BigInteger_ZERO;
32063
+ } else if (asrjt_Float64_isNormal($this)) {
32064
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32065
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32066
+ } else {
32067
+ if (!asrjt_Float64_isSubnormal($this)) {
32068
+ if (asrjt_Float64_$assertionsDisabled)
32069
+ return null;
32070
+ $rt_throw(jl_AssertionError__init_($rt_s(1623)));
32071
+ }
32072
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32073
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32074
+ }
32075
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32076
+ };
32077
+ var asrjt_Float64_maxPrecision = ($this) => {
32078
+ return 60;
32079
+ };
32080
+ var asrjt_Float64_negate0 = ($this) => {
32081
+ return asrjt_Float64_negate($this);
32082
+ };
32083
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32084
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32085
+ };
32086
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
32087
+ return asrjt_Float64_NegativeInfinity;
32088
+ };
32089
+ var asrjt_Float64_Infinity0 = ($this) => {
32090
+ return asrjt_Float64_Infinity;
32091
+ };
32092
+ var asrjt_Float64_NegativeZero0 = ($this) => {
32093
+ return asrjt_Float64_NegativeZero;
32094
+ };
32095
+ var asrjt_Float64_Zero0 = ($this) => {
32096
+ return asrjt_Float64_Zero;
32097
+ };
32098
+ var asrjt_Float64_NaN0 = ($this) => {
32099
+ return asrjt_Float64_NaN;
32100
+ };
32101
+ var asrjt_Float64__clinit_ = () => {
32102
+ asrjt_Float64_$assertionsDisabled = 0;
32103
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32104
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32105
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32106
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32107
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32108
+ };
31738
32109
  var asrjo_Comparisons = $rt_classWithoutFields();
31739
32110
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31740
32111
  if ($a.$isZero()) {
@@ -31837,375 +32208,6 @@ var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
31837
32208
  }
31838
32209
  return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
31839
32210
  };
31840
- function jm_BigInteger() {
31841
- let a = this;
31842
- jl_Number.call(a);
31843
- a.$digits = null;
31844
- a.$numberLength = 0;
31845
- a.$sign0 = 0;
31846
- a.$firstNonzeroDigit = 0;
31847
- }
31848
- var jm_BigInteger_ZERO = null;
31849
- var jm_BigInteger_ONE = null;
31850
- var jm_BigInteger_TWO = null;
31851
- var jm_BigInteger_TEN = null;
31852
- var jm_BigInteger_MINUS_ONE = null;
31853
- var jm_BigInteger_SMALL_VALUES = null;
31854
- var jm_BigInteger_TWO_POWS = null;
31855
- var jm_BigInteger__init_4 = ($this, $sign, $value) => {
31856
- let var$3;
31857
- $this.$firstNonzeroDigit = -2;
31858
- $this.$sign0 = $sign;
31859
- $this.$numberLength = 1;
31860
- var$3 = $rt_createIntArray(1);
31861
- var$3.data[0] = $value;
31862
- $this.$digits = var$3;
31863
- };
31864
- var jm_BigInteger__init_ = (var_0, var_1) => {
31865
- let var_2 = new jm_BigInteger();
31866
- jm_BigInteger__init_4(var_2, var_0, var_1);
31867
- return var_2;
31868
- };
31869
- var jm_BigInteger__init_2 = ($this, $sign, $numberLength, $digits) => {
31870
- $this.$firstNonzeroDigit = -2;
31871
- $this.$sign0 = $sign;
31872
- $this.$numberLength = $numberLength;
31873
- $this.$digits = $digits;
31874
- };
31875
- var jm_BigInteger__init_0 = (var_0, var_1, var_2) => {
31876
- let var_3 = new jm_BigInteger();
31877
- jm_BigInteger__init_2(var_3, var_0, var_1, var_2);
31878
- return var_3;
31879
- };
31880
- var jm_BigInteger__init_3 = ($this, $sign, $val) => {
31881
- let var$3;
31882
- $this.$firstNonzeroDigit = -2;
31883
- $this.$sign0 = $sign;
31884
- if (Long_eq(Long_and($val, Long_create(0, 4294967295)), Long_ZERO)) {
31885
- $this.$numberLength = 1;
31886
- var$3 = $rt_createIntArray(1);
31887
- var$3.data[0] = Long_lo($val);
31888
- $this.$digits = var$3;
31889
- } else {
31890
- $this.$numberLength = 2;
31891
- $this.$digits = $rt_createIntArrayFromData([Long_lo($val), Long_hi($val)]);
31892
- }
31893
- };
31894
- var jm_BigInteger__init_1 = (var_0, var_1) => {
31895
- let var_2 = new jm_BigInteger();
31896
- jm_BigInteger__init_3(var_2, var_0, var_1);
31897
- return var_2;
31898
- };
31899
- var jm_BigInteger_valueOf = ($val) => {
31900
- if (Long_lt($val, Long_ZERO)) {
31901
- if (Long_eq($val, Long_fromInt(-1)))
31902
- return jm_BigInteger_MINUS_ONE;
31903
- return jm_BigInteger__init_1(-1, Long_neg($val));
31904
- }
31905
- if (Long_gt($val, Long_fromInt(10)))
31906
- return jm_BigInteger__init_1(1, $val);
31907
- return jm_BigInteger_SMALL_VALUES.data[Long_lo($val)];
31908
- };
31909
- var jm_BigInteger_abs = ($this) => {
31910
- if ($this.$sign0 < 0)
31911
- $this = jm_BigInteger__init_0(1, $this.$numberLength, $this.$digits);
31912
- return $this;
31913
- };
31914
- var jm_BigInteger_negate = ($this) => {
31915
- let var$1;
31916
- var$1 = $this.$sign0;
31917
- return !var$1 ? $this : jm_BigInteger__init_0(-var$1 | 0, $this.$numberLength, $this.$digits);
31918
- };
31919
- var jm_BigInteger_add = ($this, $val) => {
31920
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31921
- a: {
31922
- var$2 = $this.$sign0;
31923
- var$3 = $val.$sign0;
31924
- if (var$2) {
31925
- if (!var$3)
31926
- $val = $this;
31927
- else {
31928
- var$4 = $this.$numberLength;
31929
- var$5 = $val.$numberLength;
31930
- if ((var$4 + var$5 | 0) == 2) {
31931
- var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31932
- var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31933
- if (var$2 != var$3)
31934
- $val = jm_BigInteger_valueOf(var$2 >= 0 ? Long_sub(var$6, var$7) : Long_sub(var$7, var$6));
31935
- else {
31936
- var$6 = Long_add(var$6, var$7);
31937
- var$8 = Long_lo(var$6);
31938
- var$4 = Long_hi(var$6);
31939
- $val = !var$4 ? jm_BigInteger__init_(var$2, var$8) : jm_BigInteger__init_0(var$2, 2, $rt_createIntArrayFromData([var$8, var$4]));
31940
- }
31941
- } else {
31942
- if (var$2 == var$3)
31943
- 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);
31944
- else {
31945
- var$8 = $rt_compare(var$4, var$5);
31946
- var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31947
- if (!var$8) {
31948
- $val = jm_BigInteger_ZERO;
31949
- break a;
31950
- }
31951
- if (var$8 != 1) {
31952
- var$9 = jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
31953
- var$2 = var$3;
31954
- } else
31955
- var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
31956
- }
31957
- var$10 = var$9.data;
31958
- $val = jm_BigInteger__init_0(var$2, var$10.length, var$9);
31959
- jm_BigInteger_cutOffLeadingZeroes($val);
31960
- }
31961
- }
31962
- }
31963
- }
31964
- return $val;
31965
- };
31966
- var jm_BigInteger_subtract = ($this, $val) => {
31967
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
31968
- a: {
31969
- var$2 = $this.$sign0;
31970
- var$3 = $val.$sign0;
31971
- if (var$3) {
31972
- if (!var$2)
31973
- $this = jm_BigInteger_negate($val);
31974
- else {
31975
- var$4 = $this.$numberLength;
31976
- var$5 = $val.$numberLength;
31977
- if ((var$4 + var$5 | 0) == 2) {
31978
- var$6 = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
31979
- var$7 = Long_and(Long_fromInt($val.$digits.data[0]), Long_create(4294967295, 0));
31980
- if (var$2 < 0)
31981
- var$6 = Long_neg(var$6);
31982
- if (var$3 < 0)
31983
- var$7 = Long_neg(var$7);
31984
- $this = jm_BigInteger_valueOf(Long_sub(var$6, var$7));
31985
- } else {
31986
- var$8 = $rt_compare(var$4, var$5);
31987
- var$8 = !var$8 ? jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? -1 : 1;
31988
- if (var$8 == -1) {
31989
- var$8 = -var$3 | 0;
31990
- 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);
31991
- } else if (var$2 != var$3) {
31992
- var$9 = jm_Elementary_add($this.$digits, var$4, $val.$digits, var$5);
31993
- var$8 = var$2;
31994
- } else {
31995
- if (!var$8) {
31996
- $this = jm_BigInteger_ZERO;
31997
- break a;
31998
- }
31999
- var$9 = jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
32000
- var$8 = var$2;
32001
- }
32002
- var$10 = var$9.data;
32003
- $this = jm_BigInteger__init_0(var$8, var$10.length, var$9);
32004
- jm_BigInteger_cutOffLeadingZeroes($this);
32005
- }
32006
- }
32007
- }
32008
- }
32009
- return $this;
32010
- };
32011
- var jm_BigInteger_shiftRight = ($this, $n) => {
32012
- if ($n && $this.$sign0)
32013
- return $n > 0 ? jm_BitLevel_shiftRight($this, $n) : jm_BitLevel_shiftLeft($this, -$n | 0);
32014
- return $this;
32015
- };
32016
- var jm_BigInteger_shiftLeft = ($this, $n) => {
32017
- if ($n && $this.$sign0)
32018
- return $n > 0 ? jm_BitLevel_shiftLeft($this, $n) : jm_BitLevel_shiftRight($this, -$n | 0);
32019
- return $this;
32020
- };
32021
- var jm_BigInteger_bitLength = ($this) => {
32022
- let var$1, var$2, var$3, var$4;
32023
- var$1 = $this.$sign0;
32024
- if (!var$1)
32025
- var$2 = 0;
32026
- else {
32027
- var$3 = $this.$numberLength;
32028
- var$4 = var$3 << 5;
32029
- var$2 = $this.$digits.data[var$3 - 1 | 0];
32030
- if (var$1 < 0 && jm_BigInteger_getFirstNonzeroDigit($this) == ($this.$numberLength - 1 | 0))
32031
- var$2 = var$2 + -1 | 0;
32032
- var$2 = var$4 - jl_Integer_numberOfLeadingZeros(var$2) | 0;
32033
- }
32034
- return var$2;
32035
- };
32036
- var jm_BigInteger_testBit = ($this, $n) => {
32037
- let var$2, $intCount, $digit, $firstNonZeroDigit;
32038
- if (!$n)
32039
- return !($this.$digits.data[0] & 1) ? 0 : 1;
32040
- if ($n < 0) {
32041
- var$2 = new jl_ArithmeticException();
32042
- jl_Throwable__init_0(var$2, $rt_s(1625));
32043
- $rt_throw(var$2);
32044
- }
32045
- $intCount = $n >> 5;
32046
- if ($intCount >= $this.$numberLength)
32047
- return $this.$sign0 >= 0 ? 0 : 1;
32048
- $digit = $this.$digits.data[$intCount];
32049
- $n = 1 << ($n & 31);
32050
- if ($this.$sign0 < 0) {
32051
- $firstNonZeroDigit = jm_BigInteger_getFirstNonzeroDigit($this);
32052
- if ($intCount < $firstNonZeroDigit)
32053
- return 0;
32054
- $digit = $firstNonZeroDigit == $intCount ? -$digit | 0 : $digit ^ -1;
32055
- }
32056
- return !($digit & $n) ? 0 : 1;
32057
- };
32058
- var jm_BigInteger_getLowestSetBit = ($this) => {
32059
- let $i;
32060
- if (!$this.$sign0)
32061
- return -1;
32062
- $i = jm_BigInteger_getFirstNonzeroDigit($this);
32063
- return ($i << 5) + jl_Integer_numberOfTrailingZeros($this.$digits.data[$i]) | 0;
32064
- };
32065
- var jm_BigInteger_intValueExact = ($this) => {
32066
- let var$1;
32067
- if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
32068
- return $rt_imul($this.$sign0, $this.$digits.data[0]);
32069
- var$1 = new jl_ArithmeticException();
32070
- jl_Throwable__init_0(var$1, $rt_s(1626));
32071
- $rt_throw(var$1);
32072
- };
32073
- var jm_BigInteger_longValue = ($this) => {
32074
- let $value, var$2;
32075
- if ($this.$numberLength <= 1)
32076
- $value = Long_and(Long_fromInt($this.$digits.data[0]), Long_create(4294967295, 0));
32077
- else {
32078
- var$2 = $this.$digits.data;
32079
- $value = Long_or(Long_shl(Long_fromInt(var$2[1]), 32), Long_and(Long_fromInt(var$2[0]), Long_create(4294967295, 0)));
32080
- }
32081
- return Long_mul(Long_fromInt($this.$sign0), $value);
32082
- };
32083
- var jm_BigInteger_longValueExact = ($this) => {
32084
- let var$1;
32085
- if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
32086
- return jm_BigInteger_longValue($this);
32087
- var$1 = new jl_ArithmeticException();
32088
- jl_Throwable__init_0(var$1, $rt_s(1627));
32089
- $rt_throw(var$1);
32090
- };
32091
- var jm_BigInteger_compareTo = ($this, $val) => {
32092
- let var$2, var$3, var$4, var$5;
32093
- var$2 = $this.$sign0;
32094
- var$3 = $val.$sign0;
32095
- var$4 = $rt_compare(var$2, var$3);
32096
- if (var$4 > 0)
32097
- return 1;
32098
- if (var$4 < 0)
32099
- return -1;
32100
- var$4 = $this.$numberLength;
32101
- var$5 = $rt_compare(var$4, $val.$numberLength);
32102
- if (var$5 > 0)
32103
- return var$2;
32104
- if (var$5 < 0)
32105
- return -var$3 | 0;
32106
- return $rt_imul(var$2, jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4));
32107
- };
32108
- var jm_BigInteger_equals = ($this, $x) => {
32109
- let $x1, var$3, var$4, var$5;
32110
- if ($this === $x)
32111
- return 1;
32112
- if (!($x instanceof jm_BigInteger))
32113
- return 0;
32114
- a: {
32115
- $x1 = $x;
32116
- if ($this.$sign0 == $x1.$sign0) {
32117
- var$3 = $this.$numberLength;
32118
- if (var$3 == $x1.$numberLength) {
32119
- var$4 = $x1.$digits;
32120
- var$3 = var$3 - 1 | 0;
32121
- while (var$3 >= 0) {
32122
- var$5 = var$4.data;
32123
- if ($this.$digits.data[var$3] != var$5[var$3])
32124
- break;
32125
- var$3 = var$3 + -1 | 0;
32126
- }
32127
- if (var$3 >= 0 ? 0 : 1) {
32128
- var$3 = 1;
32129
- break a;
32130
- }
32131
- }
32132
- }
32133
- var$3 = 0;
32134
- }
32135
- return var$3;
32136
- };
32137
- var jm_BigInteger_multiply = ($this, $val) => {
32138
- if (!$val.$sign0)
32139
- return jm_BigInteger_ZERO;
32140
- if (!$this.$sign0)
32141
- return jm_BigInteger_ZERO;
32142
- jm_Multiplication_$callClinit();
32143
- return jm_Multiplication_karatsuba($this, $val);
32144
- };
32145
- var jm_BigInteger_cutOffLeadingZeroes = ($this) => {
32146
- let var$1, var$2, var$3;
32147
- while (true) {
32148
- var$1 = $this.$numberLength;
32149
- if (var$1 <= 0)
32150
- break;
32151
- var$2 = $this.$digits.data;
32152
- var$1 = var$1 - 1 | 0;
32153
- $this.$numberLength = var$1;
32154
- if (var$2[var$1])
32155
- break;
32156
- }
32157
- var$2 = $this.$digits.data;
32158
- var$3 = $this.$numberLength;
32159
- $this.$numberLength = var$3 + 1 | 0;
32160
- if (!var$2[var$3])
32161
- $this.$sign0 = 0;
32162
- };
32163
- var jm_BigInteger_getFirstNonzeroDigit = ($this) => {
32164
- let $i;
32165
- if ($this.$firstNonzeroDigit == -2) {
32166
- if (!$this.$sign0)
32167
- $i = -1;
32168
- else {
32169
- $i = 0;
32170
- while (!$this.$digits.data[$i]) {
32171
- $i = $i + 1 | 0;
32172
- }
32173
- }
32174
- $this.$firstNonzeroDigit = $i;
32175
- }
32176
- return $this.$firstNonzeroDigit;
32177
- };
32178
- var jm_BigInteger__clinit_ = () => {
32179
- let var$1, var$2, $i;
32180
- jm_BigInteger_ZERO = jm_BigInteger__init_(0, 0);
32181
- jm_BigInteger_ONE = jm_BigInteger__init_(1, 1);
32182
- jm_BigInteger_TWO = jm_BigInteger__init_(1, 2);
32183
- jm_BigInteger_TEN = jm_BigInteger__init_(1, 10);
32184
- jm_BigInteger_MINUS_ONE = jm_BigInteger__init_(-1, 1);
32185
- var$1 = $rt_createArray(jm_BigInteger, 11);
32186
- var$2 = var$1.data;
32187
- var$2[0] = jm_BigInteger_ZERO;
32188
- var$2[1] = jm_BigInteger_ONE;
32189
- var$2[2] = jm_BigInteger_TWO;
32190
- var$2[3] = jm_BigInteger__init_(1, 3);
32191
- var$2[4] = jm_BigInteger__init_(1, 4);
32192
- var$2[5] = jm_BigInteger__init_(1, 5);
32193
- var$2[6] = jm_BigInteger__init_(1, 6);
32194
- var$2[7] = jm_BigInteger__init_(1, 7);
32195
- var$2[8] = jm_BigInteger__init_(1, 8);
32196
- var$2[9] = jm_BigInteger__init_(1, 9);
32197
- var$2[10] = jm_BigInteger_TEN;
32198
- jm_BigInteger_SMALL_VALUES = var$1;
32199
- jm_BigInteger_TWO_POWS = $rt_createArray(jm_BigInteger, 32);
32200
- $i = 0;
32201
- while (true) {
32202
- var$1 = jm_BigInteger_TWO_POWS.data;
32203
- if ($i >= var$1.length)
32204
- break;
32205
- var$1[$i] = jm_BigInteger_valueOf(Long_shl(Long_fromInt(1), $i));
32206
- $i = $i + 1 | 0;
32207
- }
32208
- };
32209
32211
  var asrjo_Arithmetic = $rt_classWithoutFields();
32210
32212
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32211
32213
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32730,7 +32732,6 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32730
32732
  }
32731
32733
  return $res;
32732
32734
  };
32733
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32734
32735
  var jm_BitLevel = $rt_classWithoutFields();
32735
32736
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32736
32737
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32845,6 +32846,7 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32845
32846
  jm_BigInteger_cutOffLeadingZeroes($result);
32846
32847
  return $result;
32847
32848
  };
32849
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32848
32850
  var asrrs_NullString = $rt_classWithoutFields();
32849
32851
  var asrrs_NullString_get = ($statement) => {
32850
32852
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -33800,34 +33802,34 @@ function ju_Hashtable$Entry() {
33800
33802
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
33801
33803
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
33802
33804
  };
33803
- var asrjt_Float32$1 = $rt_classWithoutFields();
33804
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33805
- var asrjt_Float32$1_$callClinit = () => {
33806
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33807
- asrjt_Float32$1__clinit_();
33805
+ var asrjt_Float64$1 = $rt_classWithoutFields();
33806
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33807
+ var asrjt_Float64$1_$callClinit = () => {
33808
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33809
+ asrjt_Float64$1__clinit_();
33808
33810
  };
33809
- var asrjt_Float32$1__clinit_ = () => {
33811
+ var asrjt_Float64$1__clinit_ = () => {
33810
33812
  let var$1, var$2;
33811
33813
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33812
33814
  var$2 = var$1.data;
33813
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33815
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33814
33816
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33815
33817
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33816
33818
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
33817
33819
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
33818
33820
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
33819
33821
  };
33820
- var asrjt_Float64$1 = $rt_classWithoutFields();
33821
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33822
- var asrjt_Float64$1_$callClinit = () => {
33823
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33824
- asrjt_Float64$1__clinit_();
33822
+ var asrjt_Float32$1 = $rt_classWithoutFields();
33823
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33824
+ var asrjt_Float32$1_$callClinit = () => {
33825
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33826
+ asrjt_Float32$1__clinit_();
33825
33827
  };
33826
- var asrjt_Float64$1__clinit_ = () => {
33828
+ var asrjt_Float32$1__clinit_ = () => {
33827
33829
  let var$1, var$2;
33828
33830
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33829
33831
  var$2 = var$1.data;
33830
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33832
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33831
33833
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33832
33834
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33833
33835
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -34967,17 +34969,26 @@ $rt_metadata([
34967
34969
  0,
34968
34970
  0,
34969
34971
  0,
34970
- asrrh_RegisterFile,
34972
+ asr_JsRiscV$getTokenizedLines$lambda$_5_0,
34971
34973
  0,
34972
34974
  jl_Object,
34973
- [],
34975
+ [juf_Function],
34974
34976
  0,
34975
34977
  3,
34976
34978
  0,
34977
- asrrh_RegisterFile_$callClinit,
34978
34979
  0,
34979
- asr_JsProgramStatement,
34980
- "JsProgramStatement",
34980
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
34981
+ asr_JsRiscV$getTokenizedLines$lambda$_5_1,
34982
+ 0,
34983
+ jl_Object,
34984
+ [juf_IntFunction],
34985
+ 0,
34986
+ 3,
34987
+ 0,
34988
+ 0,
34989
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
34990
+ asr_JsRiscVTokenizedLine,
34991
+ "JsRiscVTokenizedLine",
34981
34992
  10,
34982
34993
  jl_Object,
34983
34994
  [],
@@ -34986,6 +34997,15 @@ $rt_metadata([
34986
34997
  0,
34987
34998
  0,
34988
34999
  0,
35000
+ asrrh_RegisterFile,
35001
+ 0,
35002
+ jl_Object,
35003
+ [],
35004
+ 0,
35005
+ 3,
35006
+ 0,
35007
+ asrrh_RegisterFile_$callClinit,
35008
+ 0,
34989
35009
  ju_Arrays,
34990
35010
  0,
34991
35011
  jl_Object,
@@ -35023,6 +35043,16 @@ $rt_metadata([
35023
35043
  0,
35024
35044
  0,
35025
35045
  0,
35046
+ asr_JsProgramStatement,
35047
+ "JsProgramStatement",
35048
+ 10,
35049
+ jl_Object,
35050
+ [],
35051
+ 0,
35052
+ 3,
35053
+ 0,
35054
+ 0,
35055
+ 0,
35026
35056
  asr_JsCompilationResult,
35027
35057
  "JsCompilationResult",
35028
35058
  10,
@@ -35070,34 +35100,6 @@ $rt_metadata([
35070
35100
  0,
35071
35101
  0,
35072
35102
  0,
35073
- asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35074
- 0,
35075
- jl_Object,
35076
- [juf_Function],
35077
- 0,
35078
- 3,
35079
- 0,
35080
- 0,
35081
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35082
- asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35083
- 0,
35084
- jl_Object,
35085
- [juf_IntFunction],
35086
- 0,
35087
- 3,
35088
- 0,
35089
- 0,
35090
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35091
- asr_JsRiscVTokenizedLine,
35092
- "JsRiscVTokenizedLine",
35093
- 10,
35094
- jl_Object,
35095
- [],
35096
- 0,
35097
- 3,
35098
- 0,
35099
- 0,
35100
- 0,
35101
35103
  ju_Map$Entry,
35102
35104
  0,
35103
35105
  jl_Object,
@@ -35191,16 +35193,6 @@ $rt_metadata([
35191
35193
  0,
35192
35194
  0,
35193
35195
  0,
35194
- asrrh_Register,
35195
- "Register",
35196
- 7,
35197
- ju_Observable,
35198
- [],
35199
- 0,
35200
- 3,
35201
- 0,
35202
- 0,
35203
- ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35204
35196
  asrs_BackStepper,
35205
35197
  0,
35206
35198
  jl_Object,
@@ -35236,9 +35228,7 @@ $rt_metadata([
35236
35228
  3,
35237
35229
  0,
35238
35230
  0,
35239
- 0
35240
- ]);
35241
- $rt_metadata([
35231
+ 0,
35242
35232
  jus_Stream,
35243
35233
  0,
35244
35234
  jl_Object,
@@ -35247,7 +35237,9 @@ $rt_metadata([
35247
35237
  3,
35248
35238
  0,
35249
35239
  0,
35250
- 0,
35240
+ 0
35241
+ ]);
35242
+ $rt_metadata([
35251
35243
  jusi_SimpleStreamImpl,
35252
35244
  0,
35253
35245
  jl_Object,
@@ -35266,6 +35258,16 @@ $rt_metadata([
35266
35258
  0,
35267
35259
  0,
35268
35260
  ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35261
+ asrrh_Register,
35262
+ "Register",
35263
+ 7,
35264
+ ju_Observable,
35265
+ [],
35266
+ 0,
35267
+ 3,
35268
+ 0,
35269
+ 0,
35270
+ ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35269
35271
  asr_JsCompilationResult$_init_$lambda$_0_0,
35270
35272
  0,
35271
35273
  jl_Object,
@@ -37781,6 +37783,15 @@ $rt_metadata([
37781
37783
  0,
37782
37784
  0,
37783
37785
  0,
37786
+ jl_NegativeArraySizeException,
37787
+ 0,
37788
+ jl_RuntimeException,
37789
+ [],
37790
+ 0,
37791
+ 3,
37792
+ 0,
37793
+ 0,
37794
+ 0,
37784
37795
  otjc_JSObjects,
37785
37796
  0,
37786
37797
  jl_Object,
@@ -37808,15 +37819,6 @@ $rt_metadata([
37808
37819
  0,
37809
37820
  0,
37810
37821
  0,
37811
- jl_NegativeArraySizeException,
37812
- 0,
37813
- jl_RuntimeException,
37814
- [],
37815
- 0,
37816
- 3,
37817
- 0,
37818
- 0,
37819
- 0,
37820
37822
  ju_Arrays$ArrayAsList,
37821
37823
  0,
37822
37824
  ju_AbstractList,
@@ -40645,48 +40647,6 @@ $rt_metadata([
40645
40647
  0,
40646
40648
  0,
40647
40649
  0,
40648
- asrjt_Float64,
40649
- 0,
40650
- asrjt_Floating,
40651
- [],
40652
- 0,
40653
- 3,
40654
- 0,
40655
- 0,
40656
- [
40657
- "$isSignMinus",
40658
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40659
- "$isInfinite",
40660
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40661
- "$isNormal",
40662
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40663
- "$isSubnormal",
40664
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40665
- "$isNaN",
40666
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40667
- "$isSignalling",
40668
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40669
- "$isZero",
40670
- $rt_wrapFunction0(asrjt_Float64_isZero),
40671
- "$toExactFloat",
40672
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40673
- "$maxPrecision",
40674
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40675
- "$negate2",
40676
- $rt_wrapFunction0(asrjt_Float64_negate0),
40677
- "$fromExactFloat",
40678
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40679
- "$NegativeInfinity",
40680
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40681
- "$Infinity",
40682
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40683
- "$NegativeZero",
40684
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40685
- "$Zero",
40686
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40687
- "$NaN",
40688
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40689
- ],
40690
40650
  asrjt_Float32,
40691
40651
  0,
40692
40652
  asrjt_Floating,
@@ -40729,6 +40689,15 @@ $rt_metadata([
40729
40689
  "$NaN",
40730
40690
  $rt_wrapFunction0(asrjt_Float32_NaN0)
40731
40691
  ],
40692
+ jm_BigInteger,
40693
+ 0,
40694
+ jl_Number,
40695
+ [jl_Comparable, ji_Serializable],
40696
+ 0,
40697
+ 3,
40698
+ 0,
40699
+ 0,
40700
+ 0,
40732
40701
  asrjo_Conversions,
40733
40702
  0,
40734
40703
  jl_Object,
@@ -40738,19 +40707,52 @@ $rt_metadata([
40738
40707
  0,
40739
40708
  0,
40740
40709
  0,
40741
- asrjo_Comparisons,
40710
+ asrjt_Float64,
40742
40711
  0,
40743
- jl_Object,
40712
+ asrjt_Floating,
40744
40713
  [],
40745
40714
  0,
40746
40715
  3,
40747
40716
  0,
40748
40717
  0,
40718
+ [
40719
+ "$isSignMinus",
40720
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40721
+ "$isInfinite",
40722
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40723
+ "$isNormal",
40724
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40725
+ "$isSubnormal",
40726
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40727
+ "$isNaN",
40728
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40729
+ "$isSignalling",
40730
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40731
+ "$isZero",
40732
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40733
+ "$toExactFloat",
40734
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40735
+ "$maxPrecision",
40736
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40737
+ "$negate2",
40738
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40739
+ "$fromExactFloat",
40740
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40741
+ "$NegativeInfinity",
40742
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40743
+ "$Infinity",
40744
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40745
+ "$NegativeZero",
40746
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40747
+ "$Zero",
40748
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40749
+ "$NaN",
40750
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40751
+ ],
40752
+ asrjo_Comparisons,
40749
40753
  0,
40750
- jm_BigInteger,
40751
- 0,
40752
- jl_Number,
40753
- [jl_Comparable, ji_Serializable],
40754
+ jl_Object,
40755
+ [],
40754
40756
  0,
40755
40757
  3,
40756
40758
  0,
@@ -40839,21 +40841,21 @@ $rt_metadata([
40839
40841
  0,
40840
40842
  0,
40841
40843
  0,
40842
- jl_ArithmeticException,
40844
+ jm_BitLevel,
40843
40845
  0,
40844
- jl_RuntimeException,
40846
+ jl_Object,
40845
40847
  [],
40846
40848
  0,
40847
- 3,
40848
40849
  0,
40849
40850
  0,
40850
40851
  0,
40851
- jm_BitLevel,
40852
40852
  0,
40853
- jl_Object,
40854
- [],
40853
+ jl_ArithmeticException,
40855
40854
  0,
40855
+ jl_RuntimeException,
40856
+ [],
40856
40857
  0,
40858
+ 3,
40857
40859
  0,
40858
40860
  0,
40859
40861
  0,
@@ -40994,23 +40996,23 @@ $rt_metadata([
40994
40996
  0,
40995
40997
  0,
40996
40998
  0,
40997
- asrjt_Float32$1,
40999
+ asrjt_Float64$1,
40998
41000
  0,
40999
41001
  jl_Object,
41000
41002
  [],
41001
41003
  32,
41002
41004
  0,
41003
41005
  0,
41004
- asrjt_Float32$1_$callClinit,
41006
+ asrjt_Float64$1_$callClinit,
41005
41007
  0,
41006
- asrjt_Float64$1,
41008
+ asrjt_Float32$1,
41007
41009
  0,
41008
41010
  jl_Object,
41009
41011
  [],
41010
41012
  32,
41011
41013
  0,
41012
41014
  0,
41013
- asrjt_Float64$1_$callClinit,
41015
+ asrjt_Float32$1_$callClinit,
41014
41016
  0,
41015
41017
  jm_Multiplication,
41016
41018
  0,
@@ -42735,10 +42737,10 @@ $rt_stringPool([
42735
42737
  "NaNs are not exact",
42736
42738
  "Zeros should be handled explicitly",
42737
42739
  "This should not be reachable",
42738
- "There can't be any fractions at this point",
42739
42740
  "Negative bit address",
42740
42741
  "BigInteger out of int range",
42741
42742
  "BigInteger out of long range",
42743
+ "There can't be any fractions at this point",
42742
42744
  "Square root of a negative number is not real",
42743
42745
  "Cannot get here",
42744
42746
  "Both should definitely be finite by this point",
@@ -42821,6 +42823,26 @@ var $rt_jso_marker = Symbol("jsoClass");
42821
42823
  Object.defineProperty(c, "example", {
42822
42824
  get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
42823
42825
  });
42826
+ c = asr_JsRiscVTokenizedLine.prototype;
42827
+ Object.defineProperty(c, "line", {
42828
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42829
+ });
42830
+ Object.defineProperty(c, "tokens", {
42831
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42832
+ });
42833
+ c = asr_JsBackStep.prototype;
42834
+ Object.defineProperty(c, "pc", {
42835
+ get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42836
+ });
42837
+ Object.defineProperty(c, "action", {
42838
+ get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42839
+ });
42840
+ Object.defineProperty(c, "param1", {
42841
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42842
+ });
42843
+ Object.defineProperty(c, "param2", {
42844
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42845
+ });
42824
42846
  c = asr_JsProgramStatement.prototype;
42825
42847
  Object.defineProperty(c, "assemblyStatement", {
42826
42848
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -42840,19 +42862,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42840
42862
  Object.defineProperty(c, "source", {
42841
42863
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
42842
42864
  });
42843
- c = asr_JsBackStep.prototype;
42844
- Object.defineProperty(c, "pc", {
42845
- get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42846
- });
42847
- Object.defineProperty(c, "action", {
42848
- get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42849
- });
42850
- Object.defineProperty(c, "param1", {
42851
- get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42852
- });
42853
- Object.defineProperty(c, "param2", {
42854
- get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42855
- });
42856
42865
  c = asr_JsCompilationResult.prototype;
42857
42866
  Object.defineProperty(c, "hasErrors", {
42858
42867
  get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
@@ -42879,13 +42888,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42879
42888
  Object.defineProperty(c, "toAddress", {
42880
42889
  get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
42881
42890
  });
42882
- c = asr_JsRiscVTokenizedLine.prototype;
42883
- Object.defineProperty(c, "line", {
42884
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42885
- });
42886
- Object.defineProperty(c, "tokens", {
42887
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42888
- });
42889
42891
  c = asr_JsCompilationResult$JsCompilationError.prototype;
42890
42892
  Object.defineProperty(c, "macroExpansionHistory", {
42891
42893
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -42932,26 +42934,26 @@ function $rt_export_class_JsInstruction_32() {
42932
42934
  throw new Error("Can't instantiate this class directly");
42933
42935
  }
42934
42936
  $rt_export_class_JsInstruction_32.prototype = asr_JsInstruction.prototype;
42935
- function $rt_export_class_JsProgramStatement_71() {
42937
+ function $rt_export_class_JsRiscVTokenizedLine_72() {
42936
42938
  throw new Error("Can't instantiate this class directly");
42937
42939
  }
42938
- $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
42939
- function $rt_export_class_JsBackStep_75() {
42940
+ $rt_export_class_JsRiscVTokenizedLine_72.prototype = asr_JsRiscVTokenizedLine.prototype;
42941
+ function $rt_export_class_JsBackStep_77() {
42940
42942
  throw new Error("Can't instantiate this class directly");
42941
42943
  }
42942
- $rt_export_class_JsBackStep_75.prototype = asr_JsBackStep.prototype;
42943
- function $rt_export_class_JsCompilationResult_76() {
42944
+ $rt_export_class_JsBackStep_77.prototype = asr_JsBackStep.prototype;
42945
+ function $rt_export_class_JsProgramStatement_78() {
42944
42946
  throw new Error("Can't instantiate this class directly");
42945
42947
  }
42946
- $rt_export_class_JsCompilationResult_76.prototype = asr_JsCompilationResult.prototype;
42947
- function $rt_export_class_JsStackFrame_80() {
42948
+ $rt_export_class_JsProgramStatement_78.prototype = asr_JsProgramStatement.prototype;
42949
+ function $rt_export_class_JsCompilationResult_79() {
42948
42950
  throw new Error("Can't instantiate this class directly");
42949
42951
  }
42950
- $rt_export_class_JsStackFrame_80.prototype = asr_JsStackFrame.prototype;
42951
- function $rt_export_class_JsRiscVTokenizedLine_83() {
42952
+ $rt_export_class_JsCompilationResult_79.prototype = asr_JsCompilationResult.prototype;
42953
+ function $rt_export_class_JsStackFrame_83() {
42952
42954
  throw new Error("Can't instantiate this class directly");
42953
42955
  }
42954
- $rt_export_class_JsRiscVTokenizedLine_83.prototype = asr_JsRiscVTokenizedLine.prototype;
42956
+ $rt_export_class_JsStackFrame_83.prototype = asr_JsStackFrame.prototype;
42955
42957
  function $rt_export_class_JsCompilationError_349() {
42956
42958
  throw new Error("Can't instantiate this class directly");
42957
42959
  }