struct Point3D{ double x,y, z, w; }; struct Mesh { std::vector<Point3D> nodes; }; |
|
double func(const Mesh& mesh, int IP) { return mesh.nodes[IP].x; } |
func(Mesh const&, int): movslq %esi, %rsi # convert IP vom 32bit integer to 64bit integer salq $5, %rsi # rsi = 32*rsi calculate offset in array. sizeof(Point3D) == 32 addq (%rdi), %rsi # add vector base pointer movsd (%rsi), %xmm0 # copy value into return register ret |
double func2(const std::vector<Point3D>& nodes, int IP) { return nodes[IP].x; } |
func2(std::vector<Point3D, std::allocator<Point3D> > const&, int): movslq %esi, %rsi salq $5, %rsi addq (%rdi), %rsi movsd (%rsi), %xmm0 ret |
Fortran
module test_m type Point3D_t real(8) :: xyz(4) end type type Mesh_t type(Point3D_t), allocatable :: nodes(:) end type type Mesh2_t real(8), allocatable :: nodes(:,:) end type end module |
|
function func(mesh, IP) result(x) implicit none type(Mesh_t), intent(in) :: mesh integer, intent(in) :: IP real(8) :: x x = mesh%nodes(IP)%xyz(1) end function |
__test_m_MOD_func: movslq (%rsi), %rax addq 8(%rdi), %rax salq $5, %rax addq (%rdi), %rax movsd (%rax), %xmm0 ret |
function func2(nodes, IP) result(x) implicit none type(Point3D_t), intent(in) :: nodes(:) integer, intent(in) :: IP real(8) :: x x = nodes(IP)%xyz(1) end function |
__test_m_MOD_func2: movq 40(%rdi), %rcx movslq (%rsi), %rdx movl $1, %eax testq %rcx, %rcx cmove %rax, %rcx leaq -1(%rdx), %rax imulq %rcx, %rax salq $5, %rax addq (%rdi), %rax movsd (%rax), %xmm0 ret |
function func3(MNP, nodes, IP) result(x) implicit none integer, intent(in) :: MNP type(Point3D_t), intent(in) :: nodes(MNP) integer, intent(in) :: IP real(8) :: x x = nodes(IP)%xyz(1) end function |
__test_m_MOD_func3: movslq (%rdx), %rax salq $5, %rax movsd -32(%rax,%rsi), %xmm0 ret |
function func4(mesh, IP) result(x) implicit none type(Mesh2_t), intent(in) :: mesh integer, intent(in) :: IP real(8) :: x x = mesh%nodes(1,IP) end function |
__test_m_MOD_func4: movq (%rdi), %rdx movslq (%rsi), %rax imulq 64(%rdi), %rax addq 8(%rdi), %rax movsd 8(%rdx,%rax,8), %xmm0 ret |
function func5(nodes, IP) result(x) implicit none real(8), intent(in) :: nodes(:,:) integer, intent(in) :: IP real(8) :: x x = nodes(1,IP) end function |
__test_m_MOD_func5: movq 40(%rdi), %rax testq %rax, %rax je .L58 movq %rax, %rdx negq %rdx .L57: movq 64(%rdi), %r8 movslq (%rsi), %rcx movq (%rdi), %rdi imulq %r8, %rcx subq %r8, %rdx addq %rcx, %rax addq %rdx, %rax movsd (%rdi,%rax,8), %xmm0 ret .L58: movq $-1, %rdx movl $1, %eax jmp .L57 |
function func6(MNP, nodes, IP) result(x) implicit none integer, intent(in) :: MNP real(8), intent(in) :: nodes(3,MNP) integer, intent(in) :: IP real(8) :: x x = nodes(1,IP) end function |
__test_m_MOD_func6: movslq (%rdx), %rax leaq -3(%rax,%rax,2), %rax movsd (%rsi,%rax,8), %xmm0 ret |
26.03.2021
C++ Fortran - Array & Types
02.02.2021
FORTRAN: GDB infos
GDB VER 9 or newer
(gdb) run
0x0000555555628b76 in sourcessinks_m::sinks_ie_pot (dt=0) at ../../SweTools/src/unrunoff_sources_sinks_IE.F90:493
493 VERSENKVOL = HALTUNGEN(IM)%STRASSENFL%VERSENKVOLALT * EXP(-HALTUNGEN(IM)%STRASSENFL%DTSUM/HALTUNGEN(IM)%STRASSENFL%KRET) + VERSENKVOL * (ONE - EXP(-HALTUNGEN(IM)%STRASSENFL%DTSUM/HALTUNGEN(IM)%STRASSENFL%KRET))
print geht irgendwie nicht auf typen in arrays.... scheiss fortran. aber explore kanns
(gdb) explore datapool::HALTUNGEN(2)
The value of 'datapool::HALTUNGEN(2)' is a struct/class of type 'Type haltung' with the following fields:
inka_versick = 198.61264038085938 .. (Value of type 'real(kind=8)')
rverteil = 0 .. (Value of type 'real(kind=4)')
...
strassenfl = < Enter 12 to explore this field of type 'Type strassenfl' >
...
12
Enter the field number of choice: The value of '(datapool::HALTUNGEN(2)).strassenfl' is a struct/class of type 'Type strassenfl' with the following fields:
hydrofl_t = < Enter 0 to explore this field of type 'Type hydrofl_t' >
in_haltung = < Enter 1 to explore this field of type 'integer(kind=4), allocatable (:)' >
streetin = 0 .. (Value of type 'real(kind=8)')
streetout = 0 .. (Value of type 'real(kind=8)')
...
(gdb) info variables
All defined variables:
File ../../SweTools/src/haltungNamelistReader.F90:
5: static void hart;
195: static integer(kind=4) koppelpool::ende;
195: static integer(kind=4) koppelpool::zufl;File ../../SweTools/src/haltungReader.F90:
100: static void hart;
100: static integer(kind=4) koppelpool::ende;
100: static integer(kind=4) koppelpool::zufl;
...
(gdb) info variables haltungen
All variables matching regular expression "haltungen":
0x000055556effc0e0 __datapool_MOD_haltungen
(gdb) info modules
All defined modules:
File ../../SweTools/src/haltungNamelistReader.F90:
1: haltungnamelistreader_m
File ../../SweTools/src/unrunoff_datapool.F90:
4: datapool
File unrunoff_koppelpool.FOR:
1: koppelpool
(gdb) info module variables
All variables in all modules:
Module "koppelpool":File ../../SweTools/src/haltungNamelistReader.F90:
195: static integer(kind=4) koppelpool::ende;
195: static integer(kind=4) koppelpool::zufl;
File unrunoff_koppelpool.FOR:
17: integer(kind=4), allocatable koppelpool::hname2idx(:);
18: integer(kind=4), allocatable koppelpool::idx2hname(:);
All variables matching regular expression "haltungen" in all modules:
(gdb) info module variables haltungen
Module "datapool":
File ../../SweTools/src/unrunoff_datapool.F90:
841: Type haltung, allocatable datapool::haltungen(:);
(gdb) info module functions
All functions in all modules:
Module "haltungnamelistreader_m":
File ../../SweTools/src/haltungNamelistReader.F90:
12: logical(kind=4) haltungnamelistreader_m::checkhname(integer(kind=4));
555: void haltungnamelistreader_m::readauslaessenamelist(void);
28.10.2020
Fortran: kaputt iterieren
Hier mal ein Auszug aus einem real life Praxis Code der Jahrzehnte lang keine Probleme machte, bis ich kam.
Es ist egal was und wie in dem Beispiel etwas berechnet wird. Auch die Eingangswerte sind egal (sind eh sinnlos). Wichtig ist zu wissen, dass es Fortran 77 Code war, den ich schnell nach C++ übersetzt habe. Darum auch überall einfache Genauigkeit Gleitkommazahlen und Konstanten und GOTOs.
Und wichtig zu wissen ist, dass etwas iterativ berechnet wird. Ich bin auf diese Stück Code gestoßen, weil die Schleife nicht terminiert hat. Lässt man sich die beteiligen Variablen H1, H2, DIFF und DELTA ausgeben wird schnell klar warum: Die Zahlengenauigkeit ist nicht ausreichend um den vorgegebenen THR von EPS=24.8137016 zu erreichen.
Dies ist das einzige Abbruchkriterium in der Schleife und wie wir sehen kein ausreichendes.
Ein erweitertes Abbruchkriterium wäre zu überprüfen, ob sich die Variable DIFF von einer zu anderen Iteration ändert. In der Praxis funktioniert dies nicht, da zwei unterschiedliche Werte von H1/H2 zu dem gleichen Wert von DIFF führen. Beispiel:
1.638 1027.03 1027.11 9300.06 1.638 1028.66 1028.74 9300.06
(DIFF wurde mit == im Code verglichen, dass hier zwei mal die selbe Zahl steht ist kein Rundungsfehler der Ausgabe.)
Ein noch besseres Abbruchkriterium wäre die Eingangsvariablen H1/H2 der Formel zu überprüfen. Bei der gleicher Eingabe kommt auch die gleiche Ausgabe raus (solange der Computer als deterministisch angesehen wird).
#include <iostream> #include <cmath> // Berechnung der Einstauhoehe bei ueberstauter Schlitzhoehe // 29.01.06: EPS in Abhaengigkeit von QSOLL // MUE Ueberfallbeiwert*100 // IWL Laenge der Wehrkrone in cm // C Abminderungsfaktor fuer unvollkommenen Ueberfall // EXPO Exponent der Ueberfallhoehe // HSCHLITZ Schlitzhoehe in m bei begrenzter Uberfallhoehe // QSOLL Durch den Schlitz? // HRUE0 Ueberfallhoehe in m // HRUE Ueberfallhoehe in m void uebrue(int MUE, int IWL, float C, float EXPO, float HSCHLITZ, float QSOLL, float HRUE0, float& HRUE) { float DELTA, DIFF, EPS, H1, H2, Q; int IST; EPS = std::max(0.5f, QSOLL/1000.0f); IST = 0; H2 = HRUE0; H1 = H2 - HSCHLITZ; if(H1 < 0.0) H1 = 0.0f; DELTA = 0.5f*H1; std::cout << "DELTA H1 H2 DIFF\n"; A: Q = 0.295296f * MUE * IWL * C * (std::pow(H2,EXPO) - std::pow(H1,EXPO)); DIFF = QSOLL - Q; std::cout << DELTA << " " << H1 << " " << H2 << " " << DIFF << "\n"; if(std::abs(DIFF) < EPS) goto D; //IF (DIFF) C,D,B if(DIFF < 0) goto C; else if(DIFF > 0) goto B; else goto D; B: if(IST == 2) DELTA = 0.5f*DELTA; H2 = H2 + DELTA; H1 = std::max(0.0f, H2 - HSCHLITZ); IST = 1; goto A; C: if(IST == 1) DELTA = 0.5f*DELTA; H2 = H2 - DELTA; H1 = std::max(0.0f, H2 - HSCHLITZ); IST = 2; goto A; D: HRUE = H2; } int main() { float hrue = 0; uebrue(65, 650, 0.323500007f, 1.5f, 0.0799999982f, 24813.7012f, 3.35600042f, hrue); }
Die ersten 1624 Iterationen. Ganz runter scrollen ....
Mit verbesserten Abbruchkriterium terminiert die Schleife nach 1618 Iterationen.
DELTA H1 H2 DIFF 1.638 3.276 3.356 23931.8 1.638 4.914 4.994 23735.7 1.638 6.552 6.632 23570.2 1.638 8.19 8.27 23424.3 1.638 9.828 9.908 23292.3 1.638 11.466 11.546 23170.8 1.638 13.104 13.184 23057.8 1.638 14.742 14.822 22951.6 1.638 16.38 16.46 22851.1 1.638 18.018 18.098 22755.5 1.638 19.656 19.736 22664.2 1.638 21.294 21.374 22576.6 1.638 22.932 23.012 22492.4 1.638 24.57 24.65 22411 1.638 26.208 26.288 22332.4 1.638 27.846 27.926 22256.1 1.638 29.484 29.564 22182.1 1.638 31.122 31.202 22110.1 1.638 32.76 32.84 22039.8 1.638 34.398 34.478 21971.4 1.638 36.036 36.116 21904.6 1.638 37.674 37.754 21839.3 1.638 39.312 39.392 21775.4 1.638 40.95 41.03 21712.9 1.638 42.588 42.668 21651.4 1.638 44.226 44.306 21591.2 1.638 45.864 45.944 21532.2 1.638 47.502 47.582 21474.2 1.638 49.14 49.22 21417.1 1.638 50.778 50.858 21361 1.638 52.416 52.496 21305.8 1.638 54.054 54.134 21251.5 1.638 55.692 55.772 21198 1.638 57.33 57.41 21145.2 1.638 58.968 59.048 21093.2 1.638 60.606 60.686 21041.8 1.638 62.244 62.324 20991.3 1.638 63.882 63.962 20941.3 1.638 65.52 65.6 20892.2 1.638 67.158 67.238 20843.4 1.638 68.796 68.876 20795.1 1.638 70.434 70.514 20747.6 1.638 72.072 72.152 20700.8 1.638 73.71 73.79 20654.5 1.638 75.348 75.428 20608.4 1.638 76.986 77.066 20563.1 1.638 78.624 78.704 20518 1.638 80.262 80.342 20473.4 1.638 81.9 81.98 20429.3 1.638 83.538 83.618 20385.9 1.638 85.176 85.256 20342.6 1.638 86.814 86.894 20300 1.638 88.452 88.532 20257.4 1.638 90.09 90.17 20215.7 1.638 91.728 91.808 20173.8 1.638 93.366 93.446 20132.7 1.638 95.004 95.084 20092.1 1.638 96.642 96.722 20051.2 1.638 98.28 98.36 20011.3 1.638 99.918 99.998 19971.4 1.638 101.556 101.636 19931.7 1.638 103.194 103.274 19892.8 1.638 104.832 104.912 19853.8 1.638 106.47 106.55 19815.4 1.638 108.108 108.188 19776.5 1.638 109.746 109.826 19739.1 1.638 111.384 111.464 19701.1 1.638 113.022 113.102 19663.7 1.638 114.66 114.74 19626.7 1.638 116.298 116.378 19589.8 1.638 117.936 118.016 19552.8 1.638 119.574 119.654 19516.4 1.638 121.212 121.292 19480.4 1.638 122.85 122.93 19444.4 1.638 124.488 124.568 19409 1.638 126.126 126.206 19373 1.638 127.764 127.844 19338 1.638 129.402 129.482 19303 1.638 131.04 131.12 19268.5 1.638 132.678 132.758 19234.1 1.638 134.316 134.396 19199.6 1.638 135.954 136.034 19165.6 1.638 137.592 137.672 19131.6 1.638 139.23 139.31 19098.1 1.638 140.868 140.948 19064.1 1.638 142.506 142.586 19031.1 1.638 144.144 144.224 18998.1 1.638 145.782 145.862 18965 1.638 147.42 147.5 18932 1.638 149.058 149.138 18899.5 1.638 150.696 150.776 18867.5 1.638 152.334 152.414 18835 1.638 153.972 154.052 18803 1.638 155.61 155.69 18771.4 1.638 157.248 157.328 18739.4 1.638 158.886 158.966 18707.4 1.638 160.524 160.604 18676.8 1.638 162.162 162.242 18645.3 1.638 163.8 163.88 18614.7 1.638 165.438 165.518 18583.2 1.638 167.076 167.156 18552.7 1.638 168.714 168.794 18522.1 1.638 170.352 170.432 18490.6 1.638 171.99 172.07 18461 1.638 173.628 173.708 18431.5 1.638 175.266 175.346 18400.9 1.638 176.904 176.984 18370.4 1.638 178.542 178.622 18340.8 1.638 180.18 180.26 18312.2 1.638 181.818 181.898 18282.7 1.638 183.456 183.536 18253.1 1.638 185.094 185.174 18223.6 1.638 186.732 186.812 18195 1.638 188.37 188.45 18165.4 1.638 190.008 190.088 18136.8 1.638 191.646 191.726 18108.3 1.638 193.284 193.364 18078.7 1.638 194.922 195.002 18051.1 1.638 196.56 196.64 18022.5 1.638 198.198 198.278 17994 1.638 199.836 199.916 17965.4 1.638 201.474 201.554 17938.8 1.638 203.112 203.192 17910.2 1.638 204.75 204.83 17882.6 1.638 206.388 206.468 17855 1.638 208.026 208.106 17827.4 1.638 209.664 209.744 17799.8 1.638 211.302 211.382 17772.3 1.638 212.94 213.02 17745.7 1.638 214.578 214.658 17718.1 1.638 216.216 216.296 17690.5 1.638 217.854 217.934 17663.9 1.638 219.492 219.572 17637.3 1.638 221.13 221.21 17610.7 1.638 222.768 222.848 17584.1 1.638 224.406 224.486 17557.4 1.638 226.044 226.124 17530.8 1.638 227.682 227.762 17504.2 1.638 229.32 229.4 17478.6 1.638 230.958 231.038 17452 1.638 232.596 232.676 17426.4 1.638 234.234 234.314 17400.8 1.638 235.872 235.952 17375.2 1.638 237.51 237.59 17348.6 1.638 239.148 239.228 17322.9 1.638 240.786 240.866 17297.3 1.638 242.424 242.504 17271.7 1.638 244.062 244.142 17246.1 1.638 245.7 245.78 17220.5 1.638 247.338 247.418 17195.8 1.638 248.976 249.056 17171.2 1.638 250.614 250.694 17145.6 1.638 252.252 252.332 17119.9 1.638 253.89 253.97 17095.3 1.638 255.528 255.608 17070.7 1.638 257.166 257.246 17047 1.638 258.804 258.884 17023.4 1.638 260.442 260.522 16997.8 1.638 262.08 262.16 16972.1 1.638 263.718 263.798 16948.5 1.638 265.356 265.436 16924.8 1.638 266.994 267.074 16901.2 1.638 268.632 268.712 16875.6 1.638 270.27 270.35 16853.9 1.638 271.908 271.988 16828.3 1.638 273.546 273.626 16804.6 1.638 275.184 275.264 16781 1.638 276.822 276.902 16755.4 1.638 278.46 278.54 16731.7 1.638 280.098 280.178 16708.1 1.638 281.736 281.816 16684.4 1.638 283.374 283.454 16662.7 1.638 285.012 285.092 16637.1 1.638 286.65 286.73 16615.4 1.638 288.288 288.368 16591.8 1.638 289.926 290.006 16568.1 1.638 291.564 291.644 16544.5 1.638 293.202 293.282 16522.8 1.638 294.84 294.92 16497.2 1.638 296.478 296.558 16475.5 1.638 298.116 298.196 16451.9 1.638 299.754 299.834 16428.2 1.638 301.392 301.472 16406.5 1.638 303.03 303.11 16382.9 1.638 304.668 304.748 16359.2 1.638 306.306 306.386 16339.5 1.638 307.944 308.024 16315.9 1.638 309.582 309.662 16294.2 1.638 311.22 311.3 16270.6 1.638 312.858 312.938 16248.9 1.638 314.496 314.576 16225.2 1.638 316.134 316.214 16203.6 1.638 317.772 317.852 16181.9 1.638 319.41 319.49 16160.2 1.638 321.048 321.128 16136.5 1.638 322.686 322.766 16114.9 1.638 324.324 324.404 16093.2 1.638 325.962 326.042 16069.5 1.638 327.6 327.68 16047.9 1.638 329.238 329.318 16026.2 1.638 330.876 330.956 16004.5 1.638 332.514 332.594 15982.8 1.638 334.152 334.232 15961.2 1.638 335.79 335.87 15939.5 1.638 337.428 337.508 15917.8 1.638 339.066 339.146 15896.1 1.638 340.704 340.784 15874.4 1.638 342.342 342.422 15854.7 1.638 343.98 344.06 15831.1 1.638 345.618 345.698 15809.4 1.638 347.256 347.336 15789.7 1.638 348.894 348.974 15768 1.638 350.532 350.612 15748.3 1.638 352.17 352.25 15724.7 1.638 353.808 353.888 15705 1.638 355.446 355.526 15683.3 1.638 357.084 357.164 15661.6 1.638 358.722 358.802 15641.9 1.638 360.36 360.44 15620.2 1.638 361.998 362.078 15600.5 1.638 363.636 363.716 15578.8 1.638 365.274 365.354 15557.2 1.638 366.912 366.992 15537.4 1.638 368.55 368.63 15517.7 1.638 370.188 370.268 15496.1 1.638 371.826 371.906 15476.4 1.638 373.464 373.544 15454.7 1.638 375.102 375.182 15435 1.638 376.74 376.82 15415.3 1.638 378.378 378.458 15393.6 1.638 380.016 380.096 15371.9 1.638 381.654 381.734 15354.2 1.638 383.292 383.372 15332.5 1.638 384.93 385.01 15310.8 1.638 386.568 386.648 15291.1 1.638 388.206 388.286 15273.4 1.638 389.844 389.924 15251.7 1.638 391.482 391.562 15232 1.638 393.12 393.2 15212.3 1.638 394.758 394.838 15190.6 1.638 396.396 396.476 15172.9 1.638 398.034 398.114 15153.1 1.638 399.672 399.752 15131.5 1.638 401.31 401.39 15113.7 1.638 402.948 403.028 15092.1 1.638 404.586 404.666 15072.3 1.638 406.224 406.304 15054.6 1.638 407.862 407.942 15031 1.638 409.5 409.58 15015.2 1.638 411.138 411.218 14995.5 1.638 412.776 412.856 14975.8 1.638 414.414 414.494 14952.1 1.638 416.052 416.132 14936.4 1.638 417.69 417.77 14916.7 1.638 419.328 419.408 14897 1.638 420.966 421.046 14877.2 1.638 422.604 422.684 14857.5 1.638 424.242 424.322 14837.8 1.638 425.88 425.96 14822.1 1.638 427.518 427.598 14798.4 1.638 429.156 429.236 14782.7 1.638 430.794 430.874 14759 1.638 432.432 432.512 14743.2 1.638 434.07 434.15 14727.5 1.638 435.708 435.788 14707.8 1.638 437.346 437.426 14684.1 1.638 438.984 439.064 14664.4 1.638 440.622 440.702 14648.6 1.638 442.26 442.34 14628.9 1.638 443.898 443.978 14613.2 1.638 445.536 445.616 14589.5 1.638 447.174 447.254 14573.8 1.638 448.812 448.892 14554 1.638 450.45 450.53 14538.3 1.638 452.088 452.168 14518.6 1.638 453.726 453.806 14498.9 1.638 455.364 455.444 14479.2 1.638 457.002 457.082 14459.5 1.638 458.64 458.72 14443.7 1.638 460.278 460.358 14424 1.638 461.916 461.996 14408.2 1.638 463.554 463.634 14384.6 1.638 465.192 465.272 14368.8 1.638 466.83 466.91 14353 1.638 468.468 468.548 14333.3 1.638 470.106 470.186 14313.6 1.638 471.744 471.824 14293.9 1.638 473.382 473.462 14274.2 1.638 475.02 475.1 14262.4 1.638 476.658 476.738 14238.7 1.638 478.296 478.376 14223 1.638 479.934 480.014 14207.2 1.638 481.572 481.652 14187.5 1.638 483.21 483.29 14167.8 1.638 484.848 484.928 14152 1.638 486.486 486.566 14132.3 1.638 488.124 488.204 14116.5 1.638 489.762 489.842 14096.8 1.638 491.4 491.48 14077.1 1.638 493.038 493.118 14057.4 1.638 494.676 494.756 14045.6 1.638 496.314 496.394 14021.9 1.638 497.952 498.032 14010.1 1.638 499.59 499.67 13990.4 1.638 501.228 501.308 13970.7 1.638 502.866 502.946 13954.9 1.638 504.504 504.584 13935.2 1.638 506.142 506.222 13919.5 1.638 507.78 507.86 13899.8 1.638 509.418 509.498 13880.1 1.638 511.056 511.136 13864.3 1.638 512.694 512.774 13844.6 1.638 514.332 514.412 13828.8 1.638 515.97 516.05 13809.1 1.638 517.608 517.688 13789.4 1.638 519.246 519.326 13773.6 1.638 520.884 520.964 13757.9 1.638 522.522 522.602 13742.1 1.638 524.16 524.24 13722.4 1.638 525.798 525.878 13702.7 1.638 527.436 527.516 13686.9 1.638 529.074 529.154 13671.2 1.638 530.712 530.792 13655.4 1.638 532.35 532.43 13635.7 1.638 533.988 534.068 13616 1.638 535.626 535.706 13600.2 1.638 537.264 537.344 13584.4 1.638 538.902 538.982 13564.7 1.638 540.54 540.62 13549 1.638 542.178 542.258 13533.2 1.638 543.816 543.896 13513.5 1.638 545.454 545.534 13497.7 1.638 547.092 547.172 13482 1.638 548.73 548.81 13462.3 1.638 550.368 550.448 13450.4 1.638 552.006 552.086 13430.7 1.638 553.644 553.724 13415 1.638 555.282 555.362 13399.2 1.638 556.92 557 13379.5 1.638 558.558 558.638 13363.7 1.638 560.196 560.276 13348 1.638 561.834 561.914 13332.2 1.638 563.472 563.552 13312.5 1.638 565.11 565.19 13296.7 1.638 566.748 566.828 13277 1.638 568.386 568.466 13265.2 1.638 570.024 570.104 13245.5 1.638 571.662 571.742 13229.7 1.638 573.3 573.38 13213.9 1.638 574.938 575.018 13198.2 1.638 576.576 576.656 13182.4 1.638 578.214 578.294 13162.7 1.638 579.852 579.932 13146.9 1.638 581.49 581.57 13131.2 1.638 583.128 583.208 13115.4 1.638 584.766 584.846 13095.7 1.638 586.404 586.484 13083.9 1.638 588.042 588.122 13068.1 1.638 589.68 589.76 13048.4 1.638 591.318 591.398 13032.6 1.638 592.956 593.036 13016.9 1.638 594.594 594.674 13001.1 1.638 596.232 596.312 12981.4 1.638 597.87 597.95 12969.6 1.638 599.508 599.588 12949.9 1.638 601.146 601.226 12934.1 1.638 602.784 602.864 12922.3 1.638 604.422 604.502 12906.5 1.638 606.06 606.14 12886.8 1.638 607.698 607.778 12871 1.638 609.336 609.416 12855.3 1.638 610.974 611.054 12839.5 1.638 612.612 612.692 12819.8 1.638 614.25 614.33 12808 1.638 615.888 615.968 12788.3 1.638 617.526 617.606 12776.4 1.638 619.164 619.244 12756.7 1.638 620.802 620.882 12744.9 1.638 622.44 622.52 12729.1 1.638 624.078 624.158 12709.4 1.638 625.716 625.796 12693.7 1.638 627.354 627.434 12681.8 1.638 628.992 629.072 12662.1 1.638 630.63 630.71 12646.4 1.638 632.268 632.348 12630.6 1.638 633.906 633.986 12618.8 1.638 635.544 635.624 12599.1 1.638 637.182 637.262 12587.2 1.638 638.82 638.9 12571.5 1.638 640.458 640.538 12555.7 1.638 642.096 642.176 12540 1.638 643.734 643.814 12524.2 1.638 645.372 645.452 12508.4 1.638 647.01 647.09 12492.7 1.638 648.648 648.728 12469 1.638 650.286 650.366 12461.1 1.638 651.924 652.004 12445.4 1.638 653.562 653.642 12429.6 1.638 655.2 655.28 12413.8 1.638 656.838 656.918 12398.1 1.638 658.476 658.556 12382.3 1.638 660.114 660.194 12366.5 1.638 661.752 661.832 12350.8 1.638 663.39 663.47 12335 1.638 665.028 665.108 12319.2 1.638 666.666 666.746 12303.5 1.638 668.304 668.384 12287.7 1.638 669.942 670.022 12271.9 1.638 671.58 671.66 12264 1.638 673.218 673.298 12240.4 1.638 674.856 674.936 12224.6 1.638 676.494 676.574 12216.8 1.638 678.132 678.212 12201 1.638 679.77 679.85 12185.2 1.638 681.408 681.488 12161.6 1.638 683.046 683.126 12145.8 1.638 684.684 684.764 12137.9 1.638 686.322 686.402 12122.2 1.638 687.96 688.04 12106.4 1.638 689.598 689.678 12090.6 1.638 691.236 691.316 12074.9 1.638 692.874 692.954 12059.1 1.638 694.512 694.592 12051.2 1.638 696.15 696.23 12035.4 1.638 697.788 697.868 12019.7 1.638 699.426 699.506 12003.9 1.638 701.064 701.144 11988.1 1.638 702.702 702.782 11972.4 1.638 704.34 704.42 11956.6 1.638 705.978 706.058 11940.8 1.638 707.616 707.696 11925.1 1.638 709.254 709.334 11909.3 1.638 710.892 710.972 11893.6 1.638 712.53 712.61 11877.8 1.638 714.168 714.248 11862 1.638 715.806 715.886 11854.1 1.638 717.444 717.524 11838.4 1.638 719.082 719.162 11822.6 1.638 720.72 720.8 11814.7 1.638 722.358 722.438 11791.1 1.638 723.996 724.076 11783.2 1.638 725.634 725.714 11759.5 1.638 727.272 727.352 11751.7 1.638 728.91 728.99 11735.9 1.638 730.548 730.628 11720.1 1.638 732.186 732.266 11704.4 1.638 733.824 733.904 11688.6 1.638 735.462 735.542 11680.7 1.638 737.1 737.18 11664.9 1.638 738.738 738.818 11641.3 1.638 740.376 740.456 11633.4 1.638 742.014 742.094 11617.6 1.638 743.652 743.732 11601.9 1.638 745.29 745.37 11586.1 1.638 746.928 747.008 11578.2 1.638 748.566 748.646 11554.6 1.638 750.204 750.284 11538.8 1.638 751.842 751.922 11530.9 1.638 753.48 753.56 11515.2 1.638 755.118 755.198 11507.3 1.638 756.756 756.836 11483.6 1.638 758.394 758.474 11475.8 1.638 760.032 760.112 11460 1.638 761.67 761.75 11444.2 1.638 763.308 763.388 11428.5 1.638 764.946 765.026 11412.7 1.638 766.584 766.664 11404.8 1.638 768.222 768.302 11381.2 1.638 769.86 769.94 11373.3 1.638 771.498 771.578 11357.5 1.638 773.136 773.216 11341.7 1.638 774.774 774.854 11333.9 1.638 776.412 776.492 11318.1 1.638 778.05 778.13 11302.3 1.638 779.688 779.768 11286.6 1.638 781.326 781.406 11270.8 1.638 782.964 783.044 11255 1.638 784.602 784.682 11247.1 1.638 786.24 786.32 11231.4 1.638 787.878 787.958 11215.6 1.638 789.516 789.596 11199.9 1.638 791.154 791.234 11192 1.638 792.792 792.872 11176.2 1.638 794.43 794.51 11160.4 1.638 796.068 796.148 11144.7 1.638 797.706 797.786 11128.9 1.638 799.344 799.424 11113.1 1.638 800.982 801.062 11105.3 1.638 802.62 802.7 11089.5 1.638 804.258 804.338 11073.7 1.638 805.896 805.976 11065.8 1.638 807.534 807.614 11050.1 1.638 809.172 809.252 11034.3 1.638 810.81 810.89 11018.5 1.638 812.448 812.528 11002.8 1.638 814.086 814.166 10994.9 1.638 815.724 815.804 10979.1 1.638 817.362 817.442 10963.4 1.638 819 819.08 10955.5 1.638 820.638 820.718 10939.7 1.638 822.276 822.356 10923.9 1.638 823.914 823.994 10908.2 1.638 825.552 825.632 10892.4 1.638 827.19 827.27 10884.5 1.638 828.828 828.908 10868.8 1.638 830.466 830.546 10853 1.638 832.104 832.184 10837.2 1.638 833.742 833.822 10821.5 1.638 835.38 835.46 10813.6 1.638 837.018 837.098 10797.8 1.638 838.656 838.736 10782.1 1.638 840.294 840.374 10766.3 1.638 841.932 842.012 10750.5 1.638 843.57 843.65 10742.6 1.638 845.208 845.288 10726.9 1.638 846.846 846.926 10711.1 1.638 848.484 848.564 10703.2 1.638 850.122 850.202 10687.5 1.638 851.76 851.84 10679.6 1.638 853.398 853.478 10663.8 1.638 855.036 855.116 10648 1.638 856.674 856.754 10632.3 1.638 858.312 858.392 10624.4 1.638 859.95 860.03 10600.7 1.638 861.588 861.668 10592.9 1.638 863.226 863.306 10577.1 1.638 864.864 864.944 10561.3 1.638 866.502 866.582 10553.5 1.638 868.14 868.22 10537.7 1.638 869.778 869.858 10521.9 1.638 871.416 871.496 10514 1.638 873.054 873.134 10498.3 1.638 874.692 874.772 10490.4 1.638 876.33 876.41 10466.7 1.638 877.968 878.048 10458.9 1.638 879.606 879.686 10451 1.638 881.244 881.324 10435.2 1.638 882.882 882.962 10419.4 1.638 884.52 884.6 10403.7 1.638 886.158 886.238 10387.9 1.638 887.796 887.876 10380 1.638 889.434 889.514 10364.3 1.638 891.072 891.152 10356.4 1.638 892.71 892.79 10340.6 1.638 894.348 894.428 10324.8 1.638 895.986 896.066 10309.1 1.638 897.624 897.704 10301.2 1.638 899.262 899.342 10285.4 1.638 900.9 900.98 10269.7 1.638 902.538 902.618 10261.8 1.638 904.176 904.256 10246 1.638 905.814 905.894 10230.2 1.638 907.452 907.532 10222.4 1.638 909.09 909.17 10206.6 1.638 910.728 910.808 10190.8 1.638 912.366 912.446 10183 1.638 914.004 914.084 10167.2 1.638 915.642 915.722 10151.4 1.638 917.28 917.36 10143.5 1.638 918.918 918.998 10127.8 1.638 920.556 920.636 10112 1.638 922.194 922.274 10096.2 1.638 923.832 923.912 10088.4 1.638 925.47 925.55 10072.6 1.638 927.108 927.188 10064.7 1.638 928.746 928.826 10056.8 1.638 930.384 930.464 10041.1 1.638 932.022 932.102 10025.3 1.638 933.66 933.74 10009.5 1.638 935.298 935.378 10001.6 1.638 936.936 937.016 9985.88 1.638 938.574 938.654 9970.11 1.638 940.212 940.292 9962.23 1.638 941.85 941.93 9946.46 1.638 943.488 943.568 9938.58 1.638 945.126 945.206 9922.81 1.638 946.764 946.844 9907.05 1.638 948.402 948.482 9891.28 1.638 950.04 950.12 9883.4 1.638 951.678 951.758 9867.63 1.638 953.316 953.396 9859.75 1.638 954.954 955.034 9843.98 1.638 956.592 956.672 9828.22 1.638 958.23 958.31 9820.34 1.638 959.868 959.948 9804.57 1.638 961.506 961.586 9796.69 1.638 963.144 963.224 9780.92 1.638 964.782 964.862 9765.16 1.638 966.42 966.5 9757.27 1.638 968.058 968.138 9733.62 1.638 969.696 969.776 9725.74 1.638 971.334 971.414 9717.86 1.638 972.972 973.052 9702.09 1.638 974.61 974.69 9694.21 1.638 976.248 976.328 9678.44 1.638 977.886 977.966 9662.68 1.638 979.524 979.604 9646.91 1.638 981.162 981.242 9639.03 1.638 982.8 982.88 9623.26 1.638 984.438 984.518 9615.38 1.638 986.076 986.156 9599.61 1.638 987.714 987.794 9583.85 1.638 989.352 989.432 9575.96 1.638 990.99 991.07 9560.2 1.638 992.628 992.708 9552.32 1.638 994.266 994.346 9544.43 1.638 995.904 995.984 9528.67 1.638 997.542 997.622 9512.9 1.638 999.18 999.26 9505.02 1.638 1000.82 1000.9 9489.25 1.638 1002.46 1002.54 9473.49 1.638 1004.09 1004.17 9457.72 1.638 1005.73 1005.81 9449.84 1.638 1007.37 1007.45 9441.95 1.638 1009.01 1009.09 9426.19 1.638 1010.65 1010.73 9410.42 1.638 1012.28 1012.36 9402.54 1.638 1013.92 1014 9386.77 1.638 1015.56 1015.64 9371.01 1.638 1017.2 1017.28 9363.12 1.638 1018.84 1018.92 9355.24 1.638 1020.47 1020.55 9339.48 1.638 1022.11 1022.19 9323.71 1.638 1023.75 1023.83 9307.94 1.638 1025.39 1025.47 9315.83 1.638 1027.03 1027.11 9300.06 1.638 1028.66 1028.74 9300.06 1.638 1030.3 1030.38 9284.3 1.638 1031.94 1032.02 9252.76 1.638 1033.58 1033.66 9252.76 1.638 1035.22 1035.3 9237 1.638 1036.85 1036.93 9221.23 1.638 1038.49 1038.57 9205.47 1.638 1040.13 1040.21 9205.47 1.638 1041.77 1041.85 9189.7 1.638 1043.41 1043.49 9189.7 1.638 1045.04 1045.12 9158.17 1.638 1046.68 1046.76 9142.4 1.638 1048.32 1048.4 9142.4 1.638 1049.96 1050.04 9126.64 1.638 1051.6 1051.68 9110.87 1.638 1053.23 1053.31 9095.1 1.638 1054.87 1054.95 9079.34 1.638 1056.51 1056.59 9079.34 1.638 1058.15 1058.23 9063.57 1.638 1059.79 1059.86 9047.81 1.638 1061.42 1061.5 9047.81 1.638 1063.06 1063.14 9032.04 1.638 1064.7 1064.78 9016.28 1.638 1066.34 1066.42 9000.51 1.638 1067.97 1068.05 9000.51 1.638 1069.61 1069.69 8968.98 1.638 1071.25 1071.33 8968.98 1.638 1072.89 1072.97 8968.98 1.638 1074.53 1074.61 8937.45 1.638 1076.16 1076.24 8937.45 1.638 1077.8 1077.88 8921.68 1.638 1079.44 1079.52 8905.91 1.638 1081.08 1081.16 8890.15 1.638 1082.72 1082.8 8874.38 1.638 1084.35 1084.43 8874.38 1.638 1085.99 1086.07 8858.62 1.638 1087.63 1087.71 8858.62 1.638 1089.27 1089.35 8842.85 1.638 1090.91 1090.99 8827.08 1.638 1092.54 1092.62 8811.32 1.638 1094.18 1094.26 8795.55 1.638 1095.82 1095.9 8779.79 1.638 1097.46 1097.54 8779.79 1.638 1099.1 1099.18 8764.02 1.638 1100.73 1100.81 8748.25 1.638 1102.37 1102.45 8732.49 1.638 1104.01 1104.09 8732.49 1.638 1105.65 1105.73 8716.72 1.638 1107.29 1107.37 8700.96 1.638 1108.92 1109 8685.19 1.638 1110.56 1110.64 8685.19 1.638 1112.2 1112.28 8669.43 1.638 1113.84 1113.92 8669.43 1.638 1115.47 1115.55 8653.66 1.638 1117.11 1117.19 8637.89 1.638 1118.75 1118.83 8622.13 1.638 1120.39 1120.47 8606.36 1.638 1122.03 1122.11 8590.6 1.638 1123.66 1123.74 8590.6 1.638 1125.3 1125.38 8574.83 1.638 1126.94 1127.02 8559.06 1.638 1128.58 1128.66 8543.3 1.638 1130.22 1130.3 8543.3 1.638 1131.85 1131.93 8527.53 1.638 1133.49 1133.57 8527.53 1.638 1135.13 1135.21 8511.77 1.638 1136.77 1136.85 8496 1.638 1138.41 1138.49 8480.23 1.638 1140.04 1140.12 8464.47 1.638 1141.68 1141.76 8448.7 1.638 1143.32 1143.4 8448.7 1.638 1144.96 1145.04 8432.94 1.638 1146.6 1146.68 8417.17 1.638 1148.23 1148.31 8417.17 1.638 1149.87 1149.95 8401.41 1.638 1151.51 1151.59 8385.64 1.638 1153.15 1153.23 8385.64 1.638 1154.79 1154.87 8369.87 1.638 1156.42 1156.5 8354.11 1.638 1158.06 1158.14 8338.34 1.638 1159.7 1159.78 8322.58 1.638 1161.34 1161.42 8322.58 1.638 1162.98 1163.06 8306.81 1.638 1164.61 1164.69 8306.81 1.638 1166.25 1166.33 8291.04 1.638 1167.89 1167.97 8275.28 1.638 1169.53 1169.61 8259.51 1.638 1171.16 1171.24 8243.75 1.638 1172.8 1172.88 8227.98 1.638 1174.44 1174.52 8227.98 1.638 1176.08 1176.16 8212.21 1.638 1177.72 1177.8 8196.45 1.638 1179.35 1179.43 8196.45 1.638 1180.99 1181.07 8180.68 1.638 1182.63 1182.71 8164.92 1.638 1184.27 1184.35 8164.92 1.638 1185.91 1185.99 8149.15 1.638 1187.54 1187.62 8133.38 1.638 1189.18 1189.26 8133.38 1.638 1190.82 1190.9 8117.62 1.638 1192.46 1192.54 8101.85 1.638 1194.1 1194.18 8086.09 1.638 1195.73 1195.81 8086.09 1.638 1197.37 1197.45 8070.32 1.638 1199.01 1199.09 8054.56 1.638 1200.65 1200.73 8038.79 1.638 1202.29 1202.37 8023.02 1.638 1203.92 1204 8023.02 1.638 1205.56 1205.64 8007.26 1.638 1207.2 1207.28 8007.26 1.638 1208.84 1208.92 7975.73 1.638 1210.48 1210.56 7975.73 1.638 1212.11 1212.19 7959.96 1.638 1213.75 1213.83 7959.96 1.638 1215.39 1215.47 7944.2 1.638 1217.03 1217.11 7912.66 1.638 1218.67 1218.75 7912.66 1.638 1220.3 1220.38 7896.9 1.638 1221.94 1222.02 7881.13 1.638 1223.58 1223.66 7881.13 1.638 1225.22 1225.3 7881.13 1.638 1226.85 1226.93 7865.37 1.638 1228.49 1228.57 7849.6 1.638 1230.13 1230.21 7833.83 1.638 1231.77 1231.85 7833.83 1.638 1233.41 1233.49 7818.07 1.638 1235.04 1235.12 7802.3 1.638 1236.68 1236.76 7786.54 1.638 1238.32 1238.4 7770.77 1.638 1239.96 1240.04 7770.77 1.638 1241.6 1241.68 7755 1.638 1243.23 1243.31 7739.24 1.638 1244.87 1244.95 7739.24 1.638 1246.51 1246.59 7723.47 1.638 1248.15 1248.23 7707.71 1.638 1249.79 1249.87 7691.94 1.638 1251.42 1251.5 7691.94 1.638 1253.06 1253.14 7691.94 1.638 1254.7 1254.78 7660.41 1.638 1256.34 1256.42 7660.41 1.638 1257.98 1258.06 7644.64 1.638 1259.61 1259.69 7628.88 1.638 1261.25 1261.33 7613.11 1.638 1262.89 1262.97 7613.11 1.638 1264.53 1264.61 7597.35 1.638 1266.17 1266.25 7581.58 1.638 1267.8 1267.88 7565.81 1.638 1269.44 1269.52 7565.81 1.638 1271.08 1271.16 7565.81 1.638 1272.72 1272.8 7550.05 1.638 1274.36 1274.44 7534.28 1.638 1275.99 1276.07 7518.52 1.638 1277.63 1277.71 7518.52 1.638 1279.27 1279.35 7502.75 1.638 1280.91 1280.99 7486.98 1.638 1282.54 1282.62 7471.22 1.638 1284.18 1284.26 7471.22 1.638 1285.82 1285.9 7455.45 1.638 1287.46 1287.54 7455.45 1.638 1289.1 1289.18 7439.69 1.638 1290.73 1290.81 7423.92 1.638 1292.37 1292.45 7423.92 1.638 1294.01 1294.09 7408.15 1.638 1295.65 1295.73 7392.39 1.638 1297.29 1297.37 7392.39 1.638 1298.92 1299 7376.62 1.638 1300.56 1300.64 7345.09 1.638 1302.2 1302.28 7345.09 1.638 1303.84 1303.92 7329.32 1.638 1305.48 1305.56 7329.32 1.638 1307.11 1307.19 7313.56 1.638 1308.75 1308.83 7297.79 1.638 1310.39 1310.47 7282.03 1.638 1312.03 1312.11 7282.03 1.638 1313.67 1313.75 7266.26 1.638 1315.3 1315.38 7250.49 1.638 1316.94 1317.02 7250.49 1.638 1318.58 1318.66 7234.73 1.638 1320.22 1320.3 7234.73 1.638 1321.86 1321.94 7218.96 1.638 1323.49 1323.57 7203.2 1.638 1325.13 1325.21 7203.2 1.638 1326.77 1326.85 7187.43 1.638 1328.41 1328.49 7171.67 1.638 1330.05 1330.12 7155.9 1.638 1331.68 1331.76 7155.9 1.638 1333.32 1333.4 7140.13 1.638 1334.96 1335.04 7124.37 1.638 1336.6 1336.68 7108.6 1.638 1338.23 1338.31 7108.6 1.638 1339.87 1339.95 7092.84 1.638 1341.51 1341.59 7077.07 1.638 1343.15 1343.23 7077.07 1.638 1344.79 1344.87 7061.3 1.638 1346.42 1346.5 7045.54 1.638 1348.06 1348.14 7045.54 1.638 1349.7 1349.78 7029.77 1.638 1351.34 1351.42 7014.01 1.638 1352.98 1353.06 6998.24 1.638 1354.61 1354.69 6998.24 1.638 1356.25 1356.33 6982.47 1.638 1357.89 1357.97 6982.47 1.638 1359.53 1359.61 6966.71 1.638 1361.17 1361.25 6950.94 1.638 1362.8 1362.88 6950.94 1.638 1364.44 1364.52 6935.18 1.638 1366.08 1366.16 6919.41 1.638 1367.72 1367.8 6919.41 1.638 1369.36 1369.44 6903.64 1.638 1370.99 1371.07 6887.88 1.638 1372.63 1372.71 6872.11 1.638 1374.27 1374.35 6872.11 1.638 1375.91 1375.99 6856.35 1.638 1377.55 1377.63 6856.35 1.638 1379.18 1379.26 6840.58 1.638 1380.82 1380.9 6824.82 1.638 1382.46 1382.54 6809.05 1.638 1384.1 1384.18 6809.05 1.638 1385.73 1385.81 6793.28 1.638 1387.37 1387.45 6777.52 1.638 1389.01 1389.09 6777.52 1.638 1390.65 1390.73 6761.75 1.638 1392.29 1392.37 6745.99 1.638 1393.92 1394 6745.99 1.638 1395.56 1395.64 6730.22 1.638 1397.2 1397.28 6714.46 1.638 1398.84 1398.92 6698.69 1.638 1400.48 1400.56 6698.69 1.638 1402.11 1402.19 6682.92 1.638 1403.75 1403.83 6667.16 1.638 1405.39 1405.47 6667.16 1.638 1407.03 1407.11 6667.16 1.638 1408.67 1408.75 6635.62 1.638 1410.3 1410.38 6635.62 1.638 1411.94 1412.02 6619.86 1.638 1413.58 1413.66 6619.86 1.638 1415.22 1415.3 6604.09 1.638 1416.86 1416.94 6604.09 1.638 1418.49 1418.57 6588.33 1.638 1420.13 1420.21 6572.56 1.638 1421.77 1421.85 6556.79 1.638 1423.41 1423.49 6541.03 1.638 1425.05 1425.13 6541.03 1.638 1426.68 1426.76 6525.26 1.638 1428.32 1428.4 6509.5 1.638 1429.96 1430.04 6509.5 1.638 1431.6 1431.68 6493.73 1.638 1433.24 1433.32 6493.73 1.638 1434.87 1434.95 6477.97 1.638 1436.51 1436.59 6462.2 1.638 1438.15 1438.23 6446.43 1.638 1439.79 1439.87 6446.43 1.638 1441.42 1441.5 6430.67 1.638 1443.06 1443.14 6430.67 1.638 1444.7 1444.78 6414.9 1.638 1446.34 1446.42 6414.9 1.638 1447.98 1448.06 6399.14 1.638 1449.61 1449.69 6383.37 1.638 1451.25 1451.33 6367.61 1.638 1452.89 1452.97 6367.61 1.638 1454.53 1454.61 6351.84 1.638 1456.17 1456.25 6336.07 1.638 1457.8 1457.88 6320.31 1.638 1459.44 1459.52 6320.31 1.638 1461.08 1461.16 6320.31 1.638 1462.72 1462.8 6288.78 1.638 1464.36 1464.44 6288.78 1.638 1465.99 1466.07 6288.78 1.638 1467.63 1467.71 6273.01 1.638 1469.27 1469.35 6257.24 1.638 1470.91 1470.99 6257.24 1.638 1472.55 1472.63 6241.48 1.638 1474.18 1474.26 6225.71 1.638 1475.82 1475.9 6209.95 1.638 1477.46 1477.54 6209.95 1.638 1479.1 1479.18 6194.18 1.638 1480.74 1480.82 6194.18 1.638 1482.37 1482.45 6178.41 1.638 1484.01 1484.09 6178.41 1.638 1485.65 1485.73 6162.65 1.638 1487.29 1487.37 6146.88 1.638 1488.93 1489.01 6146.88 1.638 1490.56 1490.64 6115.35 1.638 1492.2 1492.28 6115.35 1.638 1493.84 1493.92 6099.58 1.638 1495.48 1495.56 6099.58 1.638 1497.11 1497.19 6083.82 1.638 1498.75 1498.83 6068.05 1.638 1500.39 1500.47 6068.05 1.638 1502.03 1502.11 6052.29 1.638 1503.67 1503.75 6036.52 1.638 1505.3 1505.38 6036.52 1.638 1506.94 1507.02 6020.76 1.638 1508.58 1508.66 6020.76 1.638 1510.22 1510.3 6004.99 1.638 1511.86 1511.94 5989.22 1.638 1513.49 1513.57 5989.22 1.638 1515.13 1515.21 5973.46 1.638 1516.77 1516.85 5973.46 1.638 1518.41 1518.49 5957.69 1.638 1520.05 1520.13 5926.16 1.638 1521.68 1521.76 5926.16 1.638 1523.32 1523.4 5926.16 1.638 1524.96 1525.04 5910.39 1.638 1526.6 1526.68 5894.63 1.638 1528.24 1528.32 5894.63 1.638 1529.87 1529.95 5894.63 1.638 1531.51 1531.59 5863.1 1.638 1533.15 1533.23 5847.33 1.638 1534.79 1534.87 5847.33 1.638 1536.43 1536.51 5847.33 1.638 1538.06 1538.14 5831.56 1.638 1539.7 1539.78 5831.56 1.638 1541.34 1541.42 5800.03 1.638 1542.98 1543.06 5800.03 1.638 1544.62 1544.7 5784.27 1.638 1546.25 1546.33 5784.27 1.638 1547.89 1547.97 5768.5 1.638 1549.53 1549.61 5752.73 1.638 1551.17 1551.25 5752.73 1.638 1552.8 1552.88 5736.97 1.638 1554.44 1554.52 5736.97 1.638 1556.08 1556.16 5721.2 1.638 1557.72 1557.8 5705.44 1.638 1559.36 1559.44 5689.67 1.638 1560.99 1561.07 5689.67 1.638 1562.63 1562.71 5689.67 1.638 1564.27 1564.35 5658.14 1.638 1565.91 1565.99 5658.14 1.638 1567.55 1567.63 5642.37 1.638 1569.18 1569.26 5642.37 1.638 1570.82 1570.9 5626.61 1.638 1572.46 1572.54 5610.84 1.638 1574.1 1574.18 5610.84 1.638 1575.74 1575.82 5595.08 1.638 1577.37 1577.45 5595.08 1.638 1579.01 1579.09 5579.31 1.638 1580.65 1580.73 5563.54 1.638 1582.29 1582.37 5563.54 1.638 1583.93 1584.01 5547.78 1.638 1585.56 1585.64 5547.78 1.638 1587.2 1587.28 5532.01 1.638 1588.84 1588.92 5516.25 1.638 1590.48 1590.56 5516.25 1.638 1592.12 1592.2 5500.48 1.638 1593.75 1593.83 5484.71 1.638 1595.39 1595.47 5468.95 1.638 1597.03 1597.11 5468.95 1.638 1598.67 1598.75 5453.18 1.638 1600.31 1600.39 5453.18 1.638 1601.94 1602.02 5437.42 1.638 1603.58 1603.66 5437.42 1.638 1605.22 1605.3 5421.65 1.638 1606.86 1606.94 5405.88 1.638 1608.49 1608.57 5390.12 1.638 1610.13 1610.21 5390.12 1.638 1611.77 1611.85 5374.35 1.638 1613.41 1613.49 5374.35 1.638 1615.05 1615.13 5358.59 1.638 1616.68 1616.76 5342.82 1.638 1618.32 1618.4 5342.82 1.638 1619.96 1620.04 5327.06 1.638 1621.6 1621.68 5311.29 1.638 1623.24 1623.32 5311.29 1.638 1624.87 1624.95 5295.52 1.638 1626.51 1626.59 5295.52 1.638 1628.15 1628.23 5263.99 1.638 1629.79 1629.87 5263.99 1.638 1631.43 1631.51 5263.99 1.638 1633.06 1633.14 5263.99 1.638 1634.7 1634.78 5263.99 1.638 1636.34 1636.42 5232.46 1.638 1637.98 1638.06 5200.93 1.638 1639.62 1639.7 5200.93 1.638 1641.25 1641.33 5200.93 1.638 1642.89 1642.97 5169.4 1.638 1644.53 1644.61 5169.4 1.638 1646.17 1646.25 5169.4 1.638 1647.81 1647.89 5169.4 1.638 1649.44 1649.52 5169.4 1.638 1651.08 1651.16 5137.87 1.638 1652.72 1652.8 5137.87 1.638 1654.36 1654.44 5137.87 1.638 1655.99 1656.07 5106.33 1.638 1657.63 1657.71 5106.33 1.638 1659.27 1659.35 5074.8 1.638 1660.91 1660.99 5106.33 1.638 1662.55 1662.63 5074.8 1.638 1664.18 1664.26 5043.27 1.638 1665.82 1665.9 5074.8 1.638 1667.46 1667.54 5074.8 1.638 1669.1 1669.18 5043.27 1.638 1670.74 1670.82 5043.27 1.638 1672.37 1672.45 5011.74 1.638 1674.01 1674.09 5011.74 1.638 1675.65 1675.73 4980.21 1.638 1677.29 1677.37 4980.21 1.638 1678.93 1679.01 4980.21 1.638 1680.56 1680.64 4980.21 1.638 1682.2 1682.28 4948.67 1.638 1683.84 1683.92 4948.67 1.638 1685.48 1685.56 4948.67 1.638 1687.12 1687.2 4948.67 1.638 1688.75 1688.83 4917.14 1.638 1690.39 1690.47 4917.14 1.638 1692.03 1692.11 4917.14 1.638 1693.67 1693.75 4885.61 1.638 1695.31 1695.39 4854.08 1.638 1696.94 1697.02 4854.08 1.638 1698.58 1698.66 4854.08 1.638 1700.22 1700.3 4854.08 1.638 1701.86 1701.94 4854.08 1.638 1703.5 1703.58 4854.08 1.638 1705.13 1705.21 4822.55 1.638 1706.77 1706.85 4822.55 1.638 1708.41 1708.49 4791.02 1.638 1710.05 1710.13 4791.02 1.638 1711.68 1711.76 4791.02 1.638 1713.32 1713.4 4791.02 1.638 1714.96 1715.04 4759.48 1.638 1716.6 1716.68 4759.48 1.638 1718.24 1718.32 4759.48 1.638 1719.87 1719.95 4759.48 1.638 1721.51 1721.59 4727.95 1.638 1723.15 1723.23 4727.95 1.638 1724.79 1724.87 4727.95 1.638 1726.43 1726.51 4696.42 1.638 1728.06 1728.14 4696.42 1.638 1729.7 1729.78 4696.42 1.638 1731.34 1731.42 4664.89 1.638 1732.98 1733.06 4664.89 1.638 1734.62 1734.7 4664.89 1.638 1736.25 1736.33 4664.89 1.638 1737.89 1737.97 4633.36 1.638 1739.53 1739.61 4633.36 1.638 1741.17 1741.25 4633.36 1.638 1742.81 1742.89 4601.82 1.638 1744.44 1744.52 4601.82 1.638 1746.08 1746.16 4570.29 1.638 1747.72 1747.8 4570.29 1.638 1749.36 1749.44 4570.29 1.638 1751 1751.08 4570.29 1.638 1752.63 1752.71 4570.29 1.638 1754.27 1754.35 4538.76 1.638 1755.91 1755.99 4507.23 1.638 1757.55 1757.63 4538.76 1.638 1759.19 1759.27 4507.23 1.638 1760.82 1760.9 4507.23 1.638 1762.46 1762.54 4507.23 1.638 1764.1 1764.18 4475.7 1.638 1765.74 1765.82 4475.7 1.638 1767.37 1767.45 4475.7 1.638 1769.01 1769.09 4444.17 1.638 1770.65 1770.73 4444.17 1.638 1772.29 1772.37 4444.17 1.638 1773.93 1774.01 4444.17 1.638 1775.56 1775.64 4412.63 1.638 1777.2 1777.28 4412.63 1.638 1778.84 1778.92 4412.63 1.638 1780.48 1780.56 4412.63 1.638 1782.12 1782.2 4381.1 1.638 1783.75 1783.83 4381.1 1.638 1785.39 1785.47 4381.1 1.638 1787.03 1787.11 4349.57 1.638 1788.67 1788.75 4318.04 1.638 1790.31 1790.39 4349.57 1.638 1791.94 1792.02 4318.04 1.638 1793.58 1793.66 4318.04 1.638 1795.22 1795.3 4318.04 1.638 1796.86 1796.94 4286.51 1.638 1798.5 1798.58 4286.51 1.638 1800.13 1800.21 4286.51 1.638 1801.77 1801.85 4254.97 1.638 1803.41 1803.49 4254.97 1.638 1805.05 1805.13 4254.97 1.638 1806.69 1806.77 4223.44 1.638 1808.32 1808.4 4254.97 1.638 1809.96 1810.04 4223.44 1.638 1811.6 1811.68 4191.91 1.638 1813.24 1813.32 4223.44 1.638 1814.88 1814.96 4191.91 1.638 1816.51 1816.59 4160.38 1.638 1818.15 1818.23 4160.38 1.638 1819.79 1819.87 4191.91 1.638 1821.43 1821.51 4160.38 1.638 1823.06 1823.14 4160.38 1.638 1824.7 1824.78 4128.85 1.638 1826.34 1826.42 4128.85 1.638 1827.98 1828.06 4128.85 1.638 1829.62 1829.7 4128.85 1.638 1831.25 1831.33 4097.32 1.638 1832.89 1832.97 4097.32 1.638 1834.53 1834.61 4065.79 1.638 1836.17 1836.25 4065.79 1.638 1837.81 1837.89 4065.79 1.638 1839.44 1839.52 4034.25 1.638 1841.08 1841.16 4034.25 1.638 1842.72 1842.8 4034.25 1.638 1844.36 1844.44 4034.25 1.638 1846 1846.08 4034.25 1.638 1847.63 1847.71 4002.72 1.638 1849.27 1849.35 3971.19 1.638 1850.91 1850.99 3971.19 1.638 1852.55 1852.63 3971.19 1.638 1854.19 1854.27 3971.19 1.638 1855.82 1855.9 3971.19 1.638 1857.46 1857.54 3939.66 1.638 1859.1 1859.18 3939.66 1.638 1860.74 1860.82 3939.66 1.638 1862.38 1862.46 3908.12 1.638 1864.01 1864.09 3908.12 1.638 1865.65 1865.73 3908.12 1.638 1867.29 1867.37 3876.59 1.638 1868.93 1869.01 3908.12 1.638 1870.57 1870.65 3876.59 1.638 1872.2 1872.28 3876.59 1.638 1873.84 1873.92 3845.06 1.638 1875.48 1875.56 3845.06 1.638 1877.12 1877.2 3845.06 1.638 1878.75 1878.83 3845.06 1.638 1880.39 1880.47 3813.53 1.638 1882.03 1882.11 3813.53 1.638 1883.67 1883.75 3782 1.638 1885.31 1885.39 3782 1.638 1886.94 1887.02 3782 1.638 1888.58 1888.66 3782 1.638 1890.22 1890.3 3782 1.638 1891.86 1891.94 3750.47 1.638 1893.5 1893.58 3750.47 1.638 1895.13 1895.21 3750.47 1.638 1896.77 1896.85 3718.94 1.638 1898.41 1898.49 3718.94 1.638 1900.05 1900.13 3718.94 1.638 1901.69 1901.77 3718.94 1.638 1903.32 1903.4 3687.4 1.638 1904.96 1905.04 3687.4 1.638 1906.6 1906.68 3687.4 1.638 1908.24 1908.32 3687.4 1.638 1909.88 1909.96 3655.87 1.638 1911.51 1911.59 3655.87 1.638 1913.15 1913.23 3624.34 1.638 1914.79 1914.87 3624.34 1.638 1916.43 1916.51 3624.34 1.638 1918.07 1918.15 3624.34 1.638 1919.7 1919.78 3592.81 1.638 1921.34 1921.42 3592.81 1.638 1922.98 1923.06 3592.81 1.638 1924.62 1924.7 3561.28 1.638 1926.26 1926.33 3561.28 1.638 1927.89 1927.97 3561.28 1.638 1929.53 1929.61 3561.28 1.638 1931.17 1931.25 3561.28 1.638 1932.81 1932.89 3529.74 1.638 1934.44 1934.52 3498.21 1.638 1936.08 1936.16 3498.21 1.638 1937.72 1937.8 3529.74 1.638 1939.36 1939.44 3498.21 1.638 1941 1941.08 3466.68 1.638 1942.63 1942.71 3466.68 1.638 1944.27 1944.35 3466.68 1.638 1945.91 1945.99 3466.68 1.638 1947.55 1947.63 3466.68 1.638 1949.19 1949.27 3435.15 1.638 1950.82 1950.9 3435.15 1.638 1952.46 1952.54 3403.62 1.638 1954.1 1954.18 3403.62 1.638 1955.74 1955.82 3403.62 1.638 1957.38 1957.46 3403.62 1.638 1959.01 1959.09 3372.09 1.638 1960.65 1960.73 3372.09 1.638 1962.29 1962.37 3372.09 1.638 1963.93 1964.01 3340.55 1.638 1965.57 1965.65 3340.55 1.638 1967.2 1967.28 3340.55 1.638 1968.84 1968.92 3340.55 1.638 1970.48 1970.56 3340.55 1.638 1972.12 1972.2 3340.55 1.638 1973.76 1973.84 3309.02 1.638 1975.39 1975.47 3309.02 1.638 1977.03 1977.11 3277.49 1.638 1978.67 1978.75 3277.49 1.638 1980.31 1980.39 3277.49 1.638 1981.94 1982.02 3277.49 1.638 1983.58 1983.66 3245.96 1.638 1985.22 1985.3 3245.96 1.638 1986.86 1986.94 3214.43 1.638 1988.5 1988.58 3214.43 1.638 1990.13 1990.21 3214.43 1.638 1991.77 1991.85 3214.43 1.638 1993.41 1993.49 3182.89 1.638 1995.05 1995.13 3182.89 1.638 1996.69 1996.77 3182.89 1.638 1998.32 1998.4 3182.89 1.638 1999.96 2000.04 3151.36 1.638 2001.6 2001.68 3151.36 1.638 2003.24 2003.32 3151.36 1.638 2004.88 2004.96 3119.83 1.638 2006.51 2006.59 3119.83 1.638 2008.15 2008.23 3119.83 1.638 2009.79 2009.87 3119.83 1.638 2011.43 2011.51 3088.3 1.638 2013.07 2013.15 3119.83 1.638 2014.7 2014.78 3056.77 1.638 2016.34 2016.42 3088.3 1.638 2017.98 2018.06 3056.77 1.638 2019.62 2019.7 3088.3 1.638 2021.26 2021.34 3025.24 1.638 2022.89 2022.97 3056.77 1.638 2024.53 2024.61 3025.24 1.638 2026.17 2026.25 3025.24 1.638 2027.81 2027.89 3025.24 1.638 2029.45 2029.53 3025.24 1.638 2031.08 2031.16 2993.7 1.638 2032.72 2032.8 2993.7 1.638 2034.36 2034.44 2962.17 1.638 2036 2036.08 2993.7 1.638 2037.63 2037.71 2962.17 1.638 2039.27 2039.35 2930.64 1.638 2040.91 2040.99 2962.17 1.638 2042.55 2042.63 2930.64 1.638 2044.19 2044.27 2930.64 1.638 2045.82 2045.9 2899.11 1.638 2047.46 2047.54 2899.11 1.638 2049.1 2049.18 2867.58 1.638 2050.74 2050.82 2867.58 1.638 2052.38 2052.46 2836.04 1.638 2054.01 2054.09 2836.04 1.638 2055.65 2055.73 2836.04 1.638 2057.29 2057.37 2804.51 1.638 2058.93 2059.01 2804.51 1.638 2060.57 2060.65 2804.51 1.638 2062.2 2062.28 2804.51 1.638 2063.84 2063.92 2772.98 1.638 2065.48 2065.56 2772.98 1.638 2067.12 2067.2 2772.98 1.638 2068.76 2068.84 2741.45 1.638 2070.39 2070.47 2741.45 1.638 2072.03 2072.11 2741.45 1.638 2073.67 2073.75 2741.45 1.638 2075.31 2075.39 2709.92 1.638 2076.95 2077.03 2741.45 1.638 2078.58 2078.66 2709.92 1.638 2080.22 2080.3 2709.92 1.638 2081.86 2081.94 2678.39 1.638 2083.5 2083.58 2678.39 1.638 2085.14 2085.22 2678.39 1.638 2086.77 2086.85 2678.39 1.638 2088.41 2088.49 2646.85 1.638 2090.05 2090.13 2646.85 1.638 2091.69 2091.77 2646.85 1.638 2093.32 2093.4 2615.32 1.638 2094.96 2095.04 2646.85 1.638 2096.6 2096.68 2615.32 1.638 2098.24 2098.32 2583.79 1.638 2099.88 2099.96 2615.32 1.638 2101.51 2101.59 2583.79 1.638 2103.15 2103.23 2583.79 1.638 2104.79 2104.87 2583.79 1.638 2106.43 2106.51 2583.79 1.638 2108.07 2108.15 2552.26 1.638 2109.7 2109.78 2552.26 1.638 2111.34 2111.42 2552.26 1.638 2112.98 2113.06 2552.26 1.638 2114.62 2114.7 2520.73 1.638 2116.26 2116.34 2520.73 1.638 2117.89 2117.97 2520.73 1.638 2119.53 2119.61 2489.2 1.638 2121.17 2121.25 2457.66 1.638 2122.81 2122.89 2457.66 1.638 2124.45 2124.53 2489.2 1.638 2126.08 2126.16 2457.66 1.638 2127.72 2127.8 2457.66 1.638 2129.36 2129.44 2426.13 1.638 2131 2131.08 2457.66 1.638 2132.64 2132.72 2426.13 1.638 2134.27 2134.35 2426.13 1.638 2135.91 2135.99 2394.6 1.638 2137.55 2137.63 2394.6 1.638 2139.19 2139.27 2394.6 1.638 2140.82 2140.91 2394.6 1.638 2142.46 2142.54 2363.07 1.638 2144.1 2144.18 2363.07 1.638 2145.74 2145.82 2363.07 1.638 2147.38 2147.46 2363.07 1.638 2149.01 2149.09 2331.54 1.638 2150.65 2150.73 2331.54 1.638 2152.29 2152.37 2300 1.638 2153.93 2154.01 2331.54 1.638 2155.57 2155.65 2300 1.638 2157.2 2157.28 2300 1.638 2158.84 2158.92 2300 1.638 2160.48 2160.56 2300 1.638 2162.12 2162.2 2268.47 1.638 2163.76 2163.84 2268.47 1.638 2165.39 2165.47 2236.94 1.638 2167.03 2167.11 2236.94 1.638 2168.67 2168.75 2236.94 1.638 2170.31 2170.39 2236.94 1.638 2171.95 2172.03 2205.41 1.638 2173.58 2173.66 2205.41 1.638 2175.22 2175.3 2205.41 1.638 2176.86 2176.94 2205.41 1.638 2178.5 2178.58 2173.88 1.638 2180.14 2180.22 2173.88 1.638 2181.77 2181.85 2173.88 1.638 2183.41 2183.49 2142.35 1.638 2185.05 2185.13 2142.35 1.638 2186.69 2186.77 2142.35 1.638 2188.33 2188.41 2142.35 1.638 2189.96 2190.04 2142.35 1.638 2191.6 2191.68 2142.35 1.638 2193.24 2193.32 2110.81 1.638 2194.88 2194.96 2110.81 1.638 2196.51 2196.59 2110.81 1.638 2198.15 2198.23 2079.28 1.638 2199.79 2199.87 2079.28 1.638 2201.43 2201.51 2047.75 1.638 2203.07 2203.15 2047.75 1.638 2204.7 2204.78 2047.75 1.638 2206.34 2206.42 2047.75 1.638 2207.98 2208.06 2047.75 1.638 2209.62 2209.7 2016.22 1.638 2211.26 2211.34 2016.22 1.638 2212.89 2212.97 2016.22 1.638 2214.53 2214.61 1984.69 1.638 2216.17 2216.25 1984.69 1.638 2217.81 2217.89 1984.69 1.638 2219.45 2219.53 1953.15 1.638 2221.08 2221.16 1984.69 1.638 2222.72 2222.8 1953.15 1.638 2224.36 2224.44 1953.15 1.638 2226 2226.08 1953.15 1.638 2227.64 2227.72 1921.62 1.638 2229.27 2229.35 1921.62 1.638 2230.91 2230.99 1921.62 1.638 2232.55 2232.63 1921.62 1.638 2234.19 2234.27 1921.62 1.638 2235.83 2235.91 1890.09 1.638 2237.46 2237.54 1890.09 1.638 2239.1 2239.18 1890.09 1.638 2240.74 2240.82 1858.56 1.638 2242.38 2242.46 1858.56 1.638 2244.02 2244.1 1827.03 1.638 2245.65 2245.73 1858.56 1.638 2247.29 2247.37 1827.03 1.638 2248.93 2249.01 1827.03 1.638 2250.57 2250.65 1827.03 1.638 2252.2 2252.28 1827.03 1.638 2253.84 2253.92 1795.5 1.638 2255.48 2255.56 1795.5 1.638 2257.12 2257.2 1795.5 1.638 2258.76 2258.84 1763.96 1.638 2260.39 2260.47 1763.96 1.638 2262.03 2262.11 1763.96 1.638 2263.67 2263.75 1763.96 1.638 2265.31 2265.39 1732.43 1.638 2266.95 2267.03 1732.43 1.638 2268.58 2268.66 1732.43 1.638 2270.22 2270.3 1700.9 1.638 2271.86 2271.94 1700.9 1.638 2273.5 2273.58 1669.37 1.638 2275.14 2275.22 1700.9 1.638 2276.77 2276.85 1669.37 1.638 2278.41 2278.49 1669.37 1.638 2280.05 2280.13 1669.37 1.638 2281.69 2281.77 1669.37 1.638 2283.33 2283.41 1669.37 1.638 2284.96 2285.04 1637.84 1.638 2286.6 2286.68 1637.84 1.638 2288.24 2288.32 1637.84 1.638 2289.88 2289.96 1606.3 1.638 2291.52 2291.6 1606.3 1.638 2293.15 2293.23 1606.3 1.638 2294.79 2294.87 1574.77 1.638 2296.43 2296.51 1574.77 1.638 2298.07 2298.15 1574.77 1.638 2299.71 2299.79 1543.24 1.638 2301.34 2301.42 1543.24 1.638 2302.98 2303.06 1574.77 1.638 2304.62 2304.7 1543.24 1.638 2306.26 2306.34 1543.24 1.638 2307.89 2307.97 1511.71 1.638 2309.53 2309.61 1511.71 1.638 2311.17 2311.25 1511.71 1.638 2312.81 2312.89 1511.71 1.638 2314.45 2314.53 1480.18 1.638 2316.08 2316.16 1480.18 1.638 2317.72 2317.8 1480.18 1.638 2319.36 2319.44 1480.18 1.638 2321 2321.08 1448.65 1.638 2322.64 2322.72 1448.65 1.638 2324.27 2324.35 1448.65 1.638 2325.91 2325.99 1417.11 1.638 2327.55 2327.63 1417.11 1.638 2329.19 2329.27 1417.11 1.638 2330.83 2330.91 1417.11 1.638 2332.46 2332.54 1417.11 1.638 2334.1 2334.18 1385.58 1.638 2335.74 2335.82 1385.58 1.638 2337.38 2337.46 1385.58 1.638 2339.02 2339.1 1354.05 1.638 2340.65 2340.73 1354.05 1.638 2342.29 2342.37 1354.05 1.638 2343.93 2344.01 1354.05 1.638 2345.57 2345.65 1354.05 1.638 2347.21 2347.29 1322.52 1.638 2348.84 2348.92 1322.52 1.638 2350.48 2350.56 1322.52 1.638 2352.12 2352.2 1290.99 1.638 2353.76 2353.84 1290.99 1.638 2355.4 2355.48 1290.99 1.638 2357.03 2357.11 1290.99 1.638 2358.67 2358.75 1259.46 1.638 2360.31 2360.39 1259.46 1.638 2361.95 2362.03 1227.92 1.638 2363.58 2363.66 1259.46 1.638 2365.22 2365.3 1227.92 1.638 2366.86 2366.94 1227.92 1.638 2368.5 2368.58 1196.39 1.638 2370.14 2370.22 1196.39 1.638 2371.77 2371.85 1196.39 1.638 2373.41 2373.49 1196.39 1.638 2375.05 2375.13 1196.39 1.638 2376.69 2376.77 1196.39 1.638 2378.33 2378.41 1164.86 1.638 2379.96 2380.04 1133.33 1.638 2381.6 2381.68 1133.33 1.638 2383.24 2383.32 1133.33 1.638 2384.88 2384.96 1133.33 1.638 2386.52 2386.6 1133.33 1.638 2388.15 2388.23 1133.33 1.638 2389.79 2389.87 1101.8 1.638 2391.43 2391.51 1101.8 1.638 2393.07 2393.15 1101.8 1.638 2394.71 2394.79 1101.8 1.638 2396.34 2396.42 1070.26 1.638 2397.98 2398.06 1070.26 1.638 2399.62 2399.7 1070.26 1.638 2401.26 2401.34 1070.26 1.638 2402.9 2402.98 1038.73 1.638 2404.53 2404.61 1038.73 1.638 2406.17 2406.25 1038.73 1.638 2407.81 2407.89 1007.2 1.638 2409.45 2409.53 1007.2 1.638 2411.08 2411.17 1007.2 1.638 2412.72 2412.8 1007.2 1.638 2414.36 2414.44 975.67 1.638 2416 2416.08 1007.2 1.638 2417.64 2417.72 975.67 1.638 2419.27 2419.35 975.67 1.638 2420.91 2420.99 975.67 1.638 2422.55 2422.63 975.67 1.638 2424.19 2424.27 944.137 1.638 2425.83 2425.91 944.137 1.638 2427.46 2427.54 912.605 1.638 2429.1 2429.18 944.137 1.638 2430.74 2430.82 912.605 1.638 2432.38 2432.46 881.074 1.638 2434.02 2434.1 881.074 1.638 2435.65 2435.73 881.074 1.638 2437.29 2437.37 881.074 1.638 2438.93 2439.01 849.543 1.638 2440.57 2440.65 849.543 1.638 2442.21 2442.29 849.543 1.638 2443.84 2443.92 849.543 1.638 2445.48 2445.56 849.543 1.638 2447.12 2447.2 818.01 1.638 2448.76 2448.84 818.01 1.638 2450.4 2450.48 818.01 1.638 2452.03 2452.11 818.01 1.638 2453.67 2453.75 786.479 1.638 2455.31 2455.39 786.479 1.638 2456.95 2457.03 786.479 1.638 2458.59 2458.67 786.479 1.638 2460.22 2460.3 754.947 1.638 2461.86 2461.94 754.947 1.638 2463.5 2463.58 754.947 1.638 2465.14 2465.22 723.414 1.638 2466.77 2466.85 723.414 1.638 2468.41 2468.49 723.414 1.638 2470.05 2470.13 723.414 1.638 2471.69 2471.77 723.414 1.638 2473.33 2473.41 691.883 1.638 2474.96 2475.04 691.883 1.638 2476.6 2476.68 691.883 1.638 2478.24 2478.32 691.883 1.638 2479.88 2479.96 660.352 1.638 2481.52 2481.6 660.352 1.638 2483.15 2483.23 660.352 1.638 2484.79 2484.87 660.352 1.638 2486.43 2486.51 660.352 1.638 2488.07 2488.15 628.82 1.638 2489.71 2489.79 628.82 1.638 2491.34 2491.42 597.287 1.638 2492.98 2493.06 597.287 1.638 2494.62 2494.7 597.287 1.638 2496.26 2496.34 565.756 1.638 2497.9 2497.98 565.756 1.638 2499.53 2499.61 597.287 1.638 2501.17 2501.25 565.756 1.638 2502.81 2502.89 534.225 1.638 2504.45 2504.53 534.225 1.638 2506.09 2506.17 534.225 1.638 2507.72 2507.8 534.225 1.638 2509.36 2509.44 534.225 1.638 2511 2511.08 534.225 1.638 2512.64 2512.72 502.691 1.638 2514.28 2514.36 502.691 1.638 2515.91 2515.99 471.16 1.638 2517.55 2517.63 471.16 1.638 2519.19 2519.27 471.16 1.638 2520.83 2520.91 471.16 1.638 2522.46 2522.54 471.16 1.638 2524.1 2524.18 471.16 1.638 2525.74 2525.82 439.629 1.638 2527.38 2527.46 439.629 1.638 2529.02 2529.1 439.629 1.638 2530.65 2530.73 439.629 1.638 2532.29 2532.37 439.629 1.638 2533.93 2534.01 408.098 1.638 2535.57 2535.65 408.098 1.638 2537.21 2537.29 376.564 1.638 2538.84 2538.92 376.564 1.638 2540.48 2540.56 376.564 1.638 2542.12 2542.2 376.564 1.638 2543.76 2543.84 345.033 1.638 2545.4 2545.48 345.033 1.638 2547.03 2547.11 345.033 1.638 2548.67 2548.75 345.033 1.638 2550.31 2550.39 345.033 1.638 2551.95 2552.03 313.502 1.638 2553.59 2553.67 313.502 1.638 2555.22 2555.3 313.502 1.638 2556.86 2556.94 281.971 1.638 2558.5 2558.58 281.971 1.638 2560.14 2560.22 281.971 1.638 2561.78 2561.86 250.438 1.638 2563.41 2563.49 250.438 1.638 2565.05 2565.13 250.438 1.638 2566.69 2566.77 250.438 1.638 2568.33 2568.41 250.438 1.638 2569.97 2570.05 218.906 1.638 2571.6 2571.68 250.438 1.638 2573.24 2573.32 218.906 1.638 2574.88 2574.96 218.906 1.638 2576.52 2576.6 218.906 1.638 2578.15 2578.23 218.906 1.638 2579.79 2579.87 187.375 1.638 2581.43 2581.51 155.842 1.638 2583.07 2583.15 155.842 1.638 2584.71 2584.79 155.842 1.638 2586.34 2586.42 155.842 1.638 2587.98 2588.06 155.842 1.638 2589.62 2589.7 155.842 1.638 2591.26 2591.34 92.7793 1.638 2592.9 2592.98 155.842 1.638 2594.53 2594.61 92.7793 1.638 2596.17 2596.25 155.842 1.638 2597.81 2597.89 92.7793 1.638 2599.45 2599.53 155.842 1.638 2601.09 2601.17 92.7793 1.638 2602.72 2602.8 92.7793 1.638 2604.36 2604.44 92.7793 1.638 2606 2606.08 92.7793 1.638 2607.64 2607.72 92.7793 1.638 2609.28 2609.36 92.7793 1.638 2610.91 2610.99 29.7148 1.638 2612.55 2612.63 29.7148 1.638 2614.19 2614.27 29.7148 1.638 2615.83 2615.91 29.7148 1.638 2617.47 2617.55 29.7148 1.638 2619.1 2619.18 29.7148 1.638 2620.74 2620.82 -33.3477 << Erster Vorzeichenwechsel von DIFF 0.819 2619.92 2620 29.7148 << Delta halbieren 0.4095 2620.33 2620.41 29.7148 0.4095 2620.74 2620.82 29.7148 0.4095 2621.15 2621.23 -33.3477 0.20475 2620.95 2621.03 -33.3477 0.20475 2620.74 2620.82 29.7148 0.102375 2620.84 2620.92 -33.3477 0.0511875 2620.79 2620.87 29.7148 0.0255938 2620.82 2620.9 -33.3477 0.0127969 2620.8 2620.88 -33.3477 << Oszillation von DIFF 0.0127969 2620.79 2620.87 29.7148 0.00639844 2620.8 2620.88 29.7148 0.00639844 2620.8 2620.88 -33.3477 0.00319922 2620.8 2620.88 -33.3477 0.00319922 2620.8 2620.88 29.7148 0.00159961 2620.8 2620.88 -33.3477 0.000799805 2620.8 2620.88 29.7148 0.000399902 2620.8 2620.88 -33.3477 0.000199951 2620.8 2620.88 29.7148 9.99756e-05 2620.8 2620.88 29.7148 9.99756e-05 2620.8 2620.88 29.7148 << Zahlengenauigkeit erreicht. 2620.88 + 9.99756e-0 = 26020.88 9.99756e-05 2620.8 2620.88 29.7148 9.99756e-05 2620.8 2620.88 29.7148 9.99756e-05 2620.8 2620.88 29.7148 9.99756e-05 2620.8 2620.88 29.7148
29.09.2020
UNITEK PS-7 13.8V 7/9A Netzteil Schaltplan
So, oder so ähnlich. Die Schaltung für den Kurzschlussschutz habe ich jetzt nicht untersucht.
Wenn man zu der 12.5V Z-Diode eine weitere in Serie schaltet, sollte die Ausgangsspannung ansteigen. Die Akkuschrauber wollen 18V haben.
19.08.2020
Fortran assert
assert.h
#ifdef NDEBUG #define assert(expr) #else #define assert(expr) call assertion(expr) #endif
assertion.F90
module assert_m contains subroutine assertion(cond) implicit none logical, intent(in) :: cond real, volatile :: r r = 1.0 if (.not. cond) r = r / 0.0 end subroutine assertion end module
Beispiel:
#include "assert.h" use assert_m subroutine VBEST(H, RH, KZ, DFM, Q, V0, V) implicit none real, intent(in) :: H real, intent(in) :: RH integer, intent(in) :: KZ real, intent(in) :: DFM real, intent(in) :: Q assert(Q == Q) assert(H >= 0) assert(RH >= 0) assert(KZ >= 1) assert(DFM > 0)
17.06.2020
Fortran: Unicode UTF8 ISO8859 Umlaute
Fortran Spass mit unterschiedlichen Encodings für Umlaute in UTF8 und ISO8859
Kompletter Quellcode characterClassification.F90.zip
function isUTF8umlaut(ch1, ch2) implicit none character, intent(in) :: ch1, ch2 integer :: code1, code2 logical :: isUTF8umlaut isUTF8umlaut = .false. code1 = iachar(ch1) code2 = iachar(ch2) ! UTF8 prefix ist 0xc3 if(code1 == Z'c3') then ! ä 0xa4 if(code2 == Z'a4') then isUTF8umlaut = .true. ! ü 0xbc else if(code2 == Z'BC') then isUTF8umlaut = .true. ! ö 0xb6 else if(code2 == Z'B6') then isUTF8umlaut = .true. ! Ä 0x84 else if(code2 == Z'84') then isUTF8umlaut = .true. ! Ü 0x9c else if(code2 == Z'9C') then isUTF8umlaut = .true. ! Ö 0x96 else if(code2 == Z'96') then isUTF8umlaut = .true. ! ß 0x9f else if(code2 == Z'9f') then isUTF8umlaut = .true. ! ? 0xE1 0xBA 0x9E ! else if(code2 == Z'') then ! write(*,*) "UTF8 ?" ! isUTF8umlaut = .true. endif endif end function function isISO8859_15_Umlaut(ch) implicit none character, intent(in) :: ch integer :: code logical :: isISO8859_15_Umlaut isISO8859_15_Umlaut = .false. code = iachar(ch) ! ä if(code == Z'E4') then isISO8859_15_Umlaut = .true. ! ü else if(code == Z'FC') then isISO8859_15_Umlaut = .true. ! ö else if(code == Z'F6') then isISO8859_15_Umlaut = .true. ! Ä else if(code == Z'C4') then isISO8859_15_Umlaut = .true. ! Ü else if(code == Z'DC') then isISO8859_15_Umlaut = .true. ! Ö else if(code == Z'D6') then isISO8859_15_Umlaut = .true. ! ß else if(code == Z'DF') then isISO8859_15_Umlaut = .true. endif end function
Um das Encoding eines Strings herauszufinden, einfach über jedes Zeichen iterieren
subroutine checkEncoding(string) implicit none character(len=*), intent(in) :: string integer :: j logical :: skipNext, detectISO8850, detectUTF8 character :: ch1, ch2 skipNext = .false. detectUTF8 = .false. detectISO8850 = .false. do j=1, len(string)-1 if(skipNext) then skipNext = .false. else ch1 = string(j:j) ch2 = string(j+1:j+1) if(isUTF8umlaut(ch1, ch2)) then detectUTF8 = .true. skipNext = .true. else if(isISO8859_15_Umlaut(ch1)) then detectISO8850 = .true. else if(isPrint(ch1)) then else write(*,*) "Unknown encoding im Feld 'Kommentar', Spalte", j, " Zeichen '", ch1, "' ASCII code ", iachar(ch1) endif endif end do if(detectUTF8) then write(*,*) "UTF8 encoding detected" endif if(detectISO8850) then write(*,*) "ISO8850 encoding detected" endif if(detectUTF8 .and. detectISO8850) then write(*,*) "Mixed encoding detected." endif end subroutine
30.05.2020
C++ Guns - Spassvergleich Fortran77 Fortran95 C++11
Links oben: Original Fortran77 Code.
Rechts oben: Fortran95. Keine GOTOs, keine Labels, keine Spaltenbeschränkung, Sortieralgorithmus identifiziert
Unten: C++. Standard Sortieralgorithmus, keine expliziten Array Zugriffe
Click to enlarge
Ja, die genaue formatierte Ausgabe auf die richtige Nachkommastelle ist im C++ Code nicht enthalten. Diese formatierte Ausgabe in Text Dateien ist auch heute nicht mehr relevant.
24.01.2019
Installing gcc, g++ and gfortran 8 from source
The procedure is quite the same as for gcc 4.8 as you can see in my older post Installing gcc, g++ and gfortran 4.8 from source
Read the manual.
Download, unpack, switch dir, download, unpack, link.
$ wget ftp://ftp.gwdg.de/pub/misc/gcc/snapshots/LATEST-8/gcc-8-20190118.tar.xz
$ xz -d gcc-8-20190118.tar.xz
$ tar xf gcc-8-20190118.tar
$ gcc-8-20190118/
$ wget ftp://ftp.gmplib.org/pub/gmp-6.1.2/gmp-6.1.2.tar.bz2
$ tar xjf gmp-6.1.2.tar.bz2
$ ln -s gmp-6.1.2 gmp
$ wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
$ tar xjf mpfr-4.0.1.tar.bz2
$ ln -s mpfr-4.0.1 mpfr
$ wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
$ tar xzf mpc-1.1.0.tar.gz
$ ln -s mpc-1.1.0 mpc
Make a build directory, start configure, start make, wait
$ cd ..
$ mkdir build-gcc-8-20190118
$ cd build-gcc-8-20190118/
$ ../gcc-8-20190118/configure --prefix=/opt/gcc-8 --enable-threads --enable-languages=c,c++,fortran
$ make -j 32
# make install
15.01.2019
C++ Guns: How NOW to design FORTRAN -> C++ Interfaces
This is one wrong way to design a FORTRAN to C++ interface.
But let's start at the beginning. From FORTRAN callable C++ function must be declared with extern "C" to disable name mangling.
The function funcCPP expect a 2D array. Two items a 3 values. Calculate the sum and return it.
Rember: C counts from 0 and the right most index is the fastest index.
#ifdef __cplusplus extern "C" { #endif double funcCPP(double arr[2][3]); #ifdef __cplusplus } #endif double funcCPP(double arr[2][3]) { return arr[0][0] + arr[0][1] + arr[0][2] + arr[1][0] + arr[1][1] + arr[1][2]; }
The generated ASM code (GCC -O1) looks straight forward. Almost perfect (except of SIMD). Nothing more to say.
funcCPP: movsd (%rdi), %xmm0 addsd 8(%rdi), %xmm0 addsd 16(%rdi), %xmm0 addsd 24(%rdi), %xmm0 addsd 32(%rdi), %xmm0 addsd 40(%rdi), %xmm0 ret
Now we implement an FORTRAN interface for that function. Using iso_c_binding module to make life easier. But the compiler didn't to any real check. If you add an parameter in the C function and forget to add it in the FORTRAN interface -> BOOM.
The array is pass as an 1D array.
module CPPinterface_m use, intrinsic :: iso_c_binding implicit none interface function funcCPP(arr) bind(c, name="funcCPP") use, intrinsic :: iso_c_binding implicit none real(c_double), dimension(*) :: arr real(c_double) :: funcCPP end function end interface end module
The main code is a subroutine func which get an 2D array with N items a 3 values. The variable idx contains the position of the items we are interested in. This values are passed to funcCPP. But the two items at position idx(1) and idx(2) are not consecutive stored in RAM. So the compiler has to generate code which make a copy of the six floating point values. That's not what we intend to.
module prog_m use CPPinterface_m implicit none integer :: N contains subroutine func(arr, idx) implicit none real(8), intent(inout) :: arr(3,N) integer, intent(in) :: idx(2) real(8) :: res res = funcCPP(arr(:,idx)) end subroutine end module
You can see it right here in the assembler code. I commented it for you. The data is passed through stack.
__unrunoff_m_MOD_func: subq $56, %rsp # allocate 56 bytes on stack movslq (%rsi), %rax leaq (%rax,%rax,2), %rax # calculate address of first item leaq (%rdi,%rax,8), %rax movsd -24(%rax), %xmm0 # copy arr[0][0] movsd %xmm0, (%rsp) movsd -16(%rax), %xmm0 # copy arr[0][1] movsd %xmm0, 8(%rsp) movsd -8(%rax), %xmm0 # copy arr[0][2] movsd %xmm0, 16(%rsp) movslq 4(%rsi), %rax leaq (%rax,%rax,2), %rax # calculate address of second item leaq (%rdi,%rax,8), %rax movsd -24(%rax), %xmm0 # copy arr[1][0] movsd %xmm0, 24(%rsp) movsd -16(%rax), %xmm0 # copy arr[1][1] movsd %xmm0, 32(%rsp) movsd -8(%rax), %xmm0 # copy arr[1][2] movsd %xmm0, 40(%rsp) movq %rsp, %rdi call funcCPP@PLT # call the C++ function addq $56, %rsp # release stack space ret
We have 6 ASM instruction to process the data and 21 instructions to access the data. Nope. Fail.
13.09.2018
FORTRAN: GDB conditional watchpoint
To set a conditional watchpoint on local variable i.
Example Code:
subroutine func integer :: i do i=1, 100 write(*,*) i end do end subroutine program test implicit none call func() end program
Compile with -ggdb
Set a breakpoint on subroutine "func". After the debugger stop on this point, the local variable "i" is in scope so one can set a watchpoint.
$ gdb ./example
(gdb) break func
Breakpoint 1 at 0x8bb: file gdb.F90, line 4.
ODER
(gdb) break example.F90:4
(gdb) run
Starting program: /home/kater/example
Breakpoint 1, func () at example.F90:4
4 do i=1, 100
(gdb) watch i if i.gt.10
Hardware watchpoint 2: i
(gdb) c
continuing.
1
2
3
4
5
6
7
8
9
10
Hardware watchpoint 2: i
Old value = 10
New value = 11
0x0000555555554948 in func () at gdb.F90:4
4 do i=1, 100