-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathindex.html
2477 lines (2471 loc) · 217 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
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
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<title>Eternal Notations</title>
<link rel="stylesheet" href="index.css">
<link rel="stylesheet" href="eternal_notations_images/dominoes.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="text-align: center">
<div id="header_logo_div">
<img id="header_logo_img" src="eternal_notations_images/eternal_notations header logo.png" style="text-align: center;width:20em;height: auto">
</div>
<div id="beneath_explanation">
<p>
Any box with sharp edges here can be clicked to pull up an explanation box. The purple boxes contain general
information about Eternal Notations, the blue boxes contain explanations of specific notations. (That being said,
if you're mathematically inclined, you may enjoy trying to figure out how some of these notations work before
you read their explanations!). The source code for Eternal Notations can be found
<a href="https://github.com/MathCookie17/Eternal-Notations">on GitHub</a>.
</p>
<div id="information_line">
<div id="group_explainEternalNotations" class="information_group">
<p id="display_explainEternalNotations">What is Eternal Notations?</p>
</div>
<div id="group_explainTetration" class="information_group">
<p id="display_explainTetration">What is Tetration?</p>
</div>
<div id="group_explainEnterNumber" class="information_group">
<p id="display_explainEnterNumber">How to Enter Large Numbers</p>
</div>
</div>
<p>Type a number into this text box and see what it looks like in all sorts of different notations!</p>
<div id="number_input_div"><form id="number_input_form"><input type="text" id="number_input" style="font-size:1.2em"></form></div>
<div id="all_displays">
<div id="group_default" class="notation_group">
<p id="display_Default" class="notation_display">Default:</p>
</div>
<div id="group_scientific" class="notation_group">
<p id="display_Scientific" class="notation_display">Scientific:</p>
</div>
<div id="group_engineering" class="notation_group">
<p id="display_Engineering" class="notation_display">Engineering:</p>
</div>
<div id="group_logarithm" class="notation_group">
<p id="display_Logarithm" class="notation_display">Logarithm:</p>
</div>
<div id="group_hyperscientific" class="notation_group">
<p id="display_Hyperscientific" class="notation_display">Hyperscientific:</p>
<p id="display_PowerTower" class="notation_display">Power Tower:</p>
</div>
<div id="group_superLogarithm" class="notation_group">
<p id="display_SuperLogarithm" class="notation_display">Super-Logarithm:</p>
</div>
<div id="group_pentation" class="notation_group">
<p id="display_PentaScientific" class="notation_display">Penta-Scientific:</p>
<p id="display_PentaLogarithm" class="notation_display">Penta-Logarithm:</p>
</div>
<div id="group_naturalLogarithms" class="notation_group">
<p id="display_NaturalLogarithm" class="notation_display">Natural Logarithm:</p>
<p id="display_NaturalSuperLogarithm" class="notation_display">Natural Super-Logarithm:</p>
<p id="display_NaturalPentaLogarithm" class="notation_display">Natural Penta-Logarithm:</p>
</div>
<div id="group_doubleLogarithm" class="notation_group">
<p id="display_DoubleLogarithm" class="notation_display">Double Logarithm:</p>
</div>
<div id="group_binary" class="notation_group">
<p id="display_Binary" class="notation_display">Binary:</p>
<p id="display_BinaryIL" class="notation_display">Binary (ı, l):</p>
</div>
<div id="group_ternary" class="notation_group">
<p id="display_Ternary" class="notation_display">Ternary:</p>
</div>
<div id="group_quaternary" class="notation_group">
<p id="display_Quaternary" class="notation_display">Quaternary:</p>
</div>
<div id="group_seximal" class="notation_group">
<p id="display_Seximal" class="notation_display">Seximal:</p>
</div>
<div id="group_octal" class="notation_group">
<p id="display_Octal" class="notation_display">Octal:</p>
</div>
<div id="group_dozenal" class="notation_group">
<p id="display_Duodecimal" class="notation_display">Duodecimal:</p>
<p id="display_DozenalXE" class="notation_display">Dozenal (X, E):</p>
<p id="display_Dozenal23" class="notation_display">Dozenal (↊, ↋):</p>
</div>
<div id="group_hexadecimal" class="notation_group">
<p id="display_Hexadecimal" class="notation_display">Hexadecimal:</p>
</div>
<div id="group_balancedTernary" class="notation_group">
<p id="display_BalancedTernary" class="notation_display">Balanced Ternary:</p>
</div>
<div id="group_bijectiveDecimal" class="notation_group">
<p id="display_BijectiveDecimal" class="notation_display">Bijective Decimal:</p>
</div>
<div id="group_standard" class="notation_group">
<p id="display_Standard" class="notation_display">Standard:</p>
<p id="display_ADStandard" class="notation_display">AD Standard:</p>
<p id="display_AarexStandard" class="notation_display">Aarex Standard:</p>
</div>
<div id="group_longScale" class="notation_group">
<p id="display_LongScale" class="notation_display">Long Scale:</p>
<p id="display_ADLongScale" class="notation_display">AD Long Scale:</p>
<p id="display_AarexLongScale" class="notation_display">Aarex Long Scale:</p>
</div>
<div id="group_mixedScientific" class="notation_group">
<p id="display_MixedScientific" class="notation_display">Mixed Scientific:</p>
<p id="display_ADMixedScientific" class="notation_display">AD Mixed Scientific:</p>
<p id="display_AarexMixedScientific" class="notation_display">Aarex Mixed Scientific:</p>
<p id="display_MixedScientificLongScale" class="notation_display">Mixed Scientific (Long Scale):</p>
<p id="display_ADMixedScientificLongScale" class="notation_display">AD Mixed Scientific (Long Scale):</p>
<p id="display_AarexMixedScientificLongScale" class="notation_display">Aarex Mixed Scientific (Long Scale):</p>
</div>
<div id="group_letters" class="notation_group">
<p id="display_Letters" class="notation_display">Letters:</p>
</div>
<div id="group_alphabet" class="notation_group">
<p id="display_Alphabet" class="notation_display">Alphabet:</p>
</div>
<div id="group_greekLetters" class="notation_group">
<p id="display_GreekLetters" class="notation_display">Greek Letters:</p>
<p id="display_GreekAlphabet" class="notation_display">Greek Alphabet:</p>
<p id="display_ADGreekLetters" class="notation_display">AD Greek Letters:</p>
</div>
<div id="group_emoji" class="notation_group">
<p id="display_Emoji" class="notation_display">Emoji:</p>
<p id="display_EmojiAlphabet" class="notation_display">Emoji Alphabet:</p>
</div>
<div id="group_xyz" class="notation_group">
<p id="display_XYZ" class="notation_display">XYZ:</p>
</div>
<div id="group_elementLetters" class="notation_group">
<p id="display_ElementLetters" class="notation_display">Element Letters:</p>
</div>
<div id="group_roman" class="notation_group">
<p id="display_RomanNumerals" class="notation_display">Roman Numerals:</p>
<p id="display_ADRoman" class="notation_display">AD Roman:</p>
</div>
<div id="group_septecoman" class="notation_group">
<p id="display_Septecoman" class="notation_display">Septecoman:</p>
</div>
<div id="group_si" class="notation_group">
<p id="display_SI" class="notation_display">SI:</p>
<p id="display_SIWritten" class="notation_display">SI (Written):</p>
</div>
<div id="group_mixedsi" class="notation_group">
<p id="display_MixedSI" class="notation_display">Mixed SI:</p>
</div>
<div id="group_binarySi" class="notation_group">
<p id="display_BinarySI" class="notation_display">Binary SI:</p>
<p id="display_BinarySIWritten" class="notation_display">Binary SI (Written):</p>
</div>
<div id="group_combinedD" class="notation_group">
<p id="display_CombinedD" class="notation_display">Combined-D:</p>
</div>
<div id="group_hyperSi" class="notation_group">
<p id="display_HyperSI" class="notation_display">Hyper-SI:</p>
<p id="display_HyperSIWritten" class="notation_display">Hyper-SI (Written):</p>
</div>
<div id="group_sandcastleBuilder" class="notation_group">
<p id="display_SandcastleBuilder" class="notation_display">Sandcastle Builder:</p>
<p id="display_SandcastleBuilderWritten" class="notation_display">Sandcastle Builder (Written):</p>
</div>
<div id="group_cookieFonsterExtendedSI" class="notation_group">
<p id="display_CookieFonsterExtendedSI" class="notation_display">Cookie Fonster's Extended SI Prefixes:</p>
</div>
<div id="group_fraction" class="notation_group">
<p id="display_LooseFraction" class="notation_display">Fraction (Loose):</p>
<p id="display_MediumFraction" class="notation_display">Fraction (Medium):</p>
<p id="display_PreciseFraction" class="notation_display">Fraction (Precise):</p>
<p id="display_LooseMixedNumber" class="notation_display">Mixed Number (Loose):</p>
<p id="display_MediumMixedNumber" class="notation_display">Mixed Number (Medium):</p>
<p id="display_PreciseMixedNumber" class="notation_display">Mixed Number (Precise):</p>
</div>
<div id="group_letterDigits" class="notation_group">
<p id="display_LetterDigits" class="notation_display">Letter Digits:</p>
<p id="display_AlphabetDigits" class="notation_display">Alphabet Digits:</p>
</div>
<div id="group_myriad" class="notation_group">
<p id="display_Myriad" class="notation_display">Myriad:</p>
<p id="display_ADMyriad" class="notation_display">AD Myriad:</p>
<p id="display_AarexMyriad" class="notation_display">Aarex Myriad:</p>
</div>
<div id="group_doubleBinary" class="notation_group">
<p id="display_DoubleBinaryNames" class="notation_display">Double Binary:</p>
<p id="display_DoubleBinaryPrefixes" class="notation_display">Double Binary Prefixes:</p>
</div>
<div id="group_alphaquint" class="notation_group">
<p id="display_Alphaquint" class="notation_display">Alphaquint:</p>
</div>
<div id="group_hypersplit" class="notation_group">
<p id="display_Hypersplit" class="notation_display">Hypersplit:</p>
<p id="display_HypersplitBase3" class="notation_display">Hypersplit (Base 3):</p>
<p id="display_HypersplitBase2" class="notation_display">Hypersplit (Base 2):</p>
</div>
<div id="group_hyperE" class="notation_group">
<p id="display_HyperE" class="notation_display">Hyper-E:</p>
</div>
<div id="group_infinity" class="notation_group">
<p id="display_Infinity" class="notation_display">Infinity:</p>
</div>
<div id="group_eternity" class="notation_group">
<p id="display_Eternity" class="notation_display">Eternity:</p>
</div>
<div id="group_brackets" class="notation_group">
<p id="display_Brackets" class="notation_display">Brackets:</p>
</div>
<div id="group_simplifiedWritten" class="notation_group">
<p id="display_SimplifiedWritten" class="notation_display">Simplified Written:</p>
</div>
<div id="group_dots" class="notation_group">
<p id="display_Dots" class="notation_display">Dots:</p>
</div>
<div id="group_hearts" class="notation_group">
<p id="display_Hearts" class="notation_display">Hearts:</p>
</div>
<div id="group_dominoes" class="notation_group">
<p id="display_Dominoes" class="notation_display">Dominoes:</p>
<p id="display_ColoredDominoes6" class="notation_display">Colored Dominoes (Double-6):</p>
<p id="display_ColoredDominoes9" class="notation_display">Colored Dominoes (Double-9):</p>
<p id="display_ColoredDominoes12" class="notation_display">Colored Dominoes (Double-12):</p>
<p id="display_ColoredDominoes15" class="notation_display">Colored Dominoes (Double-15):</p>
<p id="display_ColoredDominoes18" class="notation_display">Colored Dominoes (Double-18):</p>
</div>
<div id="group_factorial" class="notation_group">
<p id="display_Factorial" class="notation_display">Factorial:</p>
</div>
<div id="group_factorialAmount" class="notation_group">
<p id="display_FactorialAmount" class="notation_display">Factorial Amount:</p>
</div>
<div id="group_factorialScientific" class="notation_group">
<p id="display_FactorialScientific" class="notation_display">Factorial Scientific:</p>
</div>
<div id="group_factorialHyperscientific" class="notation_group">
<p id="display_FactorialHyperscientific" class="notation_display">Factorial Hyperscientific:</p>
</div>
<div id="group_factoradic" class="notation_group">
<p id="display_Factoradic" class="notation_display">Factoradic:</p>
</div>
<div id="group_root" class="notation_group">
<p id="display_SquareRoot" class="notation_display">Square Root:</p>
<p id="display_CubeRoot" class="notation_display">Cube Root:</p>
<p id="display_IncreasingRoot" class="notation_display">Increasing Root:</p>
</div>
<div id="group_superRoot" class="notation_group">
<p id="display_SuperSquareRoot" class="notation_display">Super Square Root:</p>
<p id="display_Tritetrated" class="notation_display">Tritetrated:</p>
<p id="display_IncreasingSuperRoot" class="notation_display">Increasing Super Root:</p>
</div>
<div id="group_pentaRoot" class="notation_group">
<p id="display_PentaSquareRoot" class="notation_display">Penta Square Root:</p>
<p id="display_Tripentated" class="notation_display">Tripentated:</p>
</div>
<div id="group_weakHyperscientific" class="notation_group">
<p id="display_WeakHyperscientific" class="notation_display">Weak Hyperscientific:</p>
</div>
<div id="group_superSquareScientific" class="notation_group">
<p id="display_SuperSquareScientific" class="notation_display">Super Square Scientific:</p>
</div>
<div id="group_exponentTower" class="notation_group">
<p id="display_ExponentTower" class="notation_display">Exponent Tower:</p>
<p id="display_ExponentTowerK" class="notation_display">Exponent Tower K:</p>
</div>
<div id="group_prime" class="notation_group">
<p id="display_Prime" class="notation_display">Prime:</p>
</div>
<div id="group_psiDash" class="notation_group">
<p id="display_PsiLetters" class="notation_display">Psi Letters:</p>
<p id="display_PsiDash" class="notation_display">Psi Dash:</p>
<p id="display_PsiLettersBinary" class="notation_display">Psi Letters (Binary):</p>
<p id="display_PsiDashBinary" class="notation_display">Psi Dash (Binary):</p>
</div>
<div id="group_FGH" class="notation_group">
<p id="display_FastGrowingHierarchy" class="notation_display">Fast-Growing Hierarchy:</p>
<p id="display_HardyHierarchy" class="notation_display">Hardy Hierarchy:</p>
</div>
<div id="group_omegaLayers" class="notation_group">
<p id="display_OmegaLayers" class="notation_display">Omega Layers:</p>
<p id="display_OmegaLayersRamped" class="notation_display">Omega Layers (Ramped):</p>
<p id="display_OmegaLayerNumber" class="notation_display">Omega Layer Number:</p>
</div>
<div id="group_increasingOperator" class="notation_group">
<p id="display_IncreasingOperator" class="notation_display">Increasing Operator:</p>
<p id="display_IncreasingOperatorBase2" class="notation_display">Increasing Operator (Base 2):</p>
<p id="display_IncreasingOperatorBase3" class="notation_display">Increasing Operator (Base 3):</p>
</div>
<div id="group_omega" class="notation_group">
<p id="display_Omega" class="notation_display">Omega:</p>
<p id="display_OmegaShort" class="notation_display">Omega (Short):</p>
</div>
<div id="group_fours" class="notation_group">
<p id="display_Fours" class="notation_display">Fours:</p>
</div>
<div id="group_polygonal" class="notation_group">
<p id="display_Triangular" class="notation_display">Triangular:</p>
<p id="display_Square" class="notation_display">Square:</p>
</div>
<div id="group_doubleFactorials" class="notation_group">
<p id="display_DoubleFactorials" class="notation_display">Double Factorials:</p>
<p id="display_TritetratedProduct" class="notation_display">Tritetrated Product:</p>
</div>
<div id="group_grid" class="notation_group">
<p id="display_Grid" class="notation_display">Grid:</p>
</div>
<div id="group_tetrationFloat" class="notation_group">
<p id="display_TetrationFloat" class="notation_display">Tetration Float:</p>
</div>
<div id="group_polynomial" class="notation_group">
<p id="display_Polynomial10" class="notation_display">Polynomial (x = 10):</p>
<p id="display_Polynomial2" class="notation_display">Polynomial (x = 2):</p>
<p id="display_Polynomial3" class="notation_display">Polynomial (x = 3):</p>
<p id="display_RationalFunction10" class="notation_display">Rational Function (x = 10):</p>
<p id="display_RationalFunction2" class="notation_display">Rational Function (x = 2):</p>
<p id="display_RationalFunction3" class="notation_display">Rational Function (x = 3):</p>
</div>
<div id="group_polynomialFractionalBases" class="notation_group">
<p id="display_BaseThreeHalves" class="notation_display">Base 1.5:</p>
<p id="display_BasePhi" class="notation_display">Base phi:</p>
<p id="display_BaseE" class="notation_display">Base e:</p>
<p id="display_BasePi" class="notation_display">Base pi:</p>
</div>
<div id="group_parentheses" class="notation_group">
<p id="display_Parentheses" class="notation_display">Parentheses:</p>
</div>
<div id="group_omegaMetaZero" class="notation_group">
<p id="display_OmegaMetaZero" class="notation_display">Omega Meta Zero:</p>
<p id="display_OmegaMetaZeroAlphaAmount" class="notation_display">Omega Meta Zero (Alpha Amount):</p>
</div>
<div id="group_fillingFractions" class="notation_group">
<p id="display_FillingFractions" class="notation_display">Filling Fractions:</p>
</div>
<div id="group_blind" class="notation_group">
<p id="display_Blind" class="notation_display">Blind:</p>
</div>
<div id="group_powersOfOne" class="notation_group">
<p id="display_PowersOfOne" class="notation_display">Powers of One:</p>
</div>
<div id="group_physicalScale" class="notation_group">
<p id="display_physicalScale" class="notation_display"></p>
</div>
</div>
<a id="homepage_return" class="hover_grow" href="https://mathcookie17.github.io">Return to Website Homepage</a>
</div>
<div id="all_explanations">
<div id="explanation_explainEternalNotations" class="information_box">
<h2>What is Eternal Notations?</h2>
<p>
Eternal Notations is a code library that takes large numbers and abbreviates them in various "notations",
designed to be used alongside break_eternity.js in incremental games made in JavaScript.
The source code for the library, along with documentation on how to use it as a library, can be found on
<a href="https://github.com/MathCookie17/Eternal-Notations">GitHub</a>, but if you're just interested in
seeing the notations in action, then that's what this webpage is for.
</p>
<p>
For a more detailed explanation, we'll need to have a little history lesson. Incremental games are typically
made in languages like JavaScript that use "double-precision floating point numbers"; these numbers
cannot go above 2<sup>1024</sup>, a number which is around 1.79 * 10<sup>308</sup>, which for most purposes
is more than high enough, but for incremental games (where the whole point is to make the numbers go up
really fast), that might not be enough. To allow for numbers beyond this limit, developers created
large number libraries; while large number libraries existed beforehand, the first one that was
specifically created with incremental games in mind was
<a href="https://github.com/Patashu/break_infinity.js">break_infinity.js</a>, which can go up to
10<sup>2<sup>1024</sup></sup>, which is around 10<sup>10<sup>308</sup></sup>. This library was first used by
the popular incremental game <a href="https://ivark.github.io/AntimatterDimensions/">Antimatter Dimensions</a>,
which included several different ways of abbreviating large numbers. Later on,
<a href="https://github.com/antimatter-dimensions/notations">AD Notations</a>, a library that
lets you use all these notations for yourself, was released - you can try out those notations
<a href="https://antimatter-dimensions.github.io/notations/">here</a>.
<br>
However, even break_infinity.js didn't go far enough for some people, so
<a href="https://github.com/Patashu/break_eternity.js">break_eternity.js</a> was released, which goes up
to 10↑↑(2<sup>1024</sup>) - that's 10^10^10^10...^10 with 2<sup>1024</sup> 10s.
(That double up-arrow denotes <i>tetration</i> - more on that in the "What is Tetration?" box). There are
libraries that go to even higher numbers, like <a href="https://github.com/Naruyoko/OmegaNum.js">OmegaNum.js</a>,
but those libraries are missing features that I'd consider fundamental to working with numbers that large,
so break_eternity.js is the largest number library that's really feature-complete. However, what break_eternity
did not have was a corresponding notation library...
</p>
<p>
...and that's where I (MathCookie, the creator of Eternal Notations) come in. Years ago, I made
<a href="https://scratch.mit.edu/projects/342132531/">MathCookie's Large Number Abbreviator</a>,
a Scratch project that abbreviates numbers up to 10<sup>10<sup>10<sup>308</sup></sup></sup> in many
different notations, including some from AD Notations, some from other places, and some I made myself.
However, since this was a Scratch project and not a code library, it couldn't be integrated into other projects -
all it could do was be used to demonstrate the notations, it couldn't be plugged into incremental games.
Since making that project, I've planned to someday remake it in a "real" coding language and extend it to
tetrational-level numbers, which inevitably meant it would be made to go along with break_eternity.js.
</p>
<p>
And now, here we are. Eternal Notations is sort of a sequel to AD Notations: AD Notations is a library that's
used alongside break_infinity.js to abbreviate large numbers in many different notations, Eternal Notations
is a library that's used alongside break_eternity.js to abbreviate even larger numbers in even more
different notations. While not every notation from AD Notations is included here (some didn't have a clear
way to extend them to the tetrational range), almost all of the notations included in my Large Number
Abbreviator have been included here, as well as many new notations that weren't in either of those two.
</p>
</div>
<div id="explanation_explainTetration" class="information_box">
<h2>What is Tetration?</h2>
<p>
Addition (x + y) is one of the first mathematical operations you learn in school,
and soon afterwards you learn about multiplication (x * y), which is defined as repeated addition.
Then, several years later, exponentiation (officially written as x<sup>y</sup>, but often x^y is used instead),
which is repeated multiplication, is introduced... and that's as far as it usually goes.
Addition, multiplication, and exponentiation are the first three <i>hyperoperators</i>,
a sequence of operations where each operator is the repetition of the previous one... and the sequence doesn't have to stop at three.
</p>
<p>
<i>Tetration</i> is the fourth hyperoperator, which means it's repeated exponentiation.
Tetration can be written in several ways: <sup>y</sup>x, x^^y, or x↑↑y are all options.
x↑↑y is defined as x^x^x^x...^x with y x's in that "power tower": for example, 10↑↑3 means
10^10^10, and 3↑↑6 means 3^3^3^3^3^3.
<br>
Tetration grows fast. <i>Incomprehensibly</i> fast. Let's use a base of 2 to demonstrate this:
</p>
<ul>
<li>2↑↑1 is just 2.</li>
<li>2↑↑2 is 2^2, which is 4.</li>
<li>2↑↑3 is 2^2^2. Power towers are evaluated top-down, so this is 2^(2^2) = 2^4 = 16.</li>
<li>2↑↑4 is 2^2^2^2 = 2^2^4 = 2^16 = 65,536.</li>
<li>2↑↑5 is 2^2^2^2^2 = 2^2^2^4 = 2^2^16 = 2^65,536, which is a number with 19,729 digits.</li>
<li>2↑↑6 is 2^2^2^2^2^2, which ends up equalling 2^(2↑↑5). This number has around 2↑↑5 digits,
meaning its <i>amount of digits</i> itself has thousands of digits.
</li>
<li>2↑↑7 is 2^2^2^2^2^2^2, which equals 2^(2↑↑6). This number has around 2↑↑6 digits.
</li>
</ul>
<p>
...and so on. Tetration quickly shoots off into numbers that are far, far too large to have any physical meaning,
which is probably why it's not taught in schools like the first three are.
</p>
<p>
Unlike with the first few operators, there's no agreed-upon definition for what should happen when the height of a
power tower is not a whole number, so what would, say, 10↑↑4.5 mean?
Eternal Notations handles fractional-height tetration using the "linear approximation":
x↑↑y, where y is not a whole number, means x^x^x...^x^frac(y), where there are ceiling(y) 10s in that
power tower. (ceiling(y) means "the closest whole number to y that's above y" and frac(y) means "the fractional part
of y", i.e. y mod 1). For example, 10↑↑4.5 is 10^10^10^10^10^0.5, as ceiling(4.5) is 5 and frac(4.5) is 0.5.
</p>
</div>
<div id="explanation_explainEnterNumber" class="information_box">
<h2>How to Enter Large Numbers</h2>
<p>
Eternal Notations supports very, very large numbers, so how do you enter those large numbers in the
text box? Here are some supported formats: (In the examples below, x, y, and z are numbers)
<ul>
<li>
Obviously, smaller numbers can just be entered directly: writing "5" in the textbox (without the quotes)
will indeed enter the number 5 into the notations.
</li>
<li>
xey means x * 10^y: for example, 2e5 is 200,000, and 1e20 is 1 * 10<sup>20</sup>.
You can choose to omit the x, which will make it default to 1: for example,
e100 means 10<sup>100</sup>.
</li>
<li>
Multiple e's can be included, such as 1e2e3 (which means 1 * 10<sup>2 * 10<sup>3</sup></sup>),
eee50 (which means 10^10^10^50), or ee4e7 (which means 10^10^(4 * 10^7)).
</li>
<li>
For really big numbers, instead of writing a bunch of e's, you can write them in (e^z) form:
for example, (e^12) 8.5e6 means eeeeeeeeeeee8.5e6 (that's 12 e's before the 8.5e6).
</li>
<li>
Something similar can be accomplished using the letter F: 8.5F20 means eeee...ee8.5 with 20 e's.
(Keep in mind that the number limit is around F1e308, so if you try to enter a z above that in
xFz, the F will end up being ignored)
</li>
<li>
For numbers below 1, you can make the number after the e negative to indicate a negative exponent,
such as 4e-5 or eeee-3e2. This does not work with F, but it does work with the number after an (e^z).
</li>
</ul>
For the full list of accepted formats, including a few I didn't mention here, see the
<a href="https://github.com/Patashu/break_eternity.js">break_eternity.js GitHub page</a>. However,
when using (e^z) or xFz with a non-whole z, the result might not match up with break_eternity exactly:
break_eternity.js normally uses an "analytic" approximation of tetration for bases 10 and below and
switches to the linear approximation for bases above 10, but Eternal Notations always uses the linear
approximation, and this includes what it does with numbers you enter into the textbox.
</p>
</div>
<div id="explanation_default" class="explanation_box">
<h2>Default</h2>
<p>
This notation basically just cleans up the number without really changing it much. What it actually does depends
on the size of the number:
<ul>
<li>Numbers below 1e12 are written out as plain numbers (with commas). Numbers below 1,000 are written with
four significant figures, larger numbers are just rounded to the nearest integer.
</li>
<li>
Numbers above 1e12 are written in scientific notation.
</li>
<li>
For larger numbers, there may be e's placed in front of the number - for example, 10<sup>10<sup>100</sup></sup>
is written as e1e100, and 10^^5 is written as ee1e10,000,000,000. The visible exponent will never go above 1e12,
as that's the point when another e is added to the front.
</li>
<li>
If there would be more than five e's in front of the number like this, it switches to being written in
hyperscientific notation instead.
</li>
<br>
<li>
A similar progression is followed for tiny numbers: unabbreviated decimals like 0.01,
then scientific notation like 1e-12, then scientific notation with multiple e's like ee-1e20,
then hyperscientific like 1F-9 (in this case, the hyperexponent is written with a negative sign to indicate
we're working with a reciprocal, which isn't how hyperscientific notation actually works but it's what this notation does).
</li>
</ul>
Explanations on scientific and hyperscientific are found in their respective boxes.
<br>
As the name implies, this is the default notation that other notations can pull from, so generally other numbers
left over within other notations (such as the mantissa and exponent in scientific notation) are themselves
written in Default notation.
</p>
</div>
<div id="explanation_scientific" class="explanation_box">
<h2>Scientific</h2>
<p>Scientific notation is the most well-known way of abbreviating large numbers. Scientific notation expressions
come in the form XeY for some numbers X and Y, where X must be between 1 (inclusive) and 10 (exclusive).
XeY means X * 10<sup>Y</sup>, so 1e10 means 10,000,000,000 and 5e50 means 5 * 10<sup>50</sup>.
The number before the e is called the <i>mantissa</i>, and the number after the e is called the <i>exponent</i>.
Numbers below 1 have negative exponents, so 0.03 is 3e-2.
<br>
Larger numbers have e's placed in front of the number, with each e in front adding a 10 to the bottom of a
power tower, so e4.5e18 means 10<sup>4.5 * 10<sup>18</sup></sup>, and eee5e12 means 10<sup>10<sup>10<sup>5 * 10<sup>12</sup></sup></sup></sup>.
If there would be more than five e's in front of the number like this, those e's are truncated into an (e^N) expression, so
(e^10)1e100 means eeeeeeeeee1e100 (that's 10 e's in front). For the highest numbers supported by Eternal Notations,
that amount of e's can get large enough to be written in scientific notation itself.
</p>
</div>
<div id="explanation_engineering" class="explanation_box">
<h2>Engineering</h2>
<p>
Engineering notation is similar to scientific notation, but the exponent is always a multiple of 3,
which means the mantissa ranges between 1 and 1,000 instead of between 1 and 10. This is done because
powers of 1,000 often feel more distinct from each other than powers of 10 do. For example, 10<sup>14</sup>
is written as 1e14 in scientific notation, but it's written as 100e12 in engineering notation.
<br>
Once the number gets large enough to have e's in front, it's still only the last exponent that must
be a multiple of 3: for example, a googolplex, which is written as e1e100 in scientific notation,
is written as e10e99 in engineering notation. The multiple of three restriction does not apply to the
amount of e's, so the N in an (e^N) expression can still be any integer.
</p>
</div>
<div id="explanation_logarithm" class="explanation_box">
<h2>Logarithm</h2>
<p>
This notation writes numbers based on their base-10 logarithm - in other words, it's basically scientific
notation without the mantissa. For example, 10<sup>30</sup> is written as e30. 2 is written as e0.301, because
10<sup>0.301</sup> is around 2, i.e. the base-10 logarithm of 2 is around 0.301.
For larger numbers, multiple logarithms may be taken, indicated by there being multiple e's in front:
for example, 10<sup>10<sup>100</sup></sup> is written as ee100.
If there would be more than five e's in front of the number like this, those e's are truncated into an (e^N) expression, so
(e^10)14 means eeeeeeeeee14. For the highest numbers supported by Eternal Notations,
that amount of e's can get large enough to be written in scientific notation.
</p>
</div>
<div id="explanation_hyperscientific" class="explanation_box">
<h2>Hyperscientific</h2>
<p>
Hyperscientific notation is a variation on scientific notation that handles tetration instead of exponentiation.
Hyperscientific notation expressions come in the form XFY for some numbers X and Y,
where X must be between 1 (inclusive) and 10 (exclusive). XFY means 10^10^10...^X with Y 10's, so
10^10^3 becomes 3F2, 10^10^10^4.5 becomes 4.5F3, and 5 becomes 5F0.
For the highest numbers supported by Eternal Notations,
the hyperexponent (the number after the F, indicating the height of the power tower) can get large enough
to also be written in hyperscientific notation, at which point the mantissa is no longer written: for example,
10^^(10^10) is written as F1F2, which means F(1F2), which means a power tower that is (1F2) tens tall, and
1F2 is 10^10.
</p>
<p>
Power Tower notation is a variation on Hyperscientific where the hyperexponent is 1 less than it would be for
hyperscientific, which means the mantissa ranges between 10 and 10^10 instead of ranging between 1 and 10.
</p>
</div>
<div id="explanation_superLogarithm" class="explanation_box">
<h2>Super Logarithm</h2>
<p>
Normal logarithms are an inverse of exponentiation: log<sub>b</sub>(x) returns a number y such that b<sup>y</sup> = x.
Super logarithms are the same thing, but for tetration instead of exponentiation:
slog<sub>b</sub>(x) returns a number y such that b↑↑y = x.
Super Logarithm notation writes numbers in terms of their base-10 super-logarithm: for example, 10^10^10^10
is written as F4.
</p>
</div>
<div id="explanation_pentation" class="explanation_box">
<h2>Pentation</h2>
<p>
Pentation is the <i>fifth</i> hyperoperator, defined as repeated tetration and written as x↑↑↑y,
which is defined as x↑↑x↑↑x↑↑x...↑↑x with y x's in that "tetration tower".
Penta-Scientific is like Hyperscientific and Penta-Logarithm is like Super Logarithm, but using pentation instead of tetration.
Pentation grows yet faster still than tetration, too fast for even break_eternity.js to handle, so you won't see a penta-exponent
above 2.4 or so in these two notations - even for a library designed to handle tetration, pentation is just too strong.
</p>
</div>
<div id="explanation_naturalLogarithms" class="explanation_box">
<h2>Natural Logarithm</h2>
<p>
For complicated reasons (mostly calculus), the most "natural" base for a logarithm is not 10, but rather
a number known as <b>e</b>, a.k.a. "Euler's number", which is around 2.71828. The base-e logarithm is called
the natural logarithm, often written ln(x) instead of log<sub>e</sub>(x). The three notations here are equivalents
of Logarithm, Super Logarithm, and Penta-Logarithm that use e as their base instead of 10.
</p>
</div>
<div id="explanation_doubleLogarithm" class="explanation_box">
<h2>Double Logarithm</h2>
<p>
A variant of logarithm notation where the amount of iterations is always a multiple of 2.
It's 2 by default, but then it becomes 4, then 6, and so on for larger numbers.
</p>
</div>
<div id="explanation_binary" class="explanation_box">
<h2>Binary</h2>
<p>
Binary, a.k.a Base 2, is a way of writing numbers that only uses the digits 0 and 1.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In binary, the place values are 1, 2^1, 2^2, 2^3, and so on, so "10110" means 1 * 2^4 + 1 * 2^2 + 1 * 2^1
= 16 + 4 + 2 = 22.
</p>
<p>
Binary is the second-most used number base in the world, as it's the base used by computers: whether it means
"off and on" or "positive and negative", binary is easy to express in computer circuits, so it's what
computers use to do arithmetic.
</p>
<p>
This notation follows the same progression as Default notation, but in binary instead of decimal.
In the scientific and hyperscientific portions, 2 is used as the base of the exponentiation instead of 10,
so 1e110 means 1 * 2^6.
</p>
<p>
Binary (ı, l) comes from the YouTube video
<a href="https://www.youtube.com/watch?v=rDDaEVcwIJM">the best way to count</a>, a video focused on binary,
and among its many suggestions is to use simpler digits for binary specifically: a short line for 0, a long line
for 1. The two characters used here are close-enough approximations of those lines.
</p>
</div>
<div id="explanation_ternary" class="explanation_box">
<h2>Ternary</h2>
<p>
Ternary, a.k.a Base 3, is a way of writing numbers that only uses the digits 0, 1, and 2.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In ternary, the place values are 1, 3^1, 3^2, 3^3, and so on, so "2201" means 2 * 3^3 + 2 * 3^2 + 1
= 54 + 18 + 1 = 73.
</p>
<p>
While ternary is the second-simplest number base, and it's seen a few attempts to use it,
ultimately it's not used much in the modern world.
</p>
<p>
This notation follows the same progression as Default notation, but in ternary instead of decimal.
In the scientific and hyperscientific portions, 3 is used as the base of the exponentiation instead of 10,
so 1e201 means 1 * 3^19.
</p>
</div>
<div id="explanation_quaternary" class="explanation_box">
<h2>Quaternary</h2>
<p>
Quaternary, a.k.a Base 4, is a way of writing numbers that only uses the digits 0, 1, 2, and 3.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In quaternary, the place values are 1, 4^1, 4^2, 4^3, and so on, so "3012" means 3 * 4^3 + 1 * 4 + 2
= 192 + 4 + 2 = 196.
</p>
<p>
Each quaternary digit represents two binary digits, so in theory quaternary could be used as a way to
compress binary to make it slightly more readable, but in practice octal and hexadecimal are better
bases to do that with.
</p>
<p>
This notation follows the same progression as Default notation, but in quaternary instead of decimal.
In the scientific and hyperscientific portions, 4 is used as the base of the exponentiation instead of 10,
so 1e32 means 1 * 4^14.
</p>
</div>
<div id="explanation_seximal" class="explanation_box">
<h2>Seximal</h2>
<p>
Seximal, a.k.a Base 6, is a way of writing numbers that only uses the digits from 0 to 5.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In seximal, the place values are 1, 6^1, 6^2, 6^3, and so on, so "5241" means 5 * 6^3 + 2 * 6^2 + 4 * 6 + 1
= 1,080 + 72 + 24 + 1 = 1,177.
</p>
<p>
Seximal was originally called "senary". The name "seximal" came from the video
<a href="https://www.youtube.com/watch?v=qID2B4MK7Y0">a better way to count</a> by jan Misali,
which highlights properties of seximal that make it a powerful and useful base for its size.
Like most number bases other than decimal, binary, and powers of binary, though, seximal doesn't
see much real-world use.
</p>
<p>
This notation follows the same progression as Default notation, but in seximal instead of decimal.
In the scientific and hyperscientific portions, 6 is used as the base of the exponentiation instead of 10,
so 1e43 means 1 * 6^27.
</p>
</div>
<div id="explanation_octal" class="explanation_box">
<h2>Octal</h2>
<p>
Octal, a.k.a Base 8, is a way of writing numbers that only uses the digits from 0 to 7.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In octal, the place values are 1, 8^1, 8^2, 8^3, and so on, so "736" means 7 * 8^2 + 3 * 8^1 + 6 =
= 448 + 24 + 6 = 478.
</p>
<p>
Each octal digit represents three binary digits, so octal has sometimes been used as a way to compress
binary and make it more readable, though hexadecimal remains a more popular way to do so.
</p>
<p>
This notation follows the same progression as Default notation, but in octal instead of decimal.
In the scientific and hyperscientific portions, 8 is used as the base of the exponentiation instead of 10,
so 1e70 means 8 * 6^56.
</p>
</div>
<div id="explanation_dozenal" class="explanation_box">
<h2>Duodecimal/Dozenal</h2>
<p>
Duodecimal, also called "Dozenal", is Base 12, a way of writing numbers that uses twelve digits instead of ten.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
In base 12, the place values are 1, 12^1, 12^2, 12^3, and so on, so "418" means 4 * 12^2 + 1 * 12^1 + 8
= 576 + 12 + 8 = 596. Base 12 needs two extra digits beyond the ten digits we're familiar with -
what those two digits are depends on the version of base 12 being used.
</p>
<p>
Unlike other non-decimal number bases, base 12 has a serious following, with supporters that believe
it's superior to base 10 and that society should switch to writing numbers in base 12, such as the Dozenal
Societies of <a href="https://dozenal.org/">America</a> and <a href="http://www.dozenalsociety.org.uk/">Great Britain</a>.
It's because of this following that we have two names and three notations for this base: "duodecimal" is the
name for base 12 that matches up with the names for other bases, but the supporters of base 12 don't want it to have a
name that derives from base 10, so they go with "dozenal". The same applies to the digits used for ten and eleven:
the digits A and B are used for duodecimal since it's customary to use letters for digits beyond 9 in higher bases,
but for dozenal there are different proposals: ↊ and ↋ are digits specifically made for use with
dozenal, but since computers don't always support those characters, some use X and E instead.
</p>
<p>
These notations follow the same progression as Default notation, but in duodecimal/dozenal instead of decimal.
In the scientific and hyperscientific portions, 12 is used as the base of the exponentiation instead of 10,
so 1e99 means 1 * 12^117. Since uppercase letters may be used as digits, hyperscientific uses #
instead of an uppercase F.
</p>
</div>
<div id="explanation_hexadecimal" class="explanation_box">
<h2>Hexadecimal</h2>
<p>
Hexadecimal, a.k.a Base 16, is a way of writing numbers that uses sixteen digits instead of ten.
Our normal way of writing numbers is Base 10, meaning the place values are 1, 10^1, 10^2, 10^3, and so on.
The extra digits used for ten, eleven, twelve, thirteen, fourteen, and fifteen are A, B, C, D, E, and F respectively.
In hexadecimal, the place values are 1, 16^1, 16^2, 16^3, and so on, so "A4C" means 10 * 16^2 + 4 * 16^1 + 12 =
= 2,560 + 64 + 12 = 2,636.
</p>
<p>
Each hexadecimal digit represents four binary digits, so hexadecimal is often used by low-level programming
languages to truncate binary into a more readable form for humans.
</p>
<p>
This notation follows the same progression as Default notation, but in hexadecimal instead of decimal.
In the scientific and hyperscientific portions, 16 is used as the base of the exponentiation instead of 10,
so 1eA5 means 1 * 16^165. Since uppercase letters may be used as digits, hyperscientific uses #
instead of an uppercase F.
</p>
</div>
<div id="explanation_balancedTernary" class="explanation_box">
<h2>Balanced Ternary</h2>
<p>
Balanced ternary is a way of writing numbers that's similar to regular ternary.
The place values are still 1, 3, 3^2, 3^3, and so on, but whereas the digits in regular ternary are for
0, 1, and 2, the digits in balanced ternary are for 0, 1, and -1.
In this notation, the digits are 0 (for 0), + (for 1), and - (for -1).
For example, 2 is +- (3 - 1), 10 is +0+ (9 + 1), and 22 is +-++ (27 - 9 + 3 + 1).
Unlike normal number bases, balanced ternary doesn't need a negative sign to place in front of
negative numbers: to convert a number to its negative in balanced ternary, just turn all the +s into -s
and vice-versa. For example, -2 is -+ (-3 + 1), -10 is -0- (-9 - 1), and -22 is -+-- (-27 + 9 - 3 - 1).
</p>
<p>
This notation follows the same progression as Default notation, but in balanced ternary instead of decimal.
In the scientific and hyperscientific portions, 3 is used as the base of the exponentiation instead of 10,
so +.+-e++-- means (1 + 2/9) * 3^32. Because of the digits used, the range of the mantissa in balanced ternary
is not from 1 to 3, but rather from around 0.5 (+.----...) to 1.5 (+.++++...).
</p>
</div>
<div id="explanation_bijectiveDecimal" class="explanation_box">
<h2>Bijective Decimal</h2>
<p>
"Bijective" decimal is a number base similar to regular decimal.
The place values are still 1, 10, 10^2, 10^3 and so on, but unlike decimal, bijective decimal does not
have a digit for zero. Since there's no zero digit, ten can't be written as "10", so ten gets its own digit,
that being A. Eleven can still be written as "11", so it is.
20 is written as "1A", 100 is "9A", 101 is "A1", 1,000 is "99A", and so on.
The lack of a zero digit means non-whole numbers can't be written in this system, so this notation
rounds to the nearest whole number.
This notation follows the same progression as Default notation, but in bijective decimal instead of regular decimal.
Since uppercase letters may be used as digits, hyperscientific uses # instead of an uppercase F.
</p>
</div>
<div id="explanation_standard" class="explanation_box">
<h2>Standard</h2>
<p>
In real life, one of the most common ways to abbreviate large numbers (other than scientific notation),
especially when it comes to money, is to use abbreviations of the names "thousand", "million", "billion",
and so on, so 500 million would be written as "500 M". This is what "Standard" notation does (the name
"Standard" was chosen by Antimatter Dimensions, because at the time it often was the standard way incremental
games abbreviated numbers). Standard notation works well for smaller numbers like millions and trillions,
but the further you go, the more ridiculous and less readable it gets.
Eternal Notations has three different varieties of Standard, which differ in the
abbreviations they use to represent each -illion name but share the same general progression: the notation
just called "Standard" uses prefixes chosen by MathCookie (the creator of Eternal Notations), AD Standard
uses the prefixes that Antimatter Dimensions uses, and Aarex Standard uses prefixes chosen by Aarex
Tiaokhiao, a prominent figure in the incremental games community. I'll start by explaining MathCookie's
Standard, then I'll go back and explain how the other two differ from it.
</p>
<p>
The first few -illions have their own names and thus their own prefixes: k for thousand (10<sup>3</sup>),
M for million (10<sup>6</sup>), B for billion (10<sup>9</sup>), T for trillion (10<sup>12</sup>),
Qa for quadrillion (10<sup>15</sup>), Qi for quintillion (10<sup>18</sup>), Sx for sextillion (10<sup>21</sup>),
Sp for septillion (10<sup>24</sup>), Oc for octillion (10<sup>27</sup>), No for nonillion (10<sup>30</sup>),
and Dc for decillion (10<sup>33</sup>). After those first few, the -illions follow a place-value system
where the -illions for 1 through 9, multiples of 10 from 10 through 90, and multiples of 100 from 100 through 900
each get their own names, and the rest combine these names. The prefixes for the unit position are U, D, T,
Qa, Qi, Sx, Sp, O, and N, the prefixes for the tens position are Dc, Vg, Tg, Qg, Qq, Sg, St, Og, and Ng, and
the prefixes for the hundreds position are Cn, Dn, Tc, Qe, Qu, Sc, Si, Oe, and Ne. For example, the 345th
-illion, with a value of 10<sup>1,038</sup>, is abbreviated as QiQgTc.
<br>
After the hundreds, though, the only -illions that get new names are powers of 1,000-numbered -illions,
which have the smaller prefixes placed in front of them to multiply them, with hyphens separating each
power of 1,000. The thousandth -illion, a millillion (10<sup>3,003</sup>) is abbreviated as Ml, so the
49,824th -illion (10<sup>149,475</sup>) is written as NQgMl-QaVgOe.
At this point, the names start following the
<a href="http://www.polytope.net/hedrondude/illion.htm">-illion scheme devised by Jonathan Bowers</a>,
which has become the standard for the names of huge -illion numbers.
The next few -illions with their own prefixes are the thousandth, millionth, billionth, trillionth, and so on -illions,
whose names follow the small SI prefixes (milli, micro, nano, pico, and so on); the prefixes for these in
Standard notation are Ml, Mc, Na, Pc, Fm, At, Zp, and Yc. ronto and quecto weren't part of the SI prefixes yet
when Bowers made his system, so the following "power of a thousand" -illions, a.k.a "Tier 2 illions",
use made-up extended SI prefixes: Xn, Vc, Mec, Duc, Tec, Ttc, Pnc, Hxc, Hpc, Otc, and Enc.
For example, the 123,456,789,012th -illion would be written as TVgCnNa-SxQqQeMc-NOgSiMl-DDc.
The "tier 2" illion names themselves enter a place value system after the first 19 of them,
primarily using greek number prefixes as their name inspirations:
the unit position prefixes are Me, Du, To, Tt, Pn, Hx, Hp, Ot, and En, but entries 10 through 19 also use those
prefixes from Vc to Enc instead of being [ones digit]Vc, then 20 and above go back to the usual "ones + tens".
The tens position prefixes are Vc, Ic, Ta, Te, Pe, He, Ht, Oa, and Ea, and the hundreds position prefixes are
Hc, Dh, Th, Tth, Ph, Hxh, Hph, Oh, and Eh.
<br>
Like before, the next tier 2 illions to get their own names are the thousandth, millionth, billionth, and so
on - these are the "tier 3" illions, which start with the large SI prefixes instead of the small ones:
Ki (for reference, Ki is around 10<sup>3 * 10<sup>3003</sup></sup>), Mg, Gg, Tr, Pt, Ex, Zt, Yt. Then the
SI prefixes give way to Greek-like names again, but this time those Greek names are somewhat warped: Xe, Da,
Hd, Dok, Tad, Ted, Pd, Ed, Zd, Yd, and Nd. Underscores are used to separate tier 3 illions within a single tier 2 illion,
so the 45,321,905th tier 2 illion would be written as PnTeMg_MeIcThKi_PnEh.
After the first 19 tier 3 illions, the tier 3 illions enter their own place value system:
the first few ones place prefixes are Hd, Di, and Ti, then the ones from 4 to 19 match up with the Tr, Pt, Ex...
sequence given before. The tens position prefixes are Da, Ik, Tak, Tek, Pk, Ek, Zk, Yk, and Nk, and the
hundreds position prefixes are Ho, Bo, Tro, Tot, Po, Eo, Zo, Yo, and Nt.
<br>
Finally, the fourth tier. The first fourth tier -illion, which is the thousandth third tier -illion, is Ka.
Tildes (~) separate fourth tier -illions within a single third tier -illion. Unlike with the lower tiers,
when a tier 3 -illion is used as a prefix on a tier 4 -illion, the first few prefixes are different:
as prefixes, the tier 3 -illions from 2 to 9 become Dl, Ta, Tl, Pl, El, Zl, Yl, and Nl, then the rest of
the prefixes (10 to 999) are the same as the corresponding plain tier 3 -illion (Da, Hd, Dok... up to XeNkNt).
The fourth tier -illions start with warped SI prefixes but then start using the names of increasingly large
astronomical objects: Ka, Mj, Gj, As, Lu, Fr, Jv, Sl, Bt, Gx, Go, Sp, Vs, and Mu.
<br>
This is where the system ends:
Mu stands for a "multillion", the largest -illion name in Bowers's system, with a value of around
10^10^10^(3 * 10^42). This means that the names run out at 10^10^10^(3 * 10^45), so for numbers larger than
that, they're placed inside the brackets of an Il() expression, which means the "n"'th illion (where n is
whatever's inside the parentheses): Il(Mu), for example, would be the 10^10^10^(3 * 10^42)'th -illion, which
is around 10^10^10^10^(3 * 10^42). If multiple layers of Il() need to be applied, they're written as Il^2(),
Il^3(), and so on, and once the amount of Il() layers, each one adding a 10 to the bottom of the power tower
goes above 1,000, the number becomes written purely in terms of the amount of Il layers, with that
amount of letters itself written in Standard notation, so Il^1 M is around 10↑↑1,000,000.
</p>
<p>
AD Standard is the version of Standard used by Antimatter Dimensions, which to my knowledge is the first version
of Standard that ever went past 2<sup>1024</sup>. The first few prefixes are K, M, B, T, Qa, Qt, Sx, Sp, Oc, No,
and Dc. The ones position prefixes are U, D, T, Qa, Qt, Sx, Sp, O, and N, the tens position prefixes are Dc,
Vg, Tg, Qd, Qi, Se, St, Og, and Nn, and the hundreds position prefixes are Ce, Dn, Tc, Qe, Qu, Sc, Si, Oe, and Ne.
The tier 2 illions are in all-caps here: MI, MC, NA, PC, FM, AT, and ZP... and that's where it ends, as
Antimatter Dimensions only goes up to around e9e15, which is in the FM range (AT and ZP are present in the code
of the game, though). Therefore, the Il() thing gets going after that.
</p>
<p>
Whereas Antimatter Dimensions Standard stops early, Aarex's Standard goes all the way up to the limit of Bowers's
-illions, just as MathCookie's Standard does. I'm not going to go into detail on all the prefixes; check out
<a href="https://docs.google.com/document/d/1K8Oj1As5p8S4hq_9zY_ZD29jdkLw7ZRV7Ka-5J8toE4/">Aarex's list of them</a>,
which is the source of Aarex's Standard, if you want the full list. The most notable difference comes in the form
of the separators: hyphens are still used to separate tier 2 -illions, but tier 3 -illions are separated via a' instead
of _, and tier 4 -illions aren't separated at all; for tier 4 specifically, tier 3 prefixes or suffixes on them
chop off the beginning or ending letter of the tier 4 -illion. Also, rather than using Il() larger than the last
prefix, is uses MXS-, where MXS-(n) just means 10^n, so MXS-M would mean 10^(1 M)... though for numbers large
enough that MXS- is needed, MXS- and Il() are essentially the same.
</p>
</div>
<div id="explanation_longScale" class="explanation_box">
<h2>Long Scale</h2>
<p>
In English-speaking countries, -illion names use the "short scale", in which each -illion is 1,000x the previous:
a billion is a thousand millions (10<sup>9</sup>), a trillion is a thousand billions (10<sup>12</sup>), a quadrillion
is a thousand trillions (10<sup>15</sup>), and so on. However, many European languages use the "long scale", in
which each -illion is 1,000,000x the previous: a billion is a million millions (10<sup>12</sup>),
a trillion is a million billions (10<sup>18</sup>), a quadrillion is a million trillions (10<sup>24</sup>),
and so on. In the short scale, the n<sup>th</sup> -illion has a value of 10<sup>3n + 3</sup>, while in the long
scale the n<sup>th</sup> -illion has a value of 10<sup>6n</sup>. The Long Scale notations are like Standard
(one for each of the three variations of Standard), but using the long scale instead of the short scale.
Because the -illions go up by a factor of a million each time instead of a thousand, Long Scale does not abbreviate
thousands with k/K, choosing instead to just leave the thousands as is. (Some long-scale languages have the term
"milliard" for a thousand millions, "billiard" for a thousand billions, and so on, but these notations do not
bother with that.)
</p>
</div>
<div id="explanation_mixedScientific" class="explanation_box">
<h2>Mixed Scientific</h2>
<p>
Standard notation is useful for the first few -illions, but quickly becomes unwieldy starting somewhere
between decillions and centillions (where exactly it becomes unwieldy is subjective, but it's somewhere in there).
Scientific notation is more "boring" than Standard and isn't as intuitive as Standard for smaller numbers like
millions and billions, but it makes much more sense than Standard for larger numbers. Mixed Scientific is a
compromise between the two: it uses Standard for smaller numbers, then switches to Scientific for larger ones.
When the exponent in the scientific notation gets large enough, it will itself be written in Standard up to the
same limit, and only then does an e get placed in front. Similarly, once the N in (e^N) gets large enough,
it starts being written in Standard and then switches to scientific.
<br>
Eternal Notations has mixed scientific varieties for all six versions of Standard/Long Scale, and what the
standard-to-scientific limit is depends on the variety:
<ul>
<li>
MathCookie's Standard uses Standard up through Vg, as vigintillion is the last -illion
recognized as an official word in dictionaries (centillion is too, but-illions 21 through 99 are not).
</li>
<li>
AD Standard uses Standard up through No, as that's what Antimatter Dimensions's Mixed Scientific notation does.
</li>
<li>
Aarex's Standard uses Standard up through De (though this was an arbitrary decision made for Eternal
Notations, as Aarex has not to my knowledge ever addressed mixed scientific for his Standard).
</li>
</ul>
</p>
</div>
<div id="explanation_letters" class="explanation_box">
<h2>Letters</h2>
<p>
Letters notation, which was popularized by Antimatter Dimensions but was used in some variety in
several incremental games beforehand, is similar to Standard notation in that it splits a number into a
power of 1,000 and a coefficient on that power, but whereas Standard uses abbreviated versions of the names
"thousand", "million", "billion", and so on, Letters uses lowercase letters in order: a for 10<sup>3</sup>,
b for 10<sup>6</sup>, c for 10<sup>9</sup>, d for 10<sup>12</sup>, and so on. For example, 20,500 is 20.5a,
and 593,000,000 is 593b.
<br>
The system keeps going after z: the next power of 1,000 after z uses aa, then next is ab, then ac, then ad,
and so on. ba comes after az, then bb, then bc, and so on. After zz is aaa, after zzz is aaaa, and so on.
This means that the powers of 1,000 are written in a "bijective base 26" with letters as the digits.
<br>
Having a bunch of lowercase letters is as far as the notation goes elsewhere, but Eternal Notations
goes much further. Once there are too many letters, the notation switches to a number with a single uppercase
A, where the uppercase A indicates that the number represents how many lowercase letters would be in
the expression if it was fully expanded without the A: for example, 50A means 1aaaaaaa... with 50 a's.
For fractional numbers with an uppercase A, you can think of the fraction as the logarithmic distance from
one amount of letters to the next: for example, 14.5A means "halfway between 14A and 15A",
which is around 1fcoyj... with 14 letters in there. Once the number with the A gets over 1,000, the lowercase
letters return: for example, 20Ab means 1aaaaa... with 20b = 20,000,000 a's.
An uppercase B indicates that the number represents the amount of lowercase letters in an expression with an
uppercase A: for example, 500B means 1Aaaaaaa... with 500 a's. Likewise, an uppercase C means the number
is the amount of lowercase letters in a B expression, a D means the number is the amount of lowercase letters
in a C expression, and so on; each uppercase letter is two power-tower layers higher than the previous one.
Like the lowercase letters, the uppercase letter after Z is AA, then AB is next, then AC, and so on, with BA after
AZ, AAA after ZZ, and so on.
Finally, once there's too many uppercase letters to show, you get an expression with an @, where the number
indicates the amount of uppercase letters that would be in the expression: for example, 32@ means 1AAAA...
with 32 A's.
</p>
</div>
<div id="explanation_alphabet" class="explanation_box">
<h2>Alphabet</h2>
<p>
Alphabet notation, the notation used in the games created by <a href="https://topcoggaming.com/">TopCog</a>,
is similar to Letters notation, but it's not quite the same. Letters are written before the number instead of
afterwards, so 100,000,000 is b100. Instead of going to multiple letters after z, the uppercase letters come next,
so after z is A, then B, and so on. Whereas Letters notation uses bijective base 26, Alphabet uses regular base 53;
this means it has a zero digit, which is ~, so after Z is a~, then aa. aA is after az, b~ is after aZ, ba is after b~,
A~ is after zZ, a~~ is after ZZ, a~a is a~~, aa~ is after a~Z, aaa is after aa~, a~~~ is after ZZZ, and so on.
<br>
Since the uppercase letters are used as regular digits instead of a second "tier" of letters, the tiers are
handled differently: each tier uses the same letters, but the tiers are separated with a |. For example, a|500
means aaaa...1 with 500 a's, a|a40 means aaaa...1 with a40 = 40,000 a's, b|120 means a|aaaaa...1 with 120 a's
after the |, A|75 means z|aaaaaa...1 with 75 a's, and so on. This also applies for the third tier, so a||40 means
aaaaaa...|1 with 40 a's.
<br>
The part of the notation with the lowercase and uppercase letters is used in TopCog's games, but those games never
get to numbers nearly as high as Eternal Notations does, so the higher tiers of letters with the |'s separating them
were made up by MathCookie, though he tried to do something that he felt fit with the notation.
</p>
</div>
<div id="explanation_greekLetters" class="explanation_box">
<h2>Greek Letters</h2>
<p>
Greek Letters and Greek Alphabet are variations of Letters and Alphabet that use the Greek alphabet instead of