@amritk/nish-x86_64-linux 0.28.0 → 0.30.0
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.
- package/INSTALL.md +8 -5
- package/bin/nish +0 -0
- package/docs/AI.md +114 -24
- package/package.json +1 -1
- package/runtime/core/host.d.ts +2 -1
- package/runtime/core/host.mjs +4 -0
- package/runtime/nish.d.ts +127 -0
- package/runtime/nish.h +94 -5
- package/runtime/nish.mjs +18 -4
- package/runtime/runtime-net.c +386 -5
- package/runtime/runtime-os.c +59 -8
- package/runtime/runtime-parallel.c +60 -5
- package/runtime/runtime-region.c +231 -0
- package/runtime/runtime-sandbox.c +43 -34
- package/runtime/runtime-shm.c +541 -0
- package/runtime/runtime.c +838 -792
- package/scripts/build.sh +55 -12
- package/std/README.md +12 -3
- package/std/collections.ts +5 -5
- package/std/crypto/hmac.ts +305 -2
- package/std/crypto/jwt.ts +1661 -0
- package/std/json-typed.ts +34 -0
- package/std/json.ts +35 -6
- package/std/net/handler.ts +1348 -0
- package/std/net/http-client.ts +97 -16
- package/std/net/http-compress.ts +54 -12
- package/std/net/http1-client.ts +270 -41
- package/std/net/http1-server.ts +145 -32
- package/std/net/http1.ts +274 -51
- package/std/net/outbound.ts +409 -0
- package/std/net/postgres-carrier.ts +985 -0
- package/std/net/postgres.ts +297 -4
- package/std/net/prefork.ts +344 -20
- package/std/net/upstream.ts +759 -0
- package/std/secret.ts +1 -1
- package/std/sync/ring.ts +587 -0
- package/std/sync/shm.ts +284 -0
- package/std/term-rate.ts +13 -1
- package/std/threads.ts +35 -3
- /package/runtime/{LICENSE-ryu → LICENSE-zmij} +0 -0
package/runtime/runtime.c
CHANGED
|
@@ -174,14 +174,24 @@ static NISH_COLD void nish_oom(void) { nish_die("nish: out of memory\n"); }
|
|
|
174
174
|
`nish_array_grow` and `nish_str_concat`. */
|
|
175
175
|
#define NISH_ARRAY_MAX 2147483647u
|
|
176
176
|
|
|
177
|
-
/*
|
|
177
|
+
/* The size of the next chunk while a region is entered (runtime-region.c
|
|
178
|
+
swaps it in and out with the region's arena), or 0 for the thread's own
|
|
179
|
+
arena, whose chunks are at least 64 KB. Defined here, not there, so that
|
|
180
|
+
this file still links alone. */
|
|
181
|
+
NISH_TLS uint64_t nish_region_chunk;
|
|
182
|
+
|
|
183
|
+
/* Slow path (size 8-byte rounded): push a chunk (>= 64 KB, or a region's
|
|
184
|
+
next size), bump from it. A region's chunks double from its first. */
|
|
178
185
|
void *nish_arena_grow(uint64_t size) {
|
|
179
186
|
#ifdef NISH_ASAN
|
|
180
187
|
/* An exact chunk leaves off == cap, so the inline bump never fits again and
|
|
181
188
|
every block comes through here: one malloc, one redzone, per block. */
|
|
182
189
|
uint64_t cap = size;
|
|
183
190
|
#else
|
|
184
|
-
uint64_t
|
|
191
|
+
uint64_t next = nish_region_chunk;
|
|
192
|
+
uint64_t floor = next ? next : 65536;
|
|
193
|
+
uint64_t cap = size > floor ? size : floor;
|
|
194
|
+
if (next) nish_region_chunk = cap * 2;
|
|
185
195
|
#endif
|
|
186
196
|
/* A 64-bit request cannot always be asked for: wasm32's `size_t` is 32 bits,
|
|
187
197
|
and malloc would silently take the low half of a chunk nobody can address. */
|
|
@@ -512,815 +522,851 @@ nish_str *nish_str_from_i32(int32_t v) { return nish_str_from_i64(v); }
|
|
|
512
522
|
nish_str *nish_str_from_u64(uint64_t v) { return str_from_digits(v, 0); }
|
|
513
523
|
|
|
514
524
|
|
|
515
|
-
/* ---- Shortest round-trip digits (
|
|
525
|
+
/* ---- Shortest round-trip digits (Zmij)
|
|
516
526
|
|
|
517
|
-
Adapted from
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
of `nish_shortest_digits` follows upstream's
|
|
521
|
-
|
|
522
|
-
|
|
527
|
+
Adapted from Zmij (https://github.com/vitaut/zmij), zmij.c. Copyright (c)
|
|
528
|
+
2025 - present, Victor Zverovich. Used under the Boost Software License,
|
|
529
|
+
Version 1.0 (upstream offers MIT or BSL-1.0); see runtime/LICENSE-zmij. The
|
|
530
|
+
code from here to the end of `nish_shortest_digits` follows upstream's
|
|
531
|
+
`umul192_hi128`, `umul128_add_hi64`, `compute_dec_exp`, `compute_exp_shift`
|
|
532
|
+
and the scalar `to_decimal_double`, which is why it keeps their constants;
|
|
533
|
+
the table is regenerated by scripts/gen-pow10-table.py rather than copied.
|
|
534
|
+
Only the digit computation is taken: no SIMD, and none of upstream's own
|
|
535
|
+
formatting, since the layout below is ECMAScript's rather than printf's.
|
|
523
536
|
|
|
524
537
|
`String(x)` in JavaScript prints the *fewest* digits that read back as the
|
|
525
538
|
same double, and the language promises that spelling. Reaching it by asking
|
|
526
|
-
snprintf for k digits and strtod whether they round-trip
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
`
|
|
538
|
-
and
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
{
|
|
543
|
-
{
|
|
544
|
-
{
|
|
545
|
-
{
|
|
546
|
-
{
|
|
547
|
-
{
|
|
548
|
-
{
|
|
549
|
-
{
|
|
550
|
-
{
|
|
551
|
-
{
|
|
552
|
-
{
|
|
553
|
-
{
|
|
554
|
-
{
|
|
555
|
-
{
|
|
556
|
-
{
|
|
557
|
-
{
|
|
558
|
-
{
|
|
559
|
-
{
|
|
560
|
-
{
|
|
561
|
-
{
|
|
562
|
-
{
|
|
563
|
-
{
|
|
564
|
-
{
|
|
565
|
-
{
|
|
566
|
-
{
|
|
567
|
-
{
|
|
568
|
-
{
|
|
569
|
-
{
|
|
570
|
-
{
|
|
571
|
-
{
|
|
572
|
-
{
|
|
573
|
-
{
|
|
574
|
-
{
|
|
575
|
-
{
|
|
576
|
-
{
|
|
577
|
-
{
|
|
578
|
-
{
|
|
579
|
-
{
|
|
580
|
-
{
|
|
581
|
-
{
|
|
582
|
-
{
|
|
583
|
-
{
|
|
584
|
-
{
|
|
585
|
-
{
|
|
586
|
-
{
|
|
587
|
-
{
|
|
588
|
-
{
|
|
589
|
-
{
|
|
590
|
-
{
|
|
591
|
-
{
|
|
592
|
-
{
|
|
593
|
-
{
|
|
594
|
-
{
|
|
595
|
-
{
|
|
596
|
-
{
|
|
597
|
-
{
|
|
598
|
-
{
|
|
599
|
-
{
|
|
600
|
-
{
|
|
601
|
-
{
|
|
602
|
-
{
|
|
603
|
-
{
|
|
604
|
-
{
|
|
605
|
-
{
|
|
606
|
-
{
|
|
607
|
-
{
|
|
608
|
-
{
|
|
609
|
-
{
|
|
610
|
-
{
|
|
611
|
-
{
|
|
612
|
-
{
|
|
613
|
-
{
|
|
614
|
-
{
|
|
615
|
-
{
|
|
616
|
-
{
|
|
617
|
-
{
|
|
618
|
-
{
|
|
619
|
-
{
|
|
620
|
-
{
|
|
621
|
-
{
|
|
622
|
-
{
|
|
623
|
-
{
|
|
624
|
-
{
|
|
625
|
-
{
|
|
626
|
-
{
|
|
627
|
-
{
|
|
628
|
-
{
|
|
629
|
-
{
|
|
630
|
-
{
|
|
631
|
-
{
|
|
632
|
-
{
|
|
633
|
-
{
|
|
634
|
-
{
|
|
635
|
-
{
|
|
636
|
-
{
|
|
637
|
-
{
|
|
638
|
-
{
|
|
639
|
-
{
|
|
640
|
-
{
|
|
641
|
-
{
|
|
642
|
-
{
|
|
643
|
-
{
|
|
644
|
-
{
|
|
645
|
-
{
|
|
646
|
-
{
|
|
647
|
-
{
|
|
648
|
-
{
|
|
649
|
-
{
|
|
650
|
-
{
|
|
651
|
-
{
|
|
652
|
-
{
|
|
653
|
-
{
|
|
654
|
-
{
|
|
655
|
-
{
|
|
656
|
-
{
|
|
657
|
-
{
|
|
658
|
-
{
|
|
659
|
-
{
|
|
660
|
-
{
|
|
661
|
-
{
|
|
662
|
-
{
|
|
663
|
-
{
|
|
664
|
-
{
|
|
665
|
-
{
|
|
666
|
-
{
|
|
667
|
-
{
|
|
668
|
-
{
|
|
669
|
-
{
|
|
670
|
-
{
|
|
671
|
-
{
|
|
672
|
-
{
|
|
673
|
-
{
|
|
674
|
-
{
|
|
675
|
-
{
|
|
676
|
-
{
|
|
677
|
-
{
|
|
678
|
-
{
|
|
679
|
-
{
|
|
680
|
-
{
|
|
681
|
-
{
|
|
682
|
-
{
|
|
683
|
-
{
|
|
684
|
-
{
|
|
685
|
-
{
|
|
686
|
-
{
|
|
687
|
-
{
|
|
688
|
-
{
|
|
689
|
-
{
|
|
690
|
-
{
|
|
691
|
-
{
|
|
692
|
-
{
|
|
693
|
-
{
|
|
694
|
-
{
|
|
695
|
-
{
|
|
696
|
-
{
|
|
697
|
-
{
|
|
698
|
-
{
|
|
699
|
-
{
|
|
700
|
-
{
|
|
701
|
-
{
|
|
702
|
-
{
|
|
703
|
-
{
|
|
704
|
-
{
|
|
705
|
-
{
|
|
706
|
-
{
|
|
707
|
-
{
|
|
708
|
-
{
|
|
709
|
-
{
|
|
710
|
-
{
|
|
711
|
-
{
|
|
712
|
-
{
|
|
713
|
-
{
|
|
714
|
-
{
|
|
715
|
-
{
|
|
716
|
-
{
|
|
717
|
-
{
|
|
718
|
-
{
|
|
719
|
-
{
|
|
720
|
-
{
|
|
721
|
-
{
|
|
722
|
-
{
|
|
723
|
-
{
|
|
724
|
-
{
|
|
725
|
-
{
|
|
726
|
-
{
|
|
727
|
-
{
|
|
728
|
-
{
|
|
729
|
-
{
|
|
730
|
-
{
|
|
731
|
-
{
|
|
732
|
-
{
|
|
733
|
-
{
|
|
734
|
-
{
|
|
735
|
-
{
|
|
736
|
-
{
|
|
737
|
-
{
|
|
738
|
-
{
|
|
739
|
-
{
|
|
740
|
-
{
|
|
741
|
-
{
|
|
742
|
-
{
|
|
743
|
-
{
|
|
744
|
-
{
|
|
745
|
-
{
|
|
746
|
-
{
|
|
747
|
-
{
|
|
748
|
-
{
|
|
749
|
-
{
|
|
750
|
-
{
|
|
751
|
-
{
|
|
752
|
-
{
|
|
753
|
-
{
|
|
754
|
-
{
|
|
755
|
-
{
|
|
756
|
-
{
|
|
757
|
-
{
|
|
758
|
-
{
|
|
759
|
-
{
|
|
760
|
-
{
|
|
761
|
-
{
|
|
762
|
-
{
|
|
763
|
-
{
|
|
764
|
-
{
|
|
765
|
-
{
|
|
766
|
-
{
|
|
767
|
-
{
|
|
768
|
-
{
|
|
769
|
-
{
|
|
770
|
-
{
|
|
771
|
-
{
|
|
772
|
-
{
|
|
773
|
-
{
|
|
774
|
-
{
|
|
775
|
-
{
|
|
776
|
-
{
|
|
777
|
-
{
|
|
778
|
-
{
|
|
779
|
-
{
|
|
780
|
-
{
|
|
781
|
-
{
|
|
782
|
-
{
|
|
783
|
-
{
|
|
784
|
-
{
|
|
785
|
-
{
|
|
786
|
-
{
|
|
787
|
-
{
|
|
788
|
-
{
|
|
789
|
-
{
|
|
790
|
-
{
|
|
791
|
-
{
|
|
792
|
-
{
|
|
793
|
-
{
|
|
794
|
-
{
|
|
795
|
-
{
|
|
796
|
-
{
|
|
797
|
-
{
|
|
798
|
-
{
|
|
799
|
-
{
|
|
800
|
-
{
|
|
801
|
-
{
|
|
802
|
-
{
|
|
803
|
-
{
|
|
804
|
-
{
|
|
805
|
-
{
|
|
806
|
-
{
|
|
807
|
-
{
|
|
808
|
-
{
|
|
809
|
-
{
|
|
810
|
-
{
|
|
811
|
-
{
|
|
812
|
-
{
|
|
813
|
-
{
|
|
814
|
-
{
|
|
815
|
-
{
|
|
816
|
-
{
|
|
817
|
-
{
|
|
818
|
-
{
|
|
819
|
-
{
|
|
820
|
-
{
|
|
821
|
-
{
|
|
822
|
-
{
|
|
823
|
-
{
|
|
824
|
-
{
|
|
825
|
-
{
|
|
826
|
-
{
|
|
827
|
-
{
|
|
828
|
-
{
|
|
829
|
-
{
|
|
830
|
-
{
|
|
831
|
-
{
|
|
539
|
+
snprintf for k digits and strtod whether they round-trip is both slow and,
|
|
540
|
+
less obviously, *wrong*: printf can only hand back the correctly-rounded
|
|
541
|
+
k-digit string, and for some values the shortest string that round-trips at
|
|
542
|
+
that length is a different one (7.120236347223045e-307 is the pinned case).
|
|
543
|
+
|
|
544
|
+
Zmij (a Schubfach descendant) gets there with one 64x128-bit multiply: it
|
|
545
|
+
scales the value by a power of ten chosen so the integer part is the shorter
|
|
546
|
+
of the two candidate lengths, decides from the fractional part whether that
|
|
547
|
+
candidate already lies inside the rounding interval, and otherwise reads one
|
|
548
|
+
more digit off the fraction. Ryu, which this replaced, needed three
|
|
549
|
+
multiplies and a loop of divisions. Read upstream before touching the
|
|
550
|
+
arithmetic: `315653 >> 20`, `217707 >> 16` and the `+6` bias are exact over
|
|
551
|
+
the exponents a double can have and verified there, not in general. */
|
|
552
|
+
/* Generated by scripts/gen-pow10-table.py; do not hand-edit. 10^-293 to 10^323. */
|
|
553
|
+
#define NISH_POW10_MIN (-293)
|
|
554
|
+
static const uint64_t NISH_POW10_SIG[617][2] = {
|
|
555
|
+
{ 0xcc5fc196fefd7d0cu, 0x1e53ed49a96272c8u },
|
|
556
|
+
{ 0xff77b1fcbebcdc4fu, 0x25e8e89c13bb0f7au },
|
|
557
|
+
{ 0x9faacf3df73609b1u, 0x77b191618c54e9acu },
|
|
558
|
+
{ 0xc795830d75038c1du, 0xd59df5b9ef6a2417u },
|
|
559
|
+
{ 0xf97ae3d0d2446f25u, 0x4b0573286b44ad1du },
|
|
560
|
+
{ 0x9becce62836ac577u, 0x4ee367f9430aec32u },
|
|
561
|
+
{ 0xc2e801fb244576d5u, 0x229c41f793cda73fu },
|
|
562
|
+
{ 0xf3a20279ed56d48au, 0x6b43527578c1110fu },
|
|
563
|
+
{ 0x9845418c345644d6u, 0x830a13896b78aaa9u },
|
|
564
|
+
{ 0xbe5691ef416bd60cu, 0x23cc986bc656d553u },
|
|
565
|
+
{ 0xedec366b11c6cb8fu, 0x2cbfbe86b7ec8aa8u },
|
|
566
|
+
{ 0x94b3a202eb1c3f39u, 0x7bf7d71432f3d6a9u },
|
|
567
|
+
{ 0xb9e08a83a5e34f07u, 0xdaf5ccd93fb0cc53u },
|
|
568
|
+
{ 0xe858ad248f5c22c9u, 0xd1b3400f8f9cff68u },
|
|
569
|
+
{ 0x91376c36d99995beu, 0x23100809b9c21fa1u },
|
|
570
|
+
{ 0xb58547448ffffb2du, 0xabd40a0c2832a78au },
|
|
571
|
+
{ 0xe2e69915b3fff9f9u, 0x16c90c8f323f516cu },
|
|
572
|
+
{ 0x8dd01fad907ffc3bu, 0xae3da7d97f6792e3u },
|
|
573
|
+
{ 0xb1442798f49ffb4au, 0x99cd11cfdf41779cu },
|
|
574
|
+
{ 0xdd95317f31c7fa1du, 0x40405643d711d583u },
|
|
575
|
+
{ 0x8a7d3eef7f1cfc52u, 0x482835ea666b2572u },
|
|
576
|
+
{ 0xad1c8eab5ee43b66u, 0xda3243650005eecfu },
|
|
577
|
+
{ 0xd863b256369d4a40u, 0x90bed43e40076a82u },
|
|
578
|
+
{ 0x873e4f75e2224e68u, 0x5a7744a6e804a291u },
|
|
579
|
+
{ 0xa90de3535aaae202u, 0x711515d0a205cb36u },
|
|
580
|
+
{ 0xd3515c2831559a83u, 0x0d5a5b44ca873e03u },
|
|
581
|
+
{ 0x8412d9991ed58091u, 0xe858790afe9486c2u },
|
|
582
|
+
{ 0xa5178fff668ae0b6u, 0x626e974dbe39a872u },
|
|
583
|
+
{ 0xce5d73ff402d98e3u, 0xfb0a3d212dc8128fu },
|
|
584
|
+
{ 0x80fa687f881c7f8eu, 0x7ce66634bc9d0b99u },
|
|
585
|
+
{ 0xa139029f6a239f72u, 0x1c1fffc1ebc44e80u },
|
|
586
|
+
{ 0xc987434744ac874eu, 0xa327ffb266b56220u },
|
|
587
|
+
{ 0xfbe9141915d7a922u, 0x4bf1ff9f0062baa8u },
|
|
588
|
+
{ 0x9d71ac8fada6c9b5u, 0x6f773fc3603db4a9u },
|
|
589
|
+
{ 0xc4ce17b399107c22u, 0xcb550fb4384d21d3u },
|
|
590
|
+
{ 0xf6019da07f549b2bu, 0x7e2a53a146606a48u },
|
|
591
|
+
{ 0x99c102844f94e0fbu, 0x2eda7444cbfc426du },
|
|
592
|
+
{ 0xc0314325637a1939u, 0xfa911155fefb5308u },
|
|
593
|
+
{ 0xf03d93eebc589f88u, 0x793555ab7eba27cau },
|
|
594
|
+
{ 0x96267c7535b763b5u, 0x4bc1558b2f3458deu },
|
|
595
|
+
{ 0xbbb01b9283253ca2u, 0x9eb1aaedfb016f16u },
|
|
596
|
+
{ 0xea9c227723ee8bcbu, 0x465e15a979c1cadcu },
|
|
597
|
+
{ 0x92a1958a7675175fu, 0x0bfacd89ec191ec9u },
|
|
598
|
+
{ 0xb749faed14125d36u, 0xcef980ec671f667bu },
|
|
599
|
+
{ 0xe51c79a85916f484u, 0x82b7e12780e7401au },
|
|
600
|
+
{ 0x8f31cc0937ae58d2u, 0xd1b2ecb8b0908810u },
|
|
601
|
+
{ 0xb2fe3f0b8599ef07u, 0x861fa7e6dcb4aa15u },
|
|
602
|
+
{ 0xdfbdcece67006ac9u, 0x67a791e093e1d49au },
|
|
603
|
+
{ 0x8bd6a141006042bdu, 0xe0c8bb2c5c6d24e0u },
|
|
604
|
+
{ 0xaecc49914078536du, 0x58fae9f773886e18u },
|
|
605
|
+
{ 0xda7f5bf590966848u, 0xaf39a475506a899eu },
|
|
606
|
+
{ 0x888f99797a5e012du, 0x6d8406c952429603u },
|
|
607
|
+
{ 0xaab37fd7d8f58178u, 0xc8e5087ba6d33b83u },
|
|
608
|
+
{ 0xd5605fcdcf32e1d6u, 0xfb1e4a9a90880a64u },
|
|
609
|
+
{ 0x855c3be0a17fcd26u, 0x5cf2eea09a55067fu },
|
|
610
|
+
{ 0xa6b34ad8c9dfc06fu, 0xf42faa48c0ea481eu },
|
|
611
|
+
{ 0xd0601d8efc57b08bu, 0xf13b94daf124da26u },
|
|
612
|
+
{ 0x823c12795db6ce57u, 0x76c53d08d6b70858u },
|
|
613
|
+
{ 0xa2cb1717b52481edu, 0x54768c4b0c64ca6eu },
|
|
614
|
+
{ 0xcb7ddcdda26da268u, 0xa9942f5dcf7dfd09u },
|
|
615
|
+
{ 0xfe5d54150b090b02u, 0xd3f93b35435d7c4cu },
|
|
616
|
+
{ 0x9efa548d26e5a6e1u, 0xc47bc5014a1a6dafu },
|
|
617
|
+
{ 0xc6b8e9b0709f109au, 0x359ab6419ca1091bu },
|
|
618
|
+
{ 0xf867241c8cc6d4c0u, 0xc30163d203c94b62u },
|
|
619
|
+
{ 0x9b407691d7fc44f8u, 0x79e0de63425dcf1du },
|
|
620
|
+
{ 0xc21094364dfb5636u, 0x985915fc12f542e4u },
|
|
621
|
+
{ 0xf294b943e17a2bc4u, 0x3e6f5b7b17b2939du },
|
|
622
|
+
{ 0x979cf3ca6cec5b5au, 0xa705992ceecf9c42u },
|
|
623
|
+
{ 0xbd8430bd08277231u, 0x50c6ff782a838353u },
|
|
624
|
+
{ 0xece53cec4a314ebdu, 0xa4f8bf5635246428u },
|
|
625
|
+
{ 0x940f4613ae5ed136u, 0x871b7795e136be99u },
|
|
626
|
+
{ 0xb913179899f68584u, 0x28e2557b59846e3fu },
|
|
627
|
+
{ 0xe757dd7ec07426e5u, 0x331aeada2fe589cfu },
|
|
628
|
+
{ 0x9096ea6f3848984fu, 0x3ff0d2c85def7621u },
|
|
629
|
+
{ 0xb4bca50b065abe63u, 0x0fed077a756b53a9u },
|
|
630
|
+
{ 0xe1ebce4dc7f16dfbu, 0xd3e8495912c62894u },
|
|
631
|
+
{ 0x8d3360f09cf6e4bdu, 0x64712dd7abbbd95cu },
|
|
632
|
+
{ 0xb080392cc4349decu, 0xbd8d794d96aacfb3u },
|
|
633
|
+
{ 0xdca04777f541c567u, 0xecf0d7a0fc5583a0u },
|
|
634
|
+
{ 0x89e42caaf9491b60u, 0xf41686c49db57244u },
|
|
635
|
+
{ 0xac5d37d5b79b6239u, 0x311c2875c522ced5u },
|
|
636
|
+
{ 0xd77485cb25823ac7u, 0x7d633293366b828bu },
|
|
637
|
+
{ 0x86a8d39ef77164bcu, 0xae5dff9c02033197u },
|
|
638
|
+
{ 0xa8530886b54dbdebu, 0xd9f57f830283fdfcu },
|
|
639
|
+
{ 0xd267caa862a12d66u, 0xd072df63c324fd7bu },
|
|
640
|
+
{ 0x8380dea93da4bc60u, 0x4247cb9e59f71e6du },
|
|
641
|
+
{ 0xa46116538d0deb78u, 0x52d9be85f074e608u },
|
|
642
|
+
{ 0xcd795be870516656u, 0x67902e276c921f8bu },
|
|
643
|
+
{ 0x806bd9714632dff6u, 0x00ba1cd8a3db53b6u },
|
|
644
|
+
{ 0xa086cfcd97bf97f3u, 0x80e8a40eccd228a4u },
|
|
645
|
+
{ 0xc8a883c0fdaf7df0u, 0x6122cd128006b2cdu },
|
|
646
|
+
{ 0xfad2a4b13d1b5d6cu, 0x796b805720085f81u },
|
|
647
|
+
{ 0x9cc3a6eec6311a63u, 0xcbe3303674053bb0u },
|
|
648
|
+
{ 0xc3f490aa77bd60fcu, 0xbedbfc4411068a9cu },
|
|
649
|
+
{ 0xf4f1b4d515acb93bu, 0xee92fb5515482d44u },
|
|
650
|
+
{ 0x991711052d8bf3c5u, 0x751bdd152d4d1c4au },
|
|
651
|
+
{ 0xbf5cd54678eef0b6u, 0xd262d45a78a0635du },
|
|
652
|
+
{ 0xef340a98172aace4u, 0x86fb897116c87c34u },
|
|
653
|
+
{ 0x9580869f0e7aac0eu, 0xd45d35e6ae3d4da0u },
|
|
654
|
+
{ 0xbae0a846d2195712u, 0x8974836059cca109u },
|
|
655
|
+
{ 0xe998d258869facd7u, 0x2bd1a438703fc94bu },
|
|
656
|
+
{ 0x91ff83775423cc06u, 0x7b6306a34627ddcfu },
|
|
657
|
+
{ 0xb67f6455292cbf08u, 0x1a3bc84c17b1d542u },
|
|
658
|
+
{ 0xe41f3d6a7377eecau, 0x20caba5f1d9e4a93u },
|
|
659
|
+
{ 0x8e938662882af53eu, 0x547eb47b7282ee9cu },
|
|
660
|
+
{ 0xb23867fb2a35b28du, 0xe99e619a4f23aa43u },
|
|
661
|
+
{ 0xdec681f9f4c31f31u, 0x6405fa00e2ec94d4u },
|
|
662
|
+
{ 0x8b3c113c38f9f37eu, 0xde83bc408dd3dd04u },
|
|
663
|
+
{ 0xae0b158b4738705eu, 0x9624ab50b148d445u },
|
|
664
|
+
{ 0xd98ddaee19068c76u, 0x3badd624dd9b0957u },
|
|
665
|
+
{ 0x87f8a8d4cfa417c9u, 0xe54ca5d70a80e5d6u },
|
|
666
|
+
{ 0xa9f6d30a038d1dbcu, 0x5e9fcf4ccd211f4cu },
|
|
667
|
+
{ 0xd47487cc8470652bu, 0x7647c3200069671fu },
|
|
668
|
+
{ 0x84c8d4dfd2c63f3bu, 0x29ecd9f40041e073u },
|
|
669
|
+
{ 0xa5fb0a17c777cf09u, 0xf468107100525890u },
|
|
670
|
+
{ 0xcf79cc9db955c2ccu, 0x7182148d4066eeb4u },
|
|
671
|
+
{ 0x81ac1fe293d599bfu, 0xc6f14cd848405530u },
|
|
672
|
+
{ 0xa21727db38cb002fu, 0xb8ada00e5a506a7cu },
|
|
673
|
+
{ 0xca9cf1d206fdc03bu, 0xa6d90811f0e4851cu },
|
|
674
|
+
{ 0xfd442e4688bd304au, 0x908f4a166d1da663u },
|
|
675
|
+
{ 0x9e4a9cec15763e2eu, 0x9a598e4e043287feu },
|
|
676
|
+
{ 0xc5dd44271ad3cdbau, 0x40eff1e1853f29fdu },
|
|
677
|
+
{ 0xf7549530e188c128u, 0xd12bee59e68ef47cu },
|
|
678
|
+
{ 0x9a94dd3e8cf578b9u, 0x82bb74f8301958ceu },
|
|
679
|
+
{ 0xc13a148e3032d6e7u, 0xe36a52363c1faf01u },
|
|
680
|
+
{ 0xf18899b1bc3f8ca1u, 0xdc44e6c3cb279ac1u },
|
|
681
|
+
{ 0x96f5600f15a7b7e5u, 0x29ab103a5ef8c0b9u },
|
|
682
|
+
{ 0xbcb2b812db11a5deu, 0x7415d448f6b6f0e7u },
|
|
683
|
+
{ 0xebdf661791d60f56u, 0x111b495b3464ad21u },
|
|
684
|
+
{ 0x936b9fcebb25c995u, 0xcab10dd900beec34u },
|
|
685
|
+
{ 0xb84687c269ef3bfbu, 0x3d5d514f40eea742u },
|
|
686
|
+
{ 0xe65829b3046b0afau, 0x0cb4a5a3112a5112u },
|
|
687
|
+
{ 0x8ff71a0fe2c2e6dcu, 0x47f0e785eaba72abu },
|
|
688
|
+
{ 0xb3f4e093db73a093u, 0x59ed216765690f56u },
|
|
689
|
+
{ 0xe0f218b8d25088b8u, 0x306869c13ec3532cu },
|
|
690
|
+
{ 0x8c974f7383725573u, 0x1e414218c73a13fbu },
|
|
691
|
+
{ 0xafbd2350644eeacfu, 0xe5d1929ef90898fau },
|
|
692
|
+
{ 0xdbac6c247d62a583u, 0xdf45f746b74abf39u },
|
|
693
|
+
{ 0x894bc396ce5da772u, 0x6b8bba8c328eb783u },
|
|
694
|
+
{ 0xab9eb47c81f5114fu, 0x066ea92f3f326564u },
|
|
695
|
+
{ 0xd686619ba27255a2u, 0xc80a537b0efefebdu },
|
|
696
|
+
{ 0x8613fd0145877585u, 0xbd06742ce95f5f36u },
|
|
697
|
+
{ 0xa798fc4196e952e7u, 0x2c48113823b73704u },
|
|
698
|
+
{ 0xd17f3b51fca3a7a0u, 0xf75a15862ca504c5u },
|
|
699
|
+
{ 0x82ef85133de648c4u, 0x9a984d73dbe722fbu },
|
|
700
|
+
{ 0xa3ab66580d5fdaf5u, 0xc13e60d0d2e0ebbau },
|
|
701
|
+
{ 0xcc963fee10b7d1b3u, 0x318df905079926a8u },
|
|
702
|
+
{ 0xffbbcfe994e5c61fu, 0xfdf17746497f7052u },
|
|
703
|
+
{ 0x9fd561f1fd0f9bd3u, 0xfeb6ea8bedefa633u },
|
|
704
|
+
{ 0xc7caba6e7c5382c8u, 0xfe64a52ee96b8fc0u },
|
|
705
|
+
{ 0xf9bd690a1b68637bu, 0x3dfdce7aa3c673b0u },
|
|
706
|
+
{ 0x9c1661a651213e2du, 0x06bea10ca65c084eu },
|
|
707
|
+
{ 0xc31bfa0fe5698db8u, 0x486e494fcff30a62u },
|
|
708
|
+
{ 0xf3e2f893dec3f126u, 0x5a89dba3c3efccfau },
|
|
709
|
+
{ 0x986ddb5c6b3a76b7u, 0xf89629465a75e01cu },
|
|
710
|
+
{ 0xbe89523386091465u, 0xf6bbb397f1135823u },
|
|
711
|
+
{ 0xee2ba6c0678b597fu, 0x746aa07ded582e2cu },
|
|
712
|
+
{ 0x94db483840b717efu, 0xa8c2a44eb4571cdcu },
|
|
713
|
+
{ 0xba121a4650e4ddebu, 0x92f34d62616ce413u },
|
|
714
|
+
{ 0xe896a0d7e51e1566u, 0x77b020baf9c81d17u },
|
|
715
|
+
{ 0x915e2486ef32cd60u, 0x0ace1474dc1d122eu },
|
|
716
|
+
{ 0xb5b5ada8aaff80b8u, 0x0d819992132456bau },
|
|
717
|
+
{ 0xe3231912d5bf60e6u, 0x10e1fff697ed6c69u },
|
|
718
|
+
{ 0x8df5efabc5979c8fu, 0xca8d3ffa1ef463c1u },
|
|
719
|
+
{ 0xb1736b96b6fd83b3u, 0xbd308ff8a6b17cb2u },
|
|
720
|
+
{ 0xddd0467c64bce4a0u, 0xac7cb3f6d05ddbdeu },
|
|
721
|
+
{ 0x8aa22c0dbef60ee4u, 0x6bcdf07a423aa96bu },
|
|
722
|
+
{ 0xad4ab7112eb3929du, 0x86c16c98d2c953c6u },
|
|
723
|
+
{ 0xd89d64d57a607744u, 0xe871c7bf077ba8b7u },
|
|
724
|
+
{ 0x87625f056c7c4a8bu, 0x11471cd764ad4972u },
|
|
725
|
+
{ 0xa93af6c6c79b5d2du, 0xd598e40d3dd89bcfu },
|
|
726
|
+
{ 0xd389b47879823479u, 0x4aff1d108d4ec2c3u },
|
|
727
|
+
{ 0x843610cb4bf160cbu, 0xcedf722a585139bau },
|
|
728
|
+
{ 0xa54394fe1eedb8feu, 0xc2974eb4ee658828u },
|
|
729
|
+
{ 0xce947a3da6a9273eu, 0x733d226229feea32u },
|
|
730
|
+
{ 0x811ccc668829b887u, 0x0806357d5a3f525fu },
|
|
731
|
+
{ 0xa163ff802a3426a8u, 0xca07c2dcb0cf26f7u },
|
|
732
|
+
{ 0xc9bcff6034c13052u, 0xfc89b393dd02f0b5u },
|
|
733
|
+
{ 0xfc2c3f3841f17c67u, 0xbbac2078d443ace2u },
|
|
734
|
+
{ 0x9d9ba7832936edc0u, 0xd54b944b84aa4c0du },
|
|
735
|
+
{ 0xc5029163f384a931u, 0x0a9e795e65d4df11u },
|
|
736
|
+
{ 0xf64335bcf065d37du, 0x4d4617b5ff4a16d5u },
|
|
737
|
+
{ 0x99ea0196163fa42eu, 0x504bced1bf8e4e45u },
|
|
738
|
+
{ 0xc06481fb9bcf8d39u, 0xe45ec2862f71e1d6u },
|
|
739
|
+
{ 0xf07da27a82c37088u, 0x5d767327bb4e5a4cu },
|
|
740
|
+
{ 0x964e858c91ba2655u, 0x3a6a07f8d510f86fu },
|
|
741
|
+
{ 0xbbe226efb628afeau, 0x890489f70a55368bu },
|
|
742
|
+
{ 0xeadab0aba3b2dbe5u, 0x2b45ac74ccea842eu },
|
|
743
|
+
{ 0x92c8ae6b464fc96fu, 0x3b0b8bc90012929du },
|
|
744
|
+
{ 0xb77ada0617e3bbcbu, 0x09ce6ebb40173744u },
|
|
745
|
+
{ 0xe55990879ddcaabdu, 0xcc420a6a101d0515u },
|
|
746
|
+
{ 0x8f57fa54c2a9eab6u, 0x9fa946824a12232du },
|
|
747
|
+
{ 0xb32df8e9f3546564u, 0x47939822dc96abf9u },
|
|
748
|
+
{ 0xdff9772470297ebdu, 0x59787e2b93bc56f7u },
|
|
749
|
+
{ 0x8bfbea76c619ef36u, 0x57eb4edb3c55b65au },
|
|
750
|
+
{ 0xaefae51477a06b03u, 0xede622920b6b23f1u },
|
|
751
|
+
{ 0xdab99e59958885c4u, 0xe95fab368e45ecedu },
|
|
752
|
+
{ 0x88b402f7fd75539bu, 0x11dbcb0218ebb414u },
|
|
753
|
+
{ 0xaae103b5fcd2a881u, 0xd652bdc29f26a119u },
|
|
754
|
+
{ 0xd59944a37c0752a2u, 0x4be76d3346f0495fu },
|
|
755
|
+
{ 0x857fcae62d8493a5u, 0x6f70a4400c562ddbu },
|
|
756
|
+
{ 0xa6dfbd9fb8e5b88eu, 0xcb4ccd500f6bb952u },
|
|
757
|
+
{ 0xd097ad07a71f26b2u, 0x7e2000a41346a7a7u },
|
|
758
|
+
{ 0x825ecc24c873782fu, 0x8ed400668c0c28c8u },
|
|
759
|
+
{ 0xa2f67f2dfa90563bu, 0x728900802f0f32fau },
|
|
760
|
+
{ 0xcbb41ef979346bcau, 0x4f2b40a03ad2ffb9u },
|
|
761
|
+
{ 0xfea126b7d78186bcu, 0xe2f610c84987bfa8u },
|
|
762
|
+
{ 0x9f24b832e6b0f436u, 0x0dd9ca7d2df4d7c9u },
|
|
763
|
+
{ 0xc6ede63fa05d3143u, 0x91503d1c79720dbbu },
|
|
764
|
+
{ 0xf8a95fcf88747d94u, 0x75a44c6397ce912au },
|
|
765
|
+
{ 0x9b69dbe1b548ce7cu, 0xc986afbe3ee11abau },
|
|
766
|
+
{ 0xc24452da229b021bu, 0xfbe85badce996168u },
|
|
767
|
+
{ 0xf2d56790ab41c2a2u, 0xfae27299423fb9c3u },
|
|
768
|
+
{ 0x97c560ba6b0919a5u, 0xdccd879fc967d41au },
|
|
769
|
+
{ 0xbdb6b8e905cb600fu, 0x5400e987bbc1c920u },
|
|
770
|
+
{ 0xed246723473e3813u, 0x290123e9aab23b68u },
|
|
771
|
+
{ 0x9436c0760c86e30bu, 0xf9a0b6720aaf6521u },
|
|
772
|
+
{ 0xb94470938fa89bceu, 0xf808e40e8d5b3e69u },
|
|
773
|
+
{ 0xe7958cb87392c2c2u, 0xb60b1d1230b20e04u },
|
|
774
|
+
{ 0x90bd77f3483bb9b9u, 0xb1c6f22b5e6f48c2u },
|
|
775
|
+
{ 0xb4ecd5f01a4aa828u, 0x1e38aeb6360b1af3u },
|
|
776
|
+
{ 0xe2280b6c20dd5232u, 0x25c6da63c38de1b0u },
|
|
777
|
+
{ 0x8d590723948a535fu, 0x579c487e5a38ad0eu },
|
|
778
|
+
{ 0xb0af48ec79ace837u, 0x2d835a9df0c6d851u },
|
|
779
|
+
{ 0xdcdb1b2798182244u, 0xf8e431456cf88e65u },
|
|
780
|
+
{ 0x8a08f0f8bf0f156bu, 0x1b8e9ecb641b58ffu },
|
|
781
|
+
{ 0xac8b2d36eed2dac5u, 0xe272467e3d222f3fu },
|
|
782
|
+
{ 0xd7adf884aa879177u, 0x5b0ed81dcc6abb0fu },
|
|
783
|
+
{ 0x86ccbb52ea94baeau, 0x98e947129fc2b4e9u },
|
|
784
|
+
{ 0xa87fea27a539e9a5u, 0x3f2398d747b36224u },
|
|
785
|
+
{ 0xd29fe4b18e88640eu, 0x8eec7f0d19a03aadu },
|
|
786
|
+
{ 0x83a3eeeef9153e89u, 0x1953cf68300424acu },
|
|
787
|
+
{ 0xa48ceaaab75a8e2bu, 0x5fa8c3423c052dd7u },
|
|
788
|
+
{ 0xcdb02555653131b6u, 0x3792f412cb06794du },
|
|
789
|
+
{ 0x808e17555f3ebf11u, 0xe2bbd88bbee40bd0u },
|
|
790
|
+
{ 0xa0b19d2ab70e6ed6u, 0x5b6aceaeae9d0ec4u },
|
|
791
|
+
{ 0xc8de047564d20a8bu, 0xf245825a5a445275u },
|
|
792
|
+
{ 0xfb158592be068d2eu, 0xeed6e2f0f0d56712u },
|
|
793
|
+
{ 0x9ced737bb6c4183du, 0x55464dd69685606bu },
|
|
794
|
+
{ 0xc428d05aa4751e4cu, 0xaa97e14c3c26b886u },
|
|
795
|
+
{ 0xf53304714d9265dfu, 0xd53dd99f4b3066a8u },
|
|
796
|
+
{ 0x993fe2c6d07b7fabu, 0xe546a8038efe4029u },
|
|
797
|
+
{ 0xbf8fdb78849a5f96u, 0xde98520472bdd033u },
|
|
798
|
+
{ 0xef73d256a5c0f77cu, 0x963e66858f6d4440u },
|
|
799
|
+
{ 0x95a8637627989aadu, 0xdde7001379a44aa8u },
|
|
800
|
+
{ 0xbb127c53b17ec159u, 0x5560c018580d5d52u },
|
|
801
|
+
{ 0xe9d71b689dde71afu, 0xaab8f01e6e10b4a6u },
|
|
802
|
+
{ 0x9226712162ab070du, 0xcab3961304ca70e8u },
|
|
803
|
+
{ 0xb6b00d69bb55c8d1u, 0x3d607b97c5fd0d22u },
|
|
804
|
+
{ 0xe45c10c42a2b3b05u, 0x8cb89a7db77c506au },
|
|
805
|
+
{ 0x8eb98a7a9a5b04e3u, 0x77f3608e92adb242u },
|
|
806
|
+
{ 0xb267ed1940f1c61cu, 0x55f038b237591ed3u },
|
|
807
|
+
{ 0xdf01e85f912e37a3u, 0x6b6c46dec52f6688u },
|
|
808
|
+
{ 0x8b61313bbabce2c6u, 0x2323ac4b3b3da015u },
|
|
809
|
+
{ 0xae397d8aa96c1b77u, 0xabec975e0a0d081au },
|
|
810
|
+
{ 0xd9c7dced53c72255u, 0x96e7bd358c904a21u },
|
|
811
|
+
{ 0x881cea14545c7575u, 0x7e50d64177da2e54u },
|
|
812
|
+
{ 0xaa242499697392d2u, 0xdde50bd1d5d0b9e9u },
|
|
813
|
+
{ 0xd4ad2dbfc3d07787u, 0x955e4ec64b44e864u },
|
|
814
|
+
{ 0x84ec3c97da624ab4u, 0xbd5af13bef0b113eu },
|
|
815
|
+
{ 0xa6274bbdd0fadd61u, 0xecb1ad8aeacdd58eu },
|
|
816
|
+
{ 0xcfb11ead453994bau, 0x67de18eda5814af2u },
|
|
817
|
+
{ 0x81ceb32c4b43fcf4u, 0x80eacf948770ced7u },
|
|
818
|
+
{ 0xa2425ff75e14fc31u, 0xa1258379a94d028du },
|
|
819
|
+
{ 0xcad2f7f5359a3b3eu, 0x096ee45813a04330u },
|
|
820
|
+
{ 0xfd87b5f28300ca0du, 0x8bca9d6e188853fcu },
|
|
821
|
+
{ 0x9e74d1b791e07e48u, 0x775ea264cf55347du },
|
|
822
|
+
{ 0xc612062576589ddau, 0x95364afe032a819du },
|
|
823
|
+
{ 0xf79687aed3eec551u, 0x3a83ddbd83f52204u },
|
|
824
|
+
{ 0x9abe14cd44753b52u, 0xc4926a9672793542u },
|
|
825
|
+
{ 0xc16d9a0095928a27u, 0x75b7053c0f178293u },
|
|
826
|
+
{ 0xf1c90080baf72cb1u, 0x5324c68b12dd6338u },
|
|
827
|
+
{ 0x971da05074da7beeu, 0xd3f6fc16ebca5e03u },
|
|
828
|
+
{ 0xbce5086492111aeau, 0x88f4bb1ca6bcf584u },
|
|
829
|
+
{ 0xec1e4a7db69561a5u, 0x2b31e9e3d06c32e5u },
|
|
830
|
+
{ 0x9392ee8e921d5d07u, 0x3aff322e62439fcfu },
|
|
831
|
+
{ 0xb877aa3236a4b449u, 0x09befeb9fad487c2u },
|
|
832
|
+
{ 0xe69594bec44de15bu, 0x4c2ebe687989a9b3u },
|
|
833
|
+
{ 0x901d7cf73ab0acd9u, 0x0f9d37014bf60a10u },
|
|
834
|
+
{ 0xb424dc35095cd80fu, 0x538484c19ef38c94u },
|
|
835
|
+
{ 0xe12e13424bb40e13u, 0x2865a5f206b06fb9u },
|
|
836
|
+
{ 0x8cbccc096f5088cbu, 0xf93f87b7442e45d3u },
|
|
837
|
+
{ 0xafebff0bcb24aafeu, 0xf78f69a51539d748u },
|
|
838
|
+
{ 0xdbe6fecebdedd5beu, 0xb573440e5a884d1bu },
|
|
839
|
+
{ 0x89705f4136b4a597u, 0x31680a88f8953030u },
|
|
840
|
+
{ 0xabcc77118461cefcu, 0xfdc20d2b36ba7c3du },
|
|
841
|
+
{ 0xd6bf94d5e57a42bcu, 0x3d32907604691b4cu },
|
|
842
|
+
{ 0x8637bd05af6c69b5u, 0xa63f9a49c2c1b10fu },
|
|
843
|
+
{ 0xa7c5ac471b478423u, 0x0fcf80dc33721d53u },
|
|
844
|
+
{ 0xd1b71758e219652bu, 0xd3c36113404ea4a8u },
|
|
845
|
+
{ 0x83126e978d4fdf3bu, 0x645a1cac083126e9u },
|
|
846
|
+
{ 0xa3d70a3d70a3d70au, 0x3d70a3d70a3d70a3u },
|
|
847
|
+
{ 0xccccccccccccccccu, 0xccccccccccccccccu },
|
|
848
|
+
{ 0x8000000000000000u, 0x0000000000000000u },
|
|
849
|
+
{ 0xa000000000000000u, 0x0000000000000000u },
|
|
850
|
+
{ 0xc800000000000000u, 0x0000000000000000u },
|
|
851
|
+
{ 0xfa00000000000000u, 0x0000000000000000u },
|
|
852
|
+
{ 0x9c40000000000000u, 0x0000000000000000u },
|
|
853
|
+
{ 0xc350000000000000u, 0x0000000000000000u },
|
|
854
|
+
{ 0xf424000000000000u, 0x0000000000000000u },
|
|
855
|
+
{ 0x9896800000000000u, 0x0000000000000000u },
|
|
856
|
+
{ 0xbebc200000000000u, 0x0000000000000000u },
|
|
857
|
+
{ 0xee6b280000000000u, 0x0000000000000000u },
|
|
858
|
+
{ 0x9502f90000000000u, 0x0000000000000000u },
|
|
859
|
+
{ 0xba43b74000000000u, 0x0000000000000000u },
|
|
860
|
+
{ 0xe8d4a51000000000u, 0x0000000000000000u },
|
|
861
|
+
{ 0x9184e72a00000000u, 0x0000000000000000u },
|
|
862
|
+
{ 0xb5e620f480000000u, 0x0000000000000000u },
|
|
863
|
+
{ 0xe35fa931a0000000u, 0x0000000000000000u },
|
|
864
|
+
{ 0x8e1bc9bf04000000u, 0x0000000000000000u },
|
|
865
|
+
{ 0xb1a2bc2ec5000000u, 0x0000000000000000u },
|
|
866
|
+
{ 0xde0b6b3a76400000u, 0x0000000000000000u },
|
|
867
|
+
{ 0x8ac7230489e80000u, 0x0000000000000000u },
|
|
868
|
+
{ 0xad78ebc5ac620000u, 0x0000000000000000u },
|
|
869
|
+
{ 0xd8d726b7177a8000u, 0x0000000000000000u },
|
|
870
|
+
{ 0x878678326eac9000u, 0x0000000000000000u },
|
|
871
|
+
{ 0xa968163f0a57b400u, 0x0000000000000000u },
|
|
872
|
+
{ 0xd3c21bcecceda100u, 0x0000000000000000u },
|
|
873
|
+
{ 0x84595161401484a0u, 0x0000000000000000u },
|
|
874
|
+
{ 0xa56fa5b99019a5c8u, 0x0000000000000000u },
|
|
875
|
+
{ 0xcecb8f27f4200f3au, 0x0000000000000000u },
|
|
876
|
+
{ 0x813f3978f8940984u, 0x4000000000000000u },
|
|
877
|
+
{ 0xa18f07d736b90be5u, 0x5000000000000000u },
|
|
878
|
+
{ 0xc9f2c9cd04674edeu, 0xa400000000000000u },
|
|
879
|
+
{ 0xfc6f7c4045812296u, 0x4d00000000000000u },
|
|
880
|
+
{ 0x9dc5ada82b70b59du, 0xf020000000000000u },
|
|
881
|
+
{ 0xc5371912364ce305u, 0x6c28000000000000u },
|
|
882
|
+
{ 0xf684df56c3e01bc6u, 0xc732000000000000u },
|
|
883
|
+
{ 0x9a130b963a6c115cu, 0x3c7f400000000000u },
|
|
884
|
+
{ 0xc097ce7bc90715b3u, 0x4b9f100000000000u },
|
|
885
|
+
{ 0xf0bdc21abb48db20u, 0x1e86d40000000000u },
|
|
886
|
+
{ 0x96769950b50d88f4u, 0x1314448000000000u },
|
|
887
|
+
{ 0xbc143fa4e250eb31u, 0x17d955a000000000u },
|
|
888
|
+
{ 0xeb194f8e1ae525fdu, 0x5dcfab0800000000u },
|
|
889
|
+
{ 0x92efd1b8d0cf37beu, 0x5aa1cae500000000u },
|
|
890
|
+
{ 0xb7abc627050305adu, 0xf14a3d9e40000000u },
|
|
891
|
+
{ 0xe596b7b0c643c719u, 0x6d9ccd05d0000000u },
|
|
892
|
+
{ 0x8f7e32ce7bea5c6fu, 0xe4820023a2000000u },
|
|
893
|
+
{ 0xb35dbf821ae4f38bu, 0xdda2802c8a800000u },
|
|
894
|
+
{ 0xe0352f62a19e306eu, 0xd50b2037ad200000u },
|
|
895
|
+
{ 0x8c213d9da502de45u, 0x4526f422cc340000u },
|
|
896
|
+
{ 0xaf298d050e4395d6u, 0x9670b12b7f410000u },
|
|
897
|
+
{ 0xdaf3f04651d47b4cu, 0x3c0cdd765f114000u },
|
|
898
|
+
{ 0x88d8762bf324cd0fu, 0xa5880a69fb6ac800u },
|
|
899
|
+
{ 0xab0e93b6efee0053u, 0x8eea0d047a457a00u },
|
|
900
|
+
{ 0xd5d238a4abe98068u, 0x72a4904598d6d880u },
|
|
901
|
+
{ 0x85a36366eb71f041u, 0x47a6da2b7f864750u },
|
|
902
|
+
{ 0xa70c3c40a64e6c51u, 0x999090b65f67d924u },
|
|
903
|
+
{ 0xd0cf4b50cfe20765u, 0xfff4b4e3f741cf6du },
|
|
904
|
+
{ 0x82818f1281ed449fu, 0xbff8f10e7a8921a4u },
|
|
905
|
+
{ 0xa321f2d7226895c7u, 0xaff72d52192b6a0du },
|
|
906
|
+
{ 0xcbea6f8ceb02bb39u, 0x9bf4f8a69f764490u },
|
|
907
|
+
{ 0xfee50b7025c36a08u, 0x02f236d04753d5b4u },
|
|
908
|
+
{ 0x9f4f2726179a2245u, 0x01d762422c946590u },
|
|
909
|
+
{ 0xc722f0ef9d80aad6u, 0x424d3ad2b7b97ef5u },
|
|
910
|
+
{ 0xf8ebad2b84e0d58bu, 0xd2e0898765a7deb2u },
|
|
911
|
+
{ 0x9b934c3b330c8577u, 0x63cc55f49f88eb2fu },
|
|
912
|
+
{ 0xc2781f49ffcfa6d5u, 0x3cbf6b71c76b25fbu },
|
|
913
|
+
{ 0xf316271c7fc3908au, 0x8bef464e3945ef7au },
|
|
914
|
+
{ 0x97edd871cfda3a56u, 0x97758bf0e3cbb5acu },
|
|
915
|
+
{ 0xbde94e8e43d0c8ecu, 0x3d52eeed1cbea317u },
|
|
916
|
+
{ 0xed63a231d4c4fb27u, 0x4ca7aaa863ee4bddu },
|
|
917
|
+
{ 0x945e455f24fb1cf8u, 0x8fe8caa93e74ef6au },
|
|
918
|
+
{ 0xb975d6b6ee39e436u, 0xb3e2fd538e122b44u },
|
|
919
|
+
{ 0xe7d34c64a9c85d44u, 0x60dbbca87196b616u },
|
|
920
|
+
{ 0x90e40fbeea1d3a4au, 0xbc8955e946fe31cdu },
|
|
921
|
+
{ 0xb51d13aea4a488ddu, 0x6babab6398bdbe41u },
|
|
922
|
+
{ 0xe264589a4dcdab14u, 0xc696963c7eed2dd1u },
|
|
923
|
+
{ 0x8d7eb76070a08aecu, 0xfc1e1de5cf543ca2u },
|
|
924
|
+
{ 0xb0de65388cc8ada8u, 0x3b25a55f43294bcbu },
|
|
925
|
+
{ 0xdd15fe86affad912u, 0x49ef0eb713f39ebeu },
|
|
926
|
+
{ 0x8a2dbf142dfcc7abu, 0x6e3569326c784337u },
|
|
927
|
+
{ 0xacb92ed9397bf996u, 0x49c2c37f07965404u },
|
|
928
|
+
{ 0xd7e77a8f87daf7fbu, 0xdc33745ec97be906u },
|
|
929
|
+
{ 0x86f0ac99b4e8dafdu, 0x69a028bb3ded71a3u },
|
|
930
|
+
{ 0xa8acd7c0222311bcu, 0xc40832ea0d68ce0cu },
|
|
931
|
+
{ 0xd2d80db02aabd62bu, 0xf50a3fa490c30190u },
|
|
932
|
+
{ 0x83c7088e1aab65dbu, 0x792667c6da79e0fau },
|
|
933
|
+
{ 0xa4b8cab1a1563f52u, 0x577001b891185938u },
|
|
934
|
+
{ 0xcde6fd5e09abcf26u, 0xed4c0226b55e6f86u },
|
|
935
|
+
{ 0x80b05e5ac60b6178u, 0x544f8158315b05b4u },
|
|
936
|
+
{ 0xa0dc75f1778e39d6u, 0x696361ae3db1c721u },
|
|
937
|
+
{ 0xc913936dd571c84cu, 0x03bc3a19cd1e38e9u },
|
|
938
|
+
{ 0xfb5878494ace3a5fu, 0x04ab48a04065c723u },
|
|
939
|
+
{ 0x9d174b2dcec0e47bu, 0x62eb0d64283f9c76u },
|
|
940
|
+
{ 0xc45d1df942711d9au, 0x3ba5d0bd324f8394u },
|
|
941
|
+
{ 0xf5746577930d6500u, 0xca8f44ec7ee36479u },
|
|
942
|
+
{ 0x9968bf6abbe85f20u, 0x7e998b13cf4e1ecbu },
|
|
943
|
+
{ 0xbfc2ef456ae276e8u, 0x9e3fedd8c321a67eu },
|
|
944
|
+
{ 0xefb3ab16c59b14a2u, 0xc5cfe94ef3ea101eu },
|
|
945
|
+
{ 0x95d04aee3b80ece5u, 0xbba1f1d158724a12u },
|
|
946
|
+
{ 0xbb445da9ca61281fu, 0x2a8a6e45ae8edc97u },
|
|
947
|
+
{ 0xea1575143cf97226u, 0xf52d09d71a3293bdu },
|
|
948
|
+
{ 0x924d692ca61be758u, 0x593c2626705f9c56u },
|
|
949
|
+
{ 0xb6e0c377cfa2e12eu, 0x6f8b2fb00c77836cu },
|
|
950
|
+
{ 0xe498f455c38b997au, 0x0b6dfb9c0f956447u },
|
|
951
|
+
{ 0x8edf98b59a373fecu, 0x4724bd4189bd5eacu },
|
|
952
|
+
{ 0xb2977ee300c50fe7u, 0x58edec91ec2cb657u },
|
|
953
|
+
{ 0xdf3d5e9bc0f653e1u, 0x2f2967b66737e3edu },
|
|
954
|
+
{ 0x8b865b215899f46cu, 0xbd79e0d20082ee74u },
|
|
955
|
+
{ 0xae67f1e9aec07187u, 0xecd8590680a3aa11u },
|
|
956
|
+
{ 0xda01ee641a708de9u, 0xe80e6f4820cc9495u },
|
|
957
|
+
{ 0x884134fe908658b2u, 0x3109058d147fdcddu },
|
|
958
|
+
{ 0xaa51823e34a7eedeu, 0xbd4b46f0599fd415u },
|
|
959
|
+
{ 0xd4e5e2cdc1d1ea96u, 0x6c9e18ac7007c91au },
|
|
960
|
+
{ 0x850fadc09923329eu, 0x03e2cf6bc604ddb0u },
|
|
961
|
+
{ 0xa6539930bf6bff45u, 0x84db8346b786151cu },
|
|
962
|
+
{ 0xcfe87f7cef46ff16u, 0xe612641865679a63u },
|
|
963
|
+
{ 0x81f14fae158c5f6eu, 0x4fcb7e8f3f60c07eu },
|
|
964
|
+
{ 0xa26da3999aef7749u, 0xe3be5e330f38f09du },
|
|
965
|
+
{ 0xcb090c8001ab551cu, 0x5cadf5bfd3072cc5u },
|
|
966
|
+
{ 0xfdcb4fa002162a63u, 0x73d9732fc7c8f7f6u },
|
|
967
|
+
{ 0x9e9f11c4014dda7eu, 0x2867e7fddcdd9afau },
|
|
968
|
+
{ 0xc646d63501a1511du, 0xb281e1fd541501b8u },
|
|
969
|
+
{ 0xf7d88bc24209a565u, 0x1f225a7ca91a4226u },
|
|
970
|
+
{ 0x9ae757596946075fu, 0x3375788de9b06958u },
|
|
971
|
+
{ 0xc1a12d2fc3978937u, 0x0052d6b1641c83aeu },
|
|
972
|
+
{ 0xf209787bb47d6b84u, 0xc0678c5dbd23a49au },
|
|
973
|
+
{ 0x9745eb4d50ce6332u, 0xf840b7ba963646e0u },
|
|
974
|
+
{ 0xbd176620a501fbffu, 0xb650e5a93bc3d898u },
|
|
975
|
+
{ 0xec5d3fa8ce427affu, 0xa3e51f138ab4cebeu },
|
|
976
|
+
{ 0x93ba47c980e98cdfu, 0xc66f336c36b10137u },
|
|
977
|
+
{ 0xb8a8d9bbe123f017u, 0xb80b0047445d4184u },
|
|
978
|
+
{ 0xe6d3102ad96cec1du, 0xa60dc059157491e5u },
|
|
979
|
+
{ 0x9043ea1ac7e41392u, 0x87c89837ad68db2fu },
|
|
980
|
+
{ 0xb454e4a179dd1877u, 0x29babe4598c311fbu },
|
|
981
|
+
{ 0xe16a1dc9d8545e94u, 0xf4296dd6fef3d67au },
|
|
982
|
+
{ 0x8ce2529e2734bb1du, 0x1899e4a65f58660cu },
|
|
983
|
+
{ 0xb01ae745b101e9e4u, 0x5ec05dcff72e7f8fu },
|
|
984
|
+
{ 0xdc21a1171d42645du, 0x76707543f4fa1f73u },
|
|
985
|
+
{ 0x899504ae72497ebau, 0x6a06494a791c53a8u },
|
|
986
|
+
{ 0xabfa45da0edbde69u, 0x0487db9d17636892u },
|
|
987
|
+
{ 0xd6f8d7509292d603u, 0x45a9d2845d3c42b6u },
|
|
988
|
+
{ 0x865b86925b9bc5c2u, 0x0b8a2392ba45a9b2u },
|
|
989
|
+
{ 0xa7f26836f282b732u, 0x8e6cac7768d7141eu },
|
|
990
|
+
{ 0xd1ef0244af2364ffu, 0x3207d795430cd926u },
|
|
991
|
+
{ 0x8335616aed761f1fu, 0x7f44e6bd49e807b8u },
|
|
992
|
+
{ 0xa402b9c5a8d3a6e7u, 0x5f16206c9c6209a6u },
|
|
993
|
+
{ 0xcd036837130890a1u, 0x36dba887c37a8c0fu },
|
|
994
|
+
{ 0x802221226be55a64u, 0xc2494954da2c9789u },
|
|
995
|
+
{ 0xa02aa96b06deb0fdu, 0xf2db9baa10b7bd6cu },
|
|
996
|
+
{ 0xc83553c5c8965d3du, 0x6f92829494e5acc7u },
|
|
997
|
+
{ 0xfa42a8b73abbf48cu, 0xcb772339ba1f17f9u },
|
|
998
|
+
{ 0x9c69a97284b578d7u, 0xff2a760414536efbu },
|
|
999
|
+
{ 0xc38413cf25e2d70du, 0xfef5138519684abau },
|
|
1000
|
+
{ 0xf46518c2ef5b8cd1u, 0x7eb258665fc25d69u },
|
|
1001
|
+
{ 0x98bf2f79d5993802u, 0xef2f773ffbd97a61u },
|
|
1002
|
+
{ 0xbeeefb584aff8603u, 0xaafb550ffacfd8fau },
|
|
1003
|
+
{ 0xeeaaba2e5dbf6784u, 0x95ba2a53f983cf38u },
|
|
1004
|
+
{ 0x952ab45cfa97a0b2u, 0xdd945a747bf26183u },
|
|
1005
|
+
{ 0xba756174393d88dfu, 0x94f971119aeef9e4u },
|
|
1006
|
+
{ 0xe912b9d1478ceb17u, 0x7a37cd5601aab85du },
|
|
1007
|
+
{ 0x91abb422ccb812eeu, 0xac62e055c10ab33au },
|
|
1008
|
+
{ 0xb616a12b7fe617aau, 0x577b986b314d6009u },
|
|
1009
|
+
{ 0xe39c49765fdf9d94u, 0xed5a7e85fda0b80bu },
|
|
1010
|
+
{ 0x8e41ade9fbebc27du, 0x14588f13be847307u },
|
|
1011
|
+
{ 0xb1d219647ae6b31cu, 0x596eb2d8ae258fc8u },
|
|
1012
|
+
{ 0xde469fbd99a05fe3u, 0x6fca5f8ed9aef3bbu },
|
|
1013
|
+
{ 0x8aec23d680043beeu, 0x25de7bb9480d5854u },
|
|
1014
|
+
{ 0xada72ccc20054ae9u, 0xaf561aa79a10ae6au },
|
|
1015
|
+
{ 0xd910f7ff28069da4u, 0x1b2ba1518094da04u },
|
|
1016
|
+
{ 0x87aa9aff79042286u, 0x90fb44d2f05d0842u },
|
|
1017
|
+
{ 0xa99541bf57452b28u, 0x353a1607ac744a53u },
|
|
1018
|
+
{ 0xd3fa922f2d1675f2u, 0x42889b8997915ce8u },
|
|
1019
|
+
{ 0x847c9b5d7c2e09b7u, 0x69956135febada11u },
|
|
1020
|
+
{ 0xa59bc234db398c25u, 0x43fab9837e699095u },
|
|
1021
|
+
{ 0xcf02b2c21207ef2eu, 0x94f967e45e03f4bbu },
|
|
1022
|
+
{ 0x8161afb94b44f57du, 0x1d1be0eebac278f5u },
|
|
1023
|
+
{ 0xa1ba1ba79e1632dcu, 0x6462d92a69731732u },
|
|
1024
|
+
{ 0xca28a291859bbf93u, 0x7d7b8f7503cfdcfeu },
|
|
1025
|
+
{ 0xfcb2cb35e702af78u, 0x5cda735244c3d43eu },
|
|
1026
|
+
{ 0x9defbf01b061adabu, 0x3a0888136afa64a7u },
|
|
1027
|
+
{ 0xc56baec21c7a1916u, 0x088aaa1845b8fdd0u },
|
|
1028
|
+
{ 0xf6c69a72a3989f5bu, 0x8aad549e57273d45u },
|
|
1029
|
+
{ 0x9a3c2087a63f6399u, 0x36ac54e2f678864bu },
|
|
1030
|
+
{ 0xc0cb28a98fcf3c7fu, 0x84576a1bb416a7ddu },
|
|
1031
|
+
{ 0xf0fdf2d3f3c30b9fu, 0x656d44a2a11c51d5u },
|
|
1032
|
+
{ 0x969eb7c47859e743u, 0x9f644ae5a4b1b325u },
|
|
1033
|
+
{ 0xbc4665b596706114u, 0x873d5d9f0dde1feeu },
|
|
1034
|
+
{ 0xeb57ff22fc0c7959u, 0xa90cb506d155a7eau },
|
|
1035
|
+
{ 0x9316ff75dd87cbd8u, 0x09a7f12442d588f2u },
|
|
1036
|
+
{ 0xb7dcbf5354e9beceu, 0x0c11ed6d538aeb2fu },
|
|
1037
|
+
{ 0xe5d3ef282a242e81u, 0x8f1668c8a86da5fau },
|
|
1038
|
+
{ 0x8fa475791a569d10u, 0xf96e017d694487bcu },
|
|
1039
|
+
{ 0xb38d92d760ec4455u, 0x37c981dcc395a9acu },
|
|
1040
|
+
{ 0xe070f78d3927556au, 0x85bbe253f47b1417u },
|
|
1041
|
+
{ 0x8c469ab843b89562u, 0x93956d7478ccec8eu },
|
|
1042
|
+
{ 0xaf58416654a6babbu, 0x387ac8d1970027b2u },
|
|
1043
|
+
{ 0xdb2e51bfe9d0696au, 0x06997b05fcc0319eu },
|
|
1044
|
+
{ 0x88fcf317f22241e2u, 0x441fece3bdf81f03u },
|
|
1045
|
+
{ 0xab3c2fddeeaad25au, 0xd527e81cad7626c3u },
|
|
1046
|
+
{ 0xd60b3bd56a5586f1u, 0x8a71e223d8d3b074u },
|
|
1047
|
+
{ 0x85c7056562757456u, 0xf6872d5667844e49u },
|
|
1048
|
+
{ 0xa738c6bebb12d16cu, 0xb428f8ac016561dbu },
|
|
1049
|
+
{ 0xd106f86e69d785c7u, 0xe13336d701beba52u },
|
|
1050
|
+
{ 0x82a45b450226b39cu, 0xecc0024661173473u },
|
|
1051
|
+
{ 0xa34d721642b06084u, 0x27f002d7f95d0190u },
|
|
1052
|
+
{ 0xcc20ce9bd35c78a5u, 0x31ec038df7b441f4u },
|
|
1053
|
+
{ 0xff290242c83396ceu, 0x7e67047175a15271u },
|
|
1054
|
+
{ 0x9f79a169bd203e41u, 0x0f0062c6e984d386u },
|
|
1055
|
+
{ 0xc75809c42c684dd1u, 0x52c07b78a3e60868u },
|
|
1056
|
+
{ 0xf92e0c3537826145u, 0xa7709a56ccdf8a82u },
|
|
1057
|
+
{ 0x9bbcc7a142b17ccbu, 0x88a66076400bb691u },
|
|
1058
|
+
{ 0xc2abf989935ddbfeu, 0x6acff893d00ea435u },
|
|
1059
|
+
{ 0xf356f7ebf83552feu, 0x0583f6b8c4124d43u },
|
|
1060
|
+
{ 0x98165af37b2153deu, 0xc3727a337a8b704au },
|
|
1061
|
+
{ 0xbe1bf1b059e9a8d6u, 0x744f18c0592e4c5cu },
|
|
1062
|
+
{ 0xeda2ee1c7064130cu, 0x1162def06f79df73u },
|
|
1063
|
+
{ 0x9485d4d1c63e8be7u, 0x8addcb5645ac2ba8u },
|
|
1064
|
+
{ 0xb9a74a0637ce2ee1u, 0x6d953e2bd7173692u },
|
|
1065
|
+
{ 0xe8111c87c5c1ba99u, 0xc8fa8db6ccdd0437u },
|
|
1066
|
+
{ 0x910ab1d4db9914a0u, 0x1d9c9892400a22a2u },
|
|
1067
|
+
{ 0xb54d5e4a127f59c8u, 0x2503beb6d00cab4bu },
|
|
1068
|
+
{ 0xe2a0b5dc971f303au, 0x2e44ae64840fd61du },
|
|
1069
|
+
{ 0x8da471a9de737e24u, 0x5ceaecfed289e5d2u },
|
|
1070
|
+
{ 0xb10d8e1456105dadu, 0x7425a83e872c5f47u },
|
|
1071
|
+
{ 0xdd50f1996b947518u, 0xd12f124e28f77719u },
|
|
1072
|
+
{ 0x8a5296ffe33cc92fu, 0x82bd6b70d99aaa6fu },
|
|
1073
|
+
{ 0xace73cbfdc0bfb7bu, 0x636cc64d1001550bu },
|
|
1074
|
+
{ 0xd8210befd30efa5au, 0x3c47f7e05401aa4eu },
|
|
1075
|
+
{ 0x8714a775e3e95c78u, 0x65acfaec34810a71u },
|
|
1076
|
+
{ 0xa8d9d1535ce3b396u, 0x7f1839a741a14d0du },
|
|
1077
|
+
{ 0xd31045a8341ca07cu, 0x1ede48111209a050u },
|
|
1078
|
+
{ 0x83ea2b892091e44du, 0x934aed0aab460432u },
|
|
1079
|
+
{ 0xa4e4b66b68b65d60u, 0xf81da84d5617853fu },
|
|
1080
|
+
{ 0xce1de40642e3f4b9u, 0x36251260ab9d668eu },
|
|
1081
|
+
{ 0x80d2ae83e9ce78f3u, 0xc1d72b7c6b426019u },
|
|
1082
|
+
{ 0xa1075a24e4421730u, 0xb24cf65b8612f81fu },
|
|
1083
|
+
{ 0xc94930ae1d529cfcu, 0xdee033f26797b627u },
|
|
1084
|
+
{ 0xfb9b7cd9a4a7443cu, 0x169840ef017da3b1u },
|
|
1085
|
+
{ 0x9d412e0806e88aa5u, 0x8e1f289560ee864eu },
|
|
1086
|
+
{ 0xc491798a08a2ad4eu, 0xf1a6f2bab92a27e2u },
|
|
1087
|
+
{ 0xf5b5d7ec8acb58a2u, 0xae10af696774b1dbu },
|
|
1088
|
+
{ 0x9991a6f3d6bf1765u, 0xacca6da1e0a8ef29u },
|
|
1089
|
+
{ 0xbff610b0cc6edd3fu, 0x17fd090a58d32af3u },
|
|
1090
|
+
{ 0xeff394dcff8a948eu, 0xddfc4b4cef07f5b0u },
|
|
1091
|
+
{ 0x95f83d0a1fb69cd9u, 0x4abdaf101564f98eu },
|
|
1092
|
+
{ 0xbb764c4ca7a4440fu, 0x9d6d1ad41abe37f1u },
|
|
1093
|
+
{ 0xea53df5fd18d5513u, 0x84c86189216dc5edu },
|
|
1094
|
+
{ 0x92746b9be2f8552cu, 0x32fd3cf5b4e49bb4u },
|
|
1095
|
+
{ 0xb7118682dbb66a77u, 0x3fbc8c33221dc2a1u },
|
|
1096
|
+
{ 0xe4d5e82392a40515u, 0x0fabaf3feaa5334au },
|
|
1097
|
+
{ 0x8f05b1163ba6832du, 0x29cb4d87f2a7400eu },
|
|
1098
|
+
{ 0xb2c71d5bca9023f8u, 0x743e20e9ef511012u },
|
|
1099
|
+
{ 0xdf78e4b2bd342cf6u, 0x914da9246b255416u },
|
|
1100
|
+
{ 0x8bab8eefb6409c1au, 0x1ad089b6c2f7548eu },
|
|
1101
|
+
{ 0xae9672aba3d0c320u, 0xa184ac2473b529b1u },
|
|
1102
|
+
{ 0xda3c0f568cc4f3e8u, 0xc9e5d72d90a2741eu },
|
|
1103
|
+
{ 0x8865899617fb1871u, 0x7e2fa67c7a658892u },
|
|
1104
|
+
{ 0xaa7eebfb9df9de8du, 0xddbb901b98feeab7u },
|
|
1105
|
+
{ 0xd51ea6fa85785631u, 0x552a74227f3ea565u },
|
|
1106
|
+
{ 0x8533285c936b35deu, 0xd53a88958f87275fu },
|
|
1107
|
+
{ 0xa67ff273b8460356u, 0x8a892abaf368f137u },
|
|
1108
|
+
{ 0xd01fef10a657842cu, 0x2d2b7569b0432d85u },
|
|
1109
|
+
{ 0x8213f56a67f6b29bu, 0x9c3b29620e29fc73u },
|
|
1110
|
+
{ 0xa298f2c501f45f42u, 0x8349f3ba91b47b8fu },
|
|
1111
|
+
{ 0xcb3f2f7642717713u, 0x241c70a936219a73u },
|
|
1112
|
+
{ 0xfe0efb53d30dd4d7u, 0xed238cd383aa0110u },
|
|
1113
|
+
{ 0x9ec95d1463e8a506u, 0xf4363804324a40aau },
|
|
1114
|
+
{ 0xc67bb4597ce2ce48u, 0xb143c6053edcd0d5u },
|
|
1115
|
+
{ 0xf81aa16fdc1b81dau, 0xdd94b7868e94050au },
|
|
1116
|
+
{ 0x9b10a4e5e9913128u, 0xca7cf2b4191c8326u },
|
|
1117
|
+
{ 0xc1d4ce1f63f57d72u, 0xfd1c2f611f63a3f0u },
|
|
1118
|
+
{ 0xf24a01a73cf2dccfu, 0xbc633b39673c8cecu },
|
|
1119
|
+
{ 0x976e41088617ca01u, 0xd5be0503e085d813u },
|
|
1120
|
+
{ 0xbd49d14aa79dbc82u, 0x4b2d8644d8a74e18u },
|
|
1121
|
+
{ 0xec9c459d51852ba2u, 0xddf8e7d60ed1219eu },
|
|
1122
|
+
{ 0x93e1ab8252f33b45u, 0xcabb90e5c942b503u },
|
|
1123
|
+
{ 0xb8da1662e7b00a17u, 0x3d6a751f3b936243u },
|
|
1124
|
+
{ 0xe7109bfba19c0c9du, 0x0cc512670a783ad4u },
|
|
1125
|
+
{ 0x906a617d450187e2u, 0x27fb2b80668b24c5u },
|
|
1126
|
+
{ 0xb484f9dc9641e9dau, 0xb1f9f660802dedf6u },
|
|
1127
|
+
{ 0xe1a63853bbd26451u, 0x5e7873f8a0396973u },
|
|
1128
|
+
{ 0x8d07e33455637eb2u, 0xdb0b487b6423e1e8u },
|
|
1129
|
+
{ 0xb049dc016abc5e5fu, 0x91ce1a9a3d2cda62u },
|
|
1130
|
+
{ 0xdc5c5301c56b75f7u, 0x7641a140cc7810fbu },
|
|
1131
|
+
{ 0x89b9b3e11b6329bau, 0xa9e904c87fcb0a9du },
|
|
1132
|
+
{ 0xac2820d9623bf429u, 0x546345fa9fbdcd44u },
|
|
1133
|
+
{ 0xd732290fbacaf133u, 0xa97c177947ad4095u },
|
|
1134
|
+
{ 0x867f59a9d4bed6c0u, 0x49ed8eabcccc485du },
|
|
1135
|
+
{ 0xa81f301449ee8c70u, 0x5c68f256bfff5a74u },
|
|
1136
|
+
{ 0xd226fc195c6a2f8cu, 0x73832eec6fff3111u },
|
|
1137
|
+
{ 0x83585d8fd9c25db7u, 0xc831fd53c5ff7eabu },
|
|
1138
|
+
{ 0xa42e74f3d032f525u, 0xba3e7ca8b77f5e55u },
|
|
1139
|
+
{ 0xcd3a1230c43fb26fu, 0x28ce1bd2e55f35ebu },
|
|
1140
|
+
{ 0x80444b5e7aa7cf85u, 0x7980d163cf5b81b3u },
|
|
1141
|
+
{ 0xa0555e361951c366u, 0xd7e105bcc332621fu },
|
|
1142
|
+
{ 0xc86ab5c39fa63440u, 0x8dd9472bf3fefaa7u },
|
|
1143
|
+
{ 0xfa856334878fc150u, 0xb14f98f6f0feb951u },
|
|
1144
|
+
{ 0x9c935e00d4b9d8d2u, 0x6ed1bf9a569f33d3u },
|
|
1145
|
+
{ 0xc3b8358109e84f07u, 0x0a862f80ec4700c8u },
|
|
1146
|
+
{ 0xf4a642e14c6262c8u, 0xcd27bb612758c0fau },
|
|
1147
|
+
{ 0x98e7e9cccfbd7dbdu, 0x8038d51cb897789cu },
|
|
1148
|
+
{ 0xbf21e44003acdd2cu, 0xe0470a63e6bd56c3u },
|
|
1149
|
+
{ 0xeeea5d5004981478u, 0x1858ccfce06cac74u },
|
|
1150
|
+
{ 0x95527a5202df0ccbu, 0x0f37801e0c43ebc8u },
|
|
1151
|
+
{ 0xbaa718e68396cffdu, 0xd30560258f54e6bau },
|
|
1152
|
+
{ 0xe950df20247c83fdu, 0x47c6b82ef32a2069u },
|
|
1153
|
+
{ 0x91d28b7416cdd27eu, 0x4cdc331d57fa5441u },
|
|
1154
|
+
{ 0xb6472e511c81471du, 0xe0133fe4adf8e952u },
|
|
1155
|
+
{ 0xe3d8f9e563a198e5u, 0x58180fddd97723a6u },
|
|
1156
|
+
{ 0x8e679c2f5e44ff8fu, 0x570f09eaa7ea7648u },
|
|
1157
|
+
{ 0xb201833b35d63f73u, 0x2cd2cc6551e513dau },
|
|
1158
|
+
{ 0xde81e40a034bcf4fu, 0xf8077f7ea65e58d1u },
|
|
1159
|
+
{ 0x8b112e86420f6191u, 0xfb04afaf27faf782u },
|
|
1160
|
+
{ 0xadd57a27d29339f6u, 0x79c5db9af1f9b563u },
|
|
1161
|
+
{ 0xd94ad8b1c7380874u, 0x18375281ae7822bcu },
|
|
1162
|
+
{ 0x87cec76f1c830548u, 0x8f2293910d0b15b5u },
|
|
1163
|
+
{ 0xa9c2794ae3a3c69au, 0xb2eb3875504ddb22u },
|
|
1164
|
+
{ 0xd433179d9c8cb841u, 0x5fa60692a46151ebu },
|
|
1165
|
+
{ 0x849feec281d7f328u, 0xdbc7c41ba6bcd333u },
|
|
1166
|
+
{ 0xa5c7ea73224deff3u, 0x12b9b522906c0800u },
|
|
1167
|
+
{ 0xcf39e50feae16befu, 0xd768226b34870a00u },
|
|
1168
|
+
{ 0x81842f29f2cce375u, 0xe6a1158300d46640u },
|
|
1169
|
+
{ 0xa1e53af46f801c53u, 0x60495ae3c1097fd0u },
|
|
1170
|
+
{ 0xca5e89b18b602368u, 0x385bb19cb14bdfc4u },
|
|
1171
|
+
{ 0xfcf62c1dee382c42u, 0x46729e03dd9ed7b5u },
|
|
832
1172
|
};
|
|
833
1173
|
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
{ 0u, 1717986918400000000u },
|
|
844
|
-
{ 0u, 2147483648000000000u },
|
|
845
|
-
{ 0u, 1342177280000000000u },
|
|
846
|
-
{ 0u, 1677721600000000000u },
|
|
847
|
-
{ 0u, 2097152000000000000u },
|
|
848
|
-
{ 0u, 1310720000000000000u },
|
|
849
|
-
{ 0u, 1638400000000000000u },
|
|
850
|
-
{ 0u, 2048000000000000000u },
|
|
851
|
-
{ 0u, 1280000000000000000u },
|
|
852
|
-
{ 0u, 1600000000000000000u },
|
|
853
|
-
{ 0u, 2000000000000000000u },
|
|
854
|
-
{ 0u, 1250000000000000000u },
|
|
855
|
-
{ 0u, 1562500000000000000u },
|
|
856
|
-
{ 0u, 1953125000000000000u },
|
|
857
|
-
{ 0u, 1220703125000000000u },
|
|
858
|
-
{ 0u, 1525878906250000000u },
|
|
859
|
-
{ 0u, 1907348632812500000u },
|
|
860
|
-
{ 0u, 1192092895507812500u },
|
|
861
|
-
{ 0u, 1490116119384765625u },
|
|
862
|
-
{ 4611686018427387904u, 1862645149230957031u },
|
|
863
|
-
{ 9799832789158199296u, 1164153218269348144u },
|
|
864
|
-
{ 12249790986447749120u, 1455191522836685180u },
|
|
865
|
-
{ 15312238733059686400u, 1818989403545856475u },
|
|
866
|
-
{ 14528612397897220096u, 2273736754432320594u },
|
|
867
|
-
{ 13692068767113150464u, 1421085471520200371u },
|
|
868
|
-
{ 12503399940464050176u, 1776356839400250464u },
|
|
869
|
-
{ 15629249925580062720u, 2220446049250313080u },
|
|
870
|
-
{ 9768281203487539200u, 1387778780781445675u },
|
|
871
|
-
{ 7598665485932036096u, 1734723475976807094u },
|
|
872
|
-
{ 274959820560269312u, 2168404344971008868u },
|
|
873
|
-
{ 9395221924704944128u, 1355252715606880542u },
|
|
874
|
-
{ 2520655369026404352u, 1694065894508600678u },
|
|
875
|
-
{ 12374191248137781248u, 2117582368135750847u },
|
|
876
|
-
{ 14651398557727195136u, 1323488980084844279u },
|
|
877
|
-
{ 13702562178731606016u, 1654361225106055349u },
|
|
878
|
-
{ 3293144668132343808u, 2067951531382569187u },
|
|
879
|
-
{ 18199116482078572544u, 1292469707114105741u },
|
|
880
|
-
{ 8913837547316051968u, 1615587133892632177u },
|
|
881
|
-
{ 15753982952572452864u, 2019483917365790221u },
|
|
882
|
-
{ 12152082354571476992u, 1262177448353618888u },
|
|
883
|
-
{ 15190102943214346240u, 1577721810442023610u },
|
|
884
|
-
{ 9764256642163156992u, 1972152263052529513u },
|
|
885
|
-
{ 17631875447420442880u, 1232595164407830945u },
|
|
886
|
-
{ 8204786253993389888u, 1540743955509788682u },
|
|
887
|
-
{ 1032610780636961552u, 1925929944387235853u },
|
|
888
|
-
{ 2951224747111794922u, 1203706215242022408u },
|
|
889
|
-
{ 3689030933889743652u, 1504632769052528010u },
|
|
890
|
-
{ 13834660704216955373u, 1880790961315660012u },
|
|
891
|
-
{ 17870034976990372916u, 1175494350822287507u },
|
|
892
|
-
{ 17725857702810578241u, 1469367938527859384u },
|
|
893
|
-
{ 3710578054803671186u, 1836709923159824231u },
|
|
894
|
-
{ 26536550077201078u, 2295887403949780289u },
|
|
895
|
-
{ 11545800389866720434u, 1434929627468612680u },
|
|
896
|
-
{ 14432250487333400542u, 1793662034335765850u },
|
|
897
|
-
{ 8816941072311974870u, 2242077542919707313u },
|
|
898
|
-
{ 17039803216263454053u, 1401298464324817070u },
|
|
899
|
-
{ 12076381983474541759u, 1751623080406021338u },
|
|
900
|
-
{ 5872105442488401391u, 2189528850507526673u },
|
|
901
|
-
{ 15199280947623720629u, 1368455531567204170u },
|
|
902
|
-
{ 9775729147674874978u, 1710569414459005213u },
|
|
903
|
-
{ 16831347453020981627u, 2138211768073756516u },
|
|
904
|
-
{ 1296220121283337709u, 1336382355046097823u },
|
|
905
|
-
{ 15455333206886335848u, 1670477943807622278u },
|
|
906
|
-
{ 10095794471753144002u, 2088097429759527848u },
|
|
907
|
-
{ 6309871544845715001u, 1305060893599704905u },
|
|
908
|
-
{ 12499025449484531656u, 1631326116999631131u },
|
|
909
|
-
{ 11012095793428276666u, 2039157646249538914u },
|
|
910
|
-
{ 11494245889320060820u, 1274473528905961821u },
|
|
911
|
-
{ 532749306367912313u, 1593091911132452277u },
|
|
912
|
-
{ 5277622651387278295u, 1991364888915565346u },
|
|
913
|
-
{ 7910200175544436838u, 1244603055572228341u },
|
|
914
|
-
{ 14499436237857933952u, 1555753819465285426u },
|
|
915
|
-
{ 8900923260467641632u, 1944692274331606783u },
|
|
916
|
-
{ 12480606065433357876u, 1215432671457254239u },
|
|
917
|
-
{ 10989071563364309441u, 1519290839321567799u },
|
|
918
|
-
{ 9124653435777998898u, 1899113549151959749u },
|
|
919
|
-
{ 8008751406574943263u, 1186945968219974843u },
|
|
920
|
-
{ 5399253239791291175u, 1483682460274968554u },
|
|
921
|
-
{ 15972438586593889776u, 1854603075343710692u },
|
|
922
|
-
{ 759402079766405302u, 1159126922089819183u },
|
|
923
|
-
{ 14784310654990170340u, 1448908652612273978u },
|
|
924
|
-
{ 9257016281882937117u, 1811135815765342473u },
|
|
925
|
-
{ 16182956370781059300u, 2263919769706678091u },
|
|
926
|
-
{ 7808504722524468110u, 1414949856066673807u },
|
|
927
|
-
{ 5148944884728197234u, 1768687320083342259u },
|
|
928
|
-
{ 1824495087482858639u, 2210859150104177824u },
|
|
929
|
-
{ 1140309429676786649u, 1381786968815111140u },
|
|
930
|
-
{ 1425386787095983311u, 1727233711018888925u },
|
|
931
|
-
{ 6393419502297367043u, 2159042138773611156u },
|
|
932
|
-
{ 13219259225790630210u, 1349401336733506972u },
|
|
933
|
-
{ 16524074032238287762u, 1686751670916883715u },
|
|
934
|
-
{ 16043406521870471799u, 2108439588646104644u },
|
|
935
|
-
{ 803757039314269066u, 1317774742903815403u },
|
|
936
|
-
{ 14839754354425000045u, 1647218428629769253u },
|
|
937
|
-
{ 4714634887749086344u, 2059023035787211567u },
|
|
938
|
-
{ 9864175832484260821u, 1286889397367007229u },
|
|
939
|
-
{ 16941905809032713930u, 1608611746708759036u },
|
|
940
|
-
{ 2730638187581340797u, 2010764683385948796u },
|
|
941
|
-
{ 10930020904093113806u, 1256727927116217997u },
|
|
942
|
-
{ 18274212148543780162u, 1570909908895272496u },
|
|
943
|
-
{ 4396021111970173586u, 1963637386119090621u },
|
|
944
|
-
{ 5053356204195052443u, 1227273366324431638u },
|
|
945
|
-
{ 15540067292098591362u, 1534091707905539547u },
|
|
946
|
-
{ 14813398096695851299u, 1917614634881924434u },
|
|
947
|
-
{ 13870059828862294966u, 1198509146801202771u },
|
|
948
|
-
{ 12725888767650480803u, 1498136433501503464u },
|
|
949
|
-
{ 15907360959563101004u, 1872670541876879330u },
|
|
950
|
-
{ 14553786618154326031u, 1170419088673049581u },
|
|
951
|
-
{ 4357175217410743827u, 1463023860841311977u },
|
|
952
|
-
{ 10058155040190817688u, 1828779826051639971u },
|
|
953
|
-
{ 7961007781811134206u, 2285974782564549964u },
|
|
954
|
-
{ 14199001900486734687u, 1428734239102843727u },
|
|
955
|
-
{ 13137066357181030455u, 1785917798878554659u },
|
|
956
|
-
{ 11809646928048900164u, 2232397248598193324u },
|
|
957
|
-
{ 16604401366885338411u, 1395248280373870827u },
|
|
958
|
-
{ 16143815690179285109u, 1744060350467338534u },
|
|
959
|
-
{ 10956397575869330579u, 2180075438084173168u },
|
|
960
|
-
{ 6847748484918331612u, 1362547148802608230u },
|
|
961
|
-
{ 17783057643002690323u, 1703183936003260287u },
|
|
962
|
-
{ 17617136035325974999u, 2128979920004075359u },
|
|
963
|
-
{ 17928239049719816230u, 1330612450002547099u },
|
|
964
|
-
{ 17798612793722382384u, 1663265562503183874u },
|
|
965
|
-
{ 13024893955298202172u, 2079081953128979843u },
|
|
966
|
-
{ 5834715712847682405u, 1299426220705612402u },
|
|
967
|
-
{ 16516766677914378815u, 1624282775882015502u },
|
|
968
|
-
{ 11422586310538197711u, 2030353469852519378u },
|
|
969
|
-
{ 11750802462513761473u, 1268970918657824611u },
|
|
970
|
-
{ 10076817059714813937u, 1586213648322280764u },
|
|
971
|
-
{ 12596021324643517422u, 1982767060402850955u },
|
|
972
|
-
{ 5566670318688504437u, 1239229412751781847u },
|
|
973
|
-
{ 2346651879933242642u, 1549036765939727309u },
|
|
974
|
-
{ 7545000868343941206u, 1936295957424659136u },
|
|
975
|
-
{ 4715625542714963254u, 1210184973390411960u },
|
|
976
|
-
{ 5894531928393704067u, 1512731216738014950u },
|
|
977
|
-
{ 16591536947346905892u, 1890914020922518687u },
|
|
978
|
-
{ 17287239619732898039u, 1181821263076574179u },
|
|
979
|
-
{ 16997363506238734644u, 1477276578845717724u },
|
|
980
|
-
{ 2799960309088866689u, 1846595723557147156u },
|
|
981
|
-
{ 10973347230035317489u, 1154122327223216972u },
|
|
982
|
-
{ 13716684037544146861u, 1442652909029021215u },
|
|
983
|
-
{ 12534169028502795672u, 1803316136286276519u },
|
|
984
|
-
{ 11056025267201106687u, 2254145170357845649u },
|
|
985
|
-
{ 18439230838069161439u, 1408840731473653530u },
|
|
986
|
-
{ 13825666510731675991u, 1761050914342066913u },
|
|
987
|
-
{ 3447025083132431277u, 2201313642927583642u },
|
|
988
|
-
{ 6766076695385157452u, 1375821026829739776u },
|
|
989
|
-
{ 8457595869231446815u, 1719776283537174720u },
|
|
990
|
-
{ 10571994836539308519u, 2149720354421468400u },
|
|
991
|
-
{ 6607496772837067824u, 1343575221513417750u },
|
|
992
|
-
{ 17482743002901110588u, 1679469026891772187u },
|
|
993
|
-
{ 17241742735199000331u, 2099336283614715234u },
|
|
994
|
-
{ 15387775227926763111u, 1312085177259197021u },
|
|
995
|
-
{ 5399660979626290177u, 1640106471573996277u },
|
|
996
|
-
{ 11361262242960250625u, 2050133089467495346u },
|
|
997
|
-
{ 11712474920277544544u, 1281333180917184591u },
|
|
998
|
-
{ 10028907631919542777u, 1601666476146480739u },
|
|
999
|
-
{ 7924448521472040567u, 2002083095183100924u },
|
|
1000
|
-
{ 14176152362774801162u, 1251301934489438077u },
|
|
1001
|
-
{ 3885132398186337741u, 1564127418111797597u },
|
|
1002
|
-
{ 9468101516160310080u, 1955159272639746996u },
|
|
1003
|
-
{ 15140935484454969608u, 1221974545399841872u },
|
|
1004
|
-
{ 479425281859160394u, 1527468181749802341u },
|
|
1005
|
-
{ 5210967620751338397u, 1909335227187252926u },
|
|
1006
|
-
{ 17091912818251750210u, 1193334516992033078u },
|
|
1007
|
-
{ 12141518985959911954u, 1491668146240041348u },
|
|
1008
|
-
{ 15176898732449889943u, 1864585182800051685u },
|
|
1009
|
-
{ 11791404716994875166u, 1165365739250032303u },
|
|
1010
|
-
{ 10127569877816206054u, 1456707174062540379u },
|
|
1011
|
-
{ 8047776328842869663u, 1820883967578175474u },
|
|
1012
|
-
{ 836348374198811271u, 2276104959472719343u },
|
|
1013
|
-
{ 7440246761515338900u, 1422565599670449589u },
|
|
1014
|
-
{ 13911994470321561530u, 1778206999588061986u },
|
|
1015
|
-
{ 8166621051047176104u, 2222758749485077483u },
|
|
1016
|
-
{ 2798295147690791113u, 1389224218428173427u },
|
|
1017
|
-
{ 17332926989895652603u, 1736530273035216783u },
|
|
1018
|
-
{ 17054472718942177850u, 2170662841294020979u },
|
|
1019
|
-
{ 8353202440125167204u, 1356664275808763112u },
|
|
1020
|
-
{ 10441503050156459005u, 1695830344760953890u },
|
|
1021
|
-
{ 3828506775840797949u, 2119787930951192363u },
|
|
1022
|
-
{ 86973725686804766u, 1324867456844495227u },
|
|
1023
|
-
{ 13943775212390669669u, 1656084321055619033u },
|
|
1024
|
-
{ 3594660960206173375u, 2070105401319523792u },
|
|
1025
|
-
{ 2246663100128858359u, 1293815875824702370u },
|
|
1026
|
-
{ 12031700912015848757u, 1617269844780877962u },
|
|
1027
|
-
{ 5816254103165035138u, 2021587305976097453u },
|
|
1028
|
-
{ 5941001823691840913u, 1263492066235060908u },
|
|
1029
|
-
{ 7426252279614801142u, 1579365082793826135u },
|
|
1030
|
-
{ 4671129331091113523u, 1974206353492282669u },
|
|
1031
|
-
{ 5225298841145639904u, 1233878970932676668u },
|
|
1032
|
-
{ 6531623551432049880u, 1542348713665845835u },
|
|
1033
|
-
{ 3552843420862674446u, 1927935892082307294u },
|
|
1034
|
-
{ 16055585193321335241u, 1204959932551442058u },
|
|
1035
|
-
{ 10846109454796893243u, 1506199915689302573u },
|
|
1036
|
-
{ 18169322836923504458u, 1882749894611628216u },
|
|
1037
|
-
{ 11355826773077190286u, 1176718684132267635u },
|
|
1038
|
-
{ 9583097447919099954u, 1470898355165334544u },
|
|
1039
|
-
{ 11978871809898874942u, 1838622943956668180u },
|
|
1040
|
-
{ 14973589762373593678u, 2298278679945835225u },
|
|
1041
|
-
{ 2440964573842414192u, 1436424174966147016u },
|
|
1042
|
-
{ 3051205717303017741u, 1795530218707683770u },
|
|
1043
|
-
{ 13037379183483547984u, 2244412773384604712u },
|
|
1044
|
-
{ 8148361989677217490u, 1402757983365377945u },
|
|
1045
|
-
{ 14797138505523909766u, 1753447479206722431u },
|
|
1046
|
-
{ 13884737113477499304u, 2191809349008403039u },
|
|
1047
|
-
{ 15595489723564518921u, 1369880843130251899u },
|
|
1048
|
-
{ 14882676136028260747u, 1712351053912814874u },
|
|
1049
|
-
{ 9379973133180550126u, 2140438817391018593u },
|
|
1050
|
-
{ 17391698254306313589u, 1337774260869386620u },
|
|
1051
|
-
{ 3292878744173340370u, 1672217826086733276u },
|
|
1052
|
-
{ 4116098430216675462u, 2090272282608416595u },
|
|
1053
|
-
{ 266718509671728212u, 1306420176630260372u },
|
|
1054
|
-
{ 333398137089660265u, 1633025220787825465u },
|
|
1055
|
-
{ 5028433689789463235u, 2041281525984781831u },
|
|
1056
|
-
{ 10060300083759496378u, 1275800953740488644u },
|
|
1057
|
-
{ 12575375104699370472u, 1594751192175610805u },
|
|
1058
|
-
{ 1884160825592049379u, 1993438990219513507u },
|
|
1059
|
-
{ 17318501580490888525u, 1245899368887195941u },
|
|
1060
|
-
{ 7813068920331446945u, 1557374211108994927u },
|
|
1061
|
-
{ 5154650131986920777u, 1946717763886243659u },
|
|
1062
|
-
{ 915813323278131534u, 1216698602428902287u },
|
|
1063
|
-
{ 14979824709379828129u, 1520873253036127858u },
|
|
1064
|
-
{ 9501408849870009354u, 1901091566295159823u },
|
|
1065
|
-
{ 12855909558809837702u, 1188182228934474889u },
|
|
1066
|
-
{ 2234828893230133415u, 1485227786168093612u },
|
|
1067
|
-
{ 2793536116537666769u, 1856534732710117015u },
|
|
1068
|
-
{ 8663489100477123587u, 1160334207943823134u },
|
|
1069
|
-
{ 1605989338741628675u, 1450417759929778918u },
|
|
1070
|
-
{ 11230858710281811652u, 1813022199912223647u },
|
|
1071
|
-
{ 9426887369424876662u, 2266277749890279559u },
|
|
1072
|
-
{ 12809333633531629769u, 1416423593681424724u },
|
|
1073
|
-
{ 16011667041914537212u, 1770529492101780905u },
|
|
1074
|
-
{ 6179525747111007803u, 2213161865127226132u },
|
|
1075
|
-
{ 13085575628799155685u, 1383226165704516332u },
|
|
1076
|
-
{ 16356969535998944606u, 1729032707130645415u },
|
|
1077
|
-
{ 15834525901571292854u, 2161290883913306769u },
|
|
1078
|
-
{ 2979049660840976177u, 1350806802445816731u },
|
|
1079
|
-
{ 17558870131333383934u, 1688508503057270913u },
|
|
1080
|
-
{ 8113529608884566205u, 2110635628821588642u },
|
|
1081
|
-
{ 9682642023980241782u, 1319147268013492901u },
|
|
1082
|
-
{ 16714988548402690132u, 1648934085016866126u },
|
|
1083
|
-
{ 11670363648648586857u, 2061167606271082658u },
|
|
1084
|
-
{ 11905663298832754689u, 1288229753919426661u },
|
|
1085
|
-
{ 1047021068258779650u, 1610287192399283327u },
|
|
1086
|
-
{ 15143834390605638274u, 2012858990499104158u },
|
|
1087
|
-
{ 4853210475701136017u, 1258036869061940099u },
|
|
1088
|
-
{ 1454827076199032118u, 1572546086327425124u },
|
|
1089
|
-
{ 1818533845248790147u, 1965682607909281405u },
|
|
1090
|
-
{ 3442426662494187794u, 1228551629943300878u },
|
|
1091
|
-
{ 13526405364972510550u, 1535689537429126097u },
|
|
1092
|
-
{ 3072948650933474476u, 1919611921786407622u },
|
|
1093
|
-
{ 15755650962115585259u, 1199757451116504763u },
|
|
1094
|
-
{ 15082877684217093670u, 1499696813895630954u },
|
|
1095
|
-
{ 9630225068416591280u, 1874621017369538693u },
|
|
1096
|
-
{ 8324733676974063502u, 1171638135855961683u },
|
|
1097
|
-
{ 5794231077790191473u, 1464547669819952104u },
|
|
1098
|
-
{ 7242788847237739342u, 1830684587274940130u },
|
|
1099
|
-
{ 18276858095901949986u, 2288355734093675162u },
|
|
1100
|
-
{ 16034722328366106645u, 1430222333808546976u },
|
|
1101
|
-
{ 1596658836748081690u, 1787777917260683721u },
|
|
1102
|
-
{ 6607509564362490017u, 2234722396575854651u },
|
|
1103
|
-
{ 1823850468512862308u, 1396701497859909157u },
|
|
1104
|
-
{ 6891499104068465790u, 1745876872324886446u },
|
|
1105
|
-
{ 17837745916940358045u, 2182346090406108057u },
|
|
1106
|
-
{ 4231062170446641922u, 1363966306503817536u },
|
|
1107
|
-
{ 5288827713058302403u, 1704957883129771920u },
|
|
1108
|
-
{ 6611034641322878003u, 2131197353912214900u },
|
|
1109
|
-
{ 13355268687681574560u, 1331998346195134312u },
|
|
1110
|
-
{ 16694085859601968200u, 1664997932743917890u },
|
|
1111
|
-
{ 11644235287647684442u, 2081247415929897363u },
|
|
1112
|
-
{ 4971804045566108824u, 1300779634956185852u },
|
|
1113
|
-
{ 6214755056957636030u, 1625974543695232315u },
|
|
1114
|
-
{ 3156757802769657134u, 2032468179619040394u },
|
|
1115
|
-
{ 6584659645158423613u, 1270292612261900246u },
|
|
1116
|
-
{ 17454196593302805324u, 1587865765327375307u },
|
|
1117
|
-
{ 17206059723201118751u, 1984832206659219134u },
|
|
1118
|
-
{ 6142101308573311315u, 1240520129162011959u },
|
|
1119
|
-
{ 3065940617289251240u, 1550650161452514949u },
|
|
1120
|
-
{ 8444111790038951954u, 1938312701815643686u },
|
|
1121
|
-
{ 665883850346957067u, 1211445438634777304u },
|
|
1122
|
-
{ 832354812933696334u, 1514306798293471630u },
|
|
1123
|
-
{ 10263815553021896226u, 1892883497866839537u },
|
|
1124
|
-
{ 17944099766707154901u, 1183052186166774710u },
|
|
1125
|
-
{ 13206752671529167818u, 1478815232708468388u },
|
|
1126
|
-
{ 16508440839411459773u, 1848519040885585485u },
|
|
1127
|
-
{ 12623618533845856310u, 1155324400553490928u },
|
|
1128
|
-
{ 15779523167307320387u, 1444155500691863660u },
|
|
1129
|
-
{ 1277659885424598868u, 1805194375864829576u },
|
|
1130
|
-
{ 1597074856780748586u, 2256492969831036970u },
|
|
1131
|
-
{ 5609857803915355770u, 1410308106144398106u },
|
|
1132
|
-
{ 16235694291748970521u, 1762885132680497632u },
|
|
1133
|
-
{ 1847873790976661535u, 2203606415850622041u },
|
|
1134
|
-
{ 12684136165428883219u, 1377254009906638775u },
|
|
1135
|
-
{ 11243484188358716120u, 1721567512383298469u },
|
|
1136
|
-
{ 219297180166231438u, 2151959390479123087u },
|
|
1137
|
-
{ 7054589765244976505u, 1344974619049451929u },
|
|
1138
|
-
{ 13429923224983608535u, 1681218273811814911u },
|
|
1139
|
-
{ 12175718012802122765u, 2101522842264768639u },
|
|
1140
|
-
{ 14527352785642408584u, 1313451776415480399u },
|
|
1141
|
-
{ 13547504963625622826u, 1641814720519350499u },
|
|
1142
|
-
{ 12322695186104640628u, 2052268400649188124u },
|
|
1143
|
-
{ 16925056528170176201u, 1282667750405742577u },
|
|
1144
|
-
{ 7321262604930556539u, 1603334688007178222u },
|
|
1145
|
-
{ 18374950293017971482u, 2004168360008972777u },
|
|
1146
|
-
{ 4566814905495150320u, 1252605225005607986u },
|
|
1147
|
-
{ 14931890668723713708u, 1565756531257009982u },
|
|
1148
|
-
{ 9441491299049866327u, 1957195664071262478u },
|
|
1149
|
-
{ 1289246043478778550u, 1223247290044539049u },
|
|
1150
|
-
{ 6223243572775861092u, 1529059112555673811u },
|
|
1151
|
-
{ 3167368447542438461u, 1911323890694592264u },
|
|
1152
|
-
{ 1979605279714024038u, 1194577431684120165u },
|
|
1153
|
-
{ 7086192618069917952u, 1493221789605150206u },
|
|
1154
|
-
{ 18081112809442173248u, 1866527237006437757u },
|
|
1155
|
-
{ 13606538515115052232u, 1166579523129023598u },
|
|
1156
|
-
{ 7784801107039039482u, 1458224403911279498u },
|
|
1157
|
-
{ 507629346944023544u, 1822780504889099373u },
|
|
1158
|
-
{ 5246222702107417334u, 2278475631111374216u },
|
|
1159
|
-
{ 3278889188817135834u, 1424047269444608885u },
|
|
1160
|
-
{ 8710297504448807696u, 1780059086805761106u },
|
|
1161
|
-
};
|
|
1162
|
-
#define NISH_POW5_BITS 125
|
|
1163
|
-
|
|
1164
|
-
static uint32_t nish_pow5bits(int32_t e) { return (uint32_t)(((((uint32_t)e) * 1217359) >> 19) + 1); }
|
|
1165
|
-
static uint32_t nish_log10pow2(int32_t e) { return (((uint32_t)e) * 78913) >> 18; }
|
|
1166
|
-
static uint32_t nish_log10pow5(int32_t e) { return (((uint32_t)e) * 732923) >> 20; }
|
|
1167
|
-
|
|
1168
|
-
/* How many times 5 divides `v`; the trailing-zero tests below are its only users. */
|
|
1169
|
-
static uint32_t nish_pow5factor(uint64_t v) {
|
|
1170
|
-
uint32_t n = 0;
|
|
1171
|
-
for (;;) {
|
|
1172
|
-
uint64_t q = v / 5;
|
|
1173
|
-
if (v - q * 5 != 0) break;
|
|
1174
|
-
v = q; n++;
|
|
1175
|
-
}
|
|
1176
|
-
return n;
|
|
1174
|
+
/* The high 128 bits of the 192-bit product of `x_hi:x_lo` and `y`, dropping
|
|
1175
|
+
the low word's carry exactly as upstream does: the table rounds down, and
|
|
1176
|
+
the error that leaves is what the `+6` below absorbs. */
|
|
1177
|
+
static void nish_umul192_hi128(uint64_t x_hi, uint64_t x_lo, uint64_t y,
|
|
1178
|
+
uint64_t *hi, uint64_t *lo) {
|
|
1179
|
+
__uint128_t p = (__uint128_t)x_hi * y;
|
|
1180
|
+
uint64_t l = (uint64_t)p + (uint64_t)(((__uint128_t)x_lo * y) >> 64);
|
|
1181
|
+
*hi = (uint64_t)(p >> 64) + (l < (uint64_t)p);
|
|
1182
|
+
*lo = l;
|
|
1177
1183
|
}
|
|
1178
1184
|
|
|
1179
|
-
/* (
|
|
1180
|
-
static uint64_t
|
|
1181
|
-
|
|
1182
|
-
__uint128_t b2 = (__uint128_t)m * mul[1];
|
|
1183
|
-
return (uint64_t)(((b0 >> 64) + b2) >> (j - 64));
|
|
1185
|
+
/* (x * y + c) >> 64: one decimal digit off a 64-bit fraction, biased by `c`. */
|
|
1186
|
+
static uint64_t nish_umul128_add_hi64(uint64_t x, uint64_t y, uint64_t c) {
|
|
1187
|
+
return (uint64_t)(((__uint128_t)x * y + c) >> 64);
|
|
1184
1188
|
}
|
|
1185
1189
|
|
|
1186
|
-
/* The shortest digits of a finite, positive
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
static
|
|
1190
|
-
uint64_t bits;
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1190
|
+
/* The shortest digits of a finite, positive double, given as its bits, as an
|
|
1191
|
+
integer `sig` with no trailing zeros and `*exp10` set so the value is
|
|
1192
|
+
`sig * 10^*exp10`. `sig` has 1 to 17 digits. */
|
|
1193
|
+
static uint64_t nish_shortest_digits(uint64_t bits, int *exp10) {
|
|
1194
|
+
uint64_t bin_sig = bits & ((1ull << 52) - 1);
|
|
1195
|
+
int raw_exp = (int)(bits >> 52);
|
|
1196
|
+
/* A power of two has a lower neighbour half as far away as its upper one,
|
|
1197
|
+
so its rounding interval is lopsided ("irregular"). 2^-1022 is the one
|
|
1198
|
+
power that is not: the largest subnormal sits a full ulp below it. V8 and
|
|
1199
|
+
Ryu both treat it as regular, and so does this; upstream does not, which
|
|
1200
|
+
would need one more table row and prints the same digits. */
|
|
1201
|
+
int regular = bin_sig != 0 || raw_exp <= 1;
|
|
1202
|
+
if (raw_exp == 0) raw_exp = 1; /* a subnormal has 2^-1022's spacing */
|
|
1203
|
+
else bin_sig |= 1ull << 52;
|
|
1204
|
+
int bin_exp = raw_exp - 1075;
|
|
1205
|
+
|
|
1206
|
+
/* floor(log10(2^bin_exp)), or of 3/4 of it when irregular, and the shift
|
|
1207
|
+
that puts every exponent's decimal point at the same bit. Scaling by
|
|
1208
|
+
10^(-dec_exp-1) rather than 10^-dec_exp lands on the shorter candidate
|
|
1209
|
+
directly, so the extra digit comes off the fraction, not out of a div10. */
|
|
1210
|
+
int dec_exp = (bin_exp * 315653 - (regular ? 0 : 131072)) >> 20;
|
|
1211
|
+
int shift = bin_exp + ((-(dec_exp + 1) * 217707) >> 16) + 1 + 6;
|
|
1212
|
+
const uint64_t *pow10 = NISH_POW10_SIG[-dec_exp - 1 - NISH_POW10_MIN];
|
|
1213
|
+
uint64_t hi, lo;
|
|
1214
|
+
nish_umul192_hi128(pow10[0], pow10[1], bin_sig << shift, &hi, &lo);
|
|
1215
|
+
uint64_t integral = hi >> 6;
|
|
1216
|
+
uint64_t fractional = (hi << 58) | (lo >> 6);
|
|
1217
|
+
|
|
1218
|
+
/* Half the distance to each neighbour, in the fraction's units. An even
|
|
1219
|
+
significand's interval is closed, which is the round-half-to-even tie
|
|
1220
|
+
rule for reading the digits back. */
|
|
1221
|
+
uint64_t half_ulp = pow10[0] >> (7 - shift);
|
|
1222
|
+
int round_up, round_down;
|
|
1223
|
+
uint64_t digit;
|
|
1224
|
+
if (regular) {
|
|
1225
|
+
half_ulp += 1 - (bin_sig & 1);
|
|
1226
|
+
round_up = fractional + half_ulp < fractional;
|
|
1227
|
+
round_down = half_ulp > fractional;
|
|
1228
|
+
/* The nearest next digit, ties to even: 0.25 is the one fraction whose
|
|
1229
|
+
tenfold is an exact .5 that rounds the wrong way. */
|
|
1230
|
+
digit = nish_umul128_add_hi64(fractional, 10, (1ull << 63) + 6);
|
|
1231
|
+
if (fractional == 1ull << 62) digit = 2;
|
|
1202
1232
|
} else {
|
|
1203
|
-
|
|
1204
|
-
|
|
1233
|
+
round_up = half_ulp > ~0ull - fractional;
|
|
1234
|
+
round_down = (half_ulp >> 1) > fractional;
|
|
1235
|
+
/* The lower neighbour is closer, so the nearest digit may fall below the
|
|
1236
|
+
interval: take the smallest one inside it instead. */
|
|
1237
|
+
digit = nish_umul128_add_hi64(fractional, 10, (1ull << 63) - 1);
|
|
1238
|
+
uint64_t least = nish_umul128_add_hi64(fractional - (half_ulp >> 1), 10, ~0ull);
|
|
1239
|
+
if (digit < least) digit = least;
|
|
1205
1240
|
}
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
uint64_t
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
if (
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
vp = nish_mulshift(mv + 2, NISH_POW5_INV_SPLIT[q], j);
|
|
1220
|
-
vm = nish_mulshift(mv - 1 - mmShift, NISH_POW5_INV_SPLIT[q], j);
|
|
1221
|
-
if (q <= 21) {
|
|
1222
|
-
if (mv % 5 == 0) {
|
|
1223
|
-
vrIsTrailingZeros = nish_pow5factor(mv) >= q;
|
|
1224
|
-
} else if (acceptBounds) {
|
|
1225
|
-
vmIsTrailingZeros = nish_pow5factor(mv - 1 - mmShift) >= q;
|
|
1226
|
-
} else {
|
|
1227
|
-
vp -= nish_pow5factor(mv + 2) >= q;
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
} else {
|
|
1231
|
-
const uint32_t q = nish_log10pow5(-e2) - (-e2 > 1);
|
|
1232
|
-
const int32_t i = -e2 - (int32_t)q;
|
|
1233
|
-
const int32_t k = (int32_t)nish_pow5bits(i) - NISH_POW5_BITS;
|
|
1234
|
-
const int32_t j = (int32_t)q - k;
|
|
1235
|
-
e10 = (int32_t)q + e2;
|
|
1236
|
-
vr = nish_mulshift(mv, NISH_POW5_SPLIT[i], j);
|
|
1237
|
-
vp = nish_mulshift(mv + 2, NISH_POW5_SPLIT[i], j);
|
|
1238
|
-
vm = nish_mulshift(mv - 1 - mmShift, NISH_POW5_SPLIT[i], j);
|
|
1239
|
-
if (q <= 1) {
|
|
1240
|
-
vrIsTrailingZeros = 1;
|
|
1241
|
-
if (acceptBounds) vmIsTrailingZeros = (mmShift == 1);
|
|
1242
|
-
else --vp;
|
|
1243
|
-
} else if (q < 63) {
|
|
1244
|
-
vrIsTrailingZeros = (mv & ((1ull << q) - 1)) == 0;
|
|
1245
|
-
}
|
|
1241
|
+
|
|
1242
|
+
/* When either end of the interval reaches past the shorter candidate, that
|
|
1243
|
+
candidate (rounded toward the end that holds it) is the answer; otherwise
|
|
1244
|
+
it takes one more digit. */
|
|
1245
|
+
uint64_t sig = (integral + round_up) * 10 + (round_up | round_down ? 0 : digit);
|
|
1246
|
+
int e = dec_exp;
|
|
1247
|
+
/* At most 16 trailing zeros: `sig` is below 2^53 * 10 + 10 < 10^17. */
|
|
1248
|
+
if (sig % 10 == 0) {
|
|
1249
|
+
sig /= 10; e += 1;
|
|
1250
|
+
if (sig % 100000000 == 0) { sig /= 100000000; e += 8; }
|
|
1251
|
+
if (sig % 10000 == 0) { sig /= 10000; e += 4; }
|
|
1252
|
+
if (sig % 100 == 0) { sig /= 100; e += 2; }
|
|
1253
|
+
if (sig % 10 == 0) { sig /= 10; e += 1; }
|
|
1246
1254
|
}
|
|
1255
|
+
*exp10 = e;
|
|
1256
|
+
return sig;
|
|
1257
|
+
}
|
|
1247
1258
|
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
++removed;
|
|
1272
|
-
}
|
|
1273
|
-
}
|
|
1274
|
-
/* Round half to even, which is the tie rule ECMAScript states for `s`. */
|
|
1275
|
-
if (vrIsTrailingZeros && lastDigit == 5 && vr % 2 == 0) lastDigit = 4;
|
|
1276
|
-
output = vr + ((vr == vm && (!acceptBounds || !vmIsTrailingZeros)) || lastDigit >= 5);
|
|
1277
|
-
} else {
|
|
1278
|
-
/* The common path (~99.3%): two digits at a time first, then one. */
|
|
1279
|
-
int roundUp = 0;
|
|
1280
|
-
const uint64_t vpDiv100 = vp / 100, vmDiv100 = vm / 100;
|
|
1281
|
-
if (vpDiv100 > vmDiv100) {
|
|
1282
|
-
const uint64_t vrDiv100 = vr / 100;
|
|
1283
|
-
roundUp = (uint32_t)(vr - 100 * vrDiv100) >= 50;
|
|
1284
|
-
vr = vrDiv100; vp = vpDiv100; vm = vmDiv100;
|
|
1285
|
-
removed += 2;
|
|
1286
|
-
}
|
|
1287
|
-
for (;;) {
|
|
1288
|
-
const uint64_t vpDiv10 = vp / 10, vmDiv10 = vm / 10;
|
|
1289
|
-
if (vpDiv10 <= vmDiv10) break;
|
|
1290
|
-
const uint64_t vrDiv10 = vr / 10;
|
|
1291
|
-
roundUp = (uint32_t)(vr - 10 * vrDiv10) >= 5;
|
|
1292
|
-
vr = vrDiv10; vp = vpDiv10; vm = vmDiv10;
|
|
1293
|
-
++removed;
|
|
1294
|
-
}
|
|
1295
|
-
output = vr + (vr == vm || roundUp);
|
|
1259
|
+
/* "00" to "99", so the digits go out two to a lookup and two to a store. */
|
|
1260
|
+
static const char NISH_DIGITS2[200] =
|
|
1261
|
+
"0001020304050607080910111213141516171819"
|
|
1262
|
+
"2021222324252627282930313233343536373839"
|
|
1263
|
+
"4041424344454647484950515253545556575859"
|
|
1264
|
+
"6061626364656667686970717273747576777879"
|
|
1265
|
+
"8081828384858687888990919293949596979899";
|
|
1266
|
+
|
|
1267
|
+
static const uint64_t NISH_POW10_U64[18] = {
|
|
1268
|
+
1ull, 10ull, 100ull, 1000ull, 10000ull, 100000ull, 1000000ull, 10000000ull,
|
|
1269
|
+
100000000ull, 1000000000ull, 10000000000ull, 100000000000ull,
|
|
1270
|
+
1000000000000ull, 10000000000000ull, 100000000000000ull,
|
|
1271
|
+
1000000000000000ull, 10000000000000000ull, 100000000000000000ull,
|
|
1272
|
+
};
|
|
1273
|
+
|
|
1274
|
+
/* The decimal digits of `v` into the bytes just before `end`, as many as it
|
|
1275
|
+
has, written backward a pair at a time. The caller knows the count. */
|
|
1276
|
+
static void nish_put_digits(char *end, uint64_t v) {
|
|
1277
|
+
while (v >= 100) {
|
|
1278
|
+
uint64_t q = v / 100;
|
|
1279
|
+
end -= 2;
|
|
1280
|
+
memcpy(end, NISH_DIGITS2 + 2 * (v - q * 100), 2);
|
|
1281
|
+
v = q;
|
|
1296
1282
|
}
|
|
1283
|
+
if (v >= 10) memcpy(end - 2, NISH_DIGITS2 + 2 * v, 2);
|
|
1284
|
+
else end[-1] = (char)('0' + v);
|
|
1285
|
+
}
|
|
1297
1286
|
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1287
|
+
/* runtime/nish.h and tests/runtime-test.c state the same size; tests/run.js
|
|
1288
|
+
(`f64_format_oracle`) fails if the three disagree. */
|
|
1289
|
+
#define NISH_F64_MAX 32
|
|
1290
|
+
|
|
1291
|
+
/* JS Number#toString: shortest round-trip digits, e-form outside (-6, 21].
|
|
1292
|
+
Writes no NUL and returns the length. The longest output is 25 bytes,
|
|
1293
|
+
-0.0000012345678901234567: a sign, "0.", five zeros and seventeen digits.
|
|
1294
|
+
Every other layout is shorter: 22 for a 21-digit integer and its sign, 24
|
|
1295
|
+
for -1.2345678901234567e-308, 9 for -Infinity. No layout writes scratch
|
|
1296
|
+
past its own final length. */
|
|
1297
|
+
int nish_f64_format(double v, char out[NISH_F64_MAX]) {
|
|
1298
|
+
uint64_t bits;
|
|
1299
|
+
char *o = out;
|
|
1300
|
+
memcpy(&bits, &v, 8);
|
|
1301
|
+
if ((bits << 1) >> 53 == 0x7ff) {
|
|
1302
|
+
if (bits << 12) { memcpy(o, "NaN", 3); return 3; }
|
|
1303
|
+
if (bits >> 63) *o++ = '-';
|
|
1304
|
+
memcpy(o, "Infinity", 8);
|
|
1305
|
+
return (int)(o - out) + 8;
|
|
1306
|
+
}
|
|
1307
|
+
if ((bits << 1) == 0) { *o = '0'; return 1; } /* -0 prints as 0 */
|
|
1308
|
+
if (bits >> 63) *o++ = '-';
|
|
1309
|
+
|
|
1310
|
+
int e;
|
|
1311
|
+
uint64_t sig = nish_shortest_digits(bits & ~(1ull << 63), &e);
|
|
1312
|
+
/* The digit count: 1233 / 4096 is log10(2) from below, which can only be
|
|
1313
|
+
one short, and the table settles it. */
|
|
1314
|
+
int k = ((64 - __builtin_clzll(sig)) * 1233) >> 12;
|
|
1315
|
+
k += sig >= NISH_POW10_U64[k];
|
|
1316
|
+
int n = k + e; /* value = 0.<digits> * 10^n */
|
|
1317
|
+
|
|
1318
|
+
if (n > 21 || n <= -6) {
|
|
1319
|
+
/* d.ddde+x: the digits one byte right, then the first moved left past
|
|
1320
|
+
where the point goes. */
|
|
1321
|
+
nish_put_digits(o + 1 + k, sig);
|
|
1322
|
+
o[0] = o[1];
|
|
1323
|
+
if (k > 1) { o[1] = '.'; o += k + 1; }
|
|
1324
|
+
else o += 1;
|
|
1325
|
+
int x = n - 1;
|
|
1326
|
+
*o++ = 'e';
|
|
1327
|
+
*o++ = x < 0 ? '-' : '+';
|
|
1328
|
+
if (x < 0) x = -x;
|
|
1329
|
+
if (x >= 100) { *o++ = (char)('0' + x / 100); x %= 100; memcpy(o, NISH_DIGITS2 + 2 * x, 2); o += 2; }
|
|
1330
|
+
else if (x >= 10) { memcpy(o, NISH_DIGITS2 + 2 * x, 2); o += 2; }
|
|
1331
|
+
else *o++ = (char)('0' + x);
|
|
1332
|
+
} else if (n <= 0) {
|
|
1333
|
+
o[0] = '0'; o[1] = '.';
|
|
1334
|
+
memset(o + 2, '0', (size_t)-n);
|
|
1335
|
+
o += 2 - n;
|
|
1336
|
+
nish_put_digits(o + k, sig);
|
|
1337
|
+
o += k;
|
|
1338
|
+
} else if (n >= k) {
|
|
1339
|
+
nish_put_digits(o + k, sig);
|
|
1340
|
+
memset(o + k, '0', (size_t)(n - k));
|
|
1341
|
+
o += n;
|
|
1342
|
+
} else {
|
|
1343
|
+
/* The integer part shifts left one byte to open the point's slot. */
|
|
1344
|
+
nish_put_digits(o + 1 + k, sig);
|
|
1345
|
+
memmove(o, o + 1, (size_t)n);
|
|
1346
|
+
o[n] = '.';
|
|
1347
|
+
o += k + 1;
|
|
1348
|
+
}
|
|
1349
|
+
return (int)(o - out);
|
|
1304
1350
|
}
|
|
1305
1351
|
|
|
1306
|
-
/* JS Number#toString: shortest round-trip digits, e-form outside (-6, 21] */
|
|
1307
1352
|
nish_str *nish_str_from_f64(double v) {
|
|
1308
|
-
char
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1353
|
+
char out[NISH_F64_MAX];
|
|
1354
|
+
return nish_str_new(out, (uint64_t)nish_f64_format(v, out));
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
/* `JsonWriter.f64`'s digits straight into the writer's buffer (std/json.ts,
|
|
1358
|
+
`jsonPutF64Walk`; the emitter makes the call, src/kernels.ts): `v`'s
|
|
1359
|
+
spelling at `buf[at]`, all of it or none. Answers the new end, or -1 when
|
|
1360
|
+
`at` is negative or the bytes do not fit before `len`, and then writes
|
|
1361
|
+
nothing, as `jsonWriterPutText` does. `len` is the array's length as the
|
|
1362
|
+
Nish code's `toI32` reads it, which is never more than the array holds; the
|
|
1363
|
+
comparison is in 64 bits, so no `len` or `at` wraps it. */
|
|
1364
|
+
int32_t nish_json_put_f64(uint8_t *buf, int32_t len, int32_t at, double v) {
|
|
1365
|
+
char out[NISH_F64_MAX];
|
|
1366
|
+
int n = nish_f64_format(v, out);
|
|
1367
|
+
if (at < 0 || (int64_t)at > (int64_t)len - n) return -1;
|
|
1368
|
+
memcpy(buf + at, out, (size_t)n);
|
|
1369
|
+
return at + n;
|
|
1324
1370
|
}
|
|
1325
1371
|
|
|
1326
1372
|
/* ---- Math.random: xorshift64*, seeded lazily from time and pid. The shifts
|