USE_BYTES, USE_WORDS, USE_LONGS | to control what storage unit is used |
|
USE_ASM_IMPLEMENTATION | like USE_C_IMPLEMENTATION |
USE_ASM_IMPLEMENTATION2 | (only bytes version), like USE_C_IMPLEMENTATION2 |
USE_ASM_IMPLEMENTATION3 | use fixed bases + index iso pointers |
USE_C_IMPLEMENTATION | original c implementation |
USE_C_IMPLEMENTATION2 | first loop for addition, second loop for div + carry |
|
USE_IDIV | use idiv instruction |
USE_TABLES | use tables with precalculated div results |
for very large numbers the USE_C_IMPLEMENTATION is the fastest.
for small numbers the USE_ASM_IMPLEMENTATION3 is the fastest
base | details | class starters |
2 | details | 2:10110(simple), 2:1000010100110, 1110001010111 |
3 | details | 3:10211, 3:1000122, 3:1002211 |
4 | details | 4:10202, 4:10332(simple), 4:23033, 4:30123, 4:30133 |
5 | details | 5:10313, 5:10343 |
6 | details | 6:4555, 6:10235, 6:10413, 6:12454, 6:13253, 6:14054, 6:14254, 6:25455, 6:40035, 6:40235, 6:101504, 6:101513, 6:102504, 6:102514, 6:104513, 6:104514, 6:104544, 6:105514, 6:105524, 6:105531 |
7 | details | 7:10513, 7:10525, 7:12165, 7:13364, 7:16164 |
8 | details | 8:1775, 8:7047, 8:10347, 8:10436, 8:10464, 8:10475, 8:10534, 8:10624, 8:10626, 8:10646, 8:10652(simple), 8:10660, 8:10662, 8:10737, 8:10760, 8:10762, 8:11775, 8:12576, 8:12775, 8:14176, 8:17176, 8:20067, 8:20637 |
9 | details | 9:728 |
10 | details | 10:196, 10:879 |
11 | details | |
12 | details | |
13 | details | |
14 | details | |
15 | details | |
16 | details | |
'simple' means these are obviously non palindromic numbers