12 Sep 2008 Fixed missing boinc_init() call.
Replaced fopen() with boinc_fopen() when BOINC defined.
Added BUFFER_RESULTS option.
Added REPORT_FREQUENCY option.
13 Sep 2008 Fixed printing of long long types in Windows. Use "%I64d".
Checkpoint to AP26-state.txt instead of modifying AP26-ini.txt.
15 Sep 2008 Fixed progress reporting, account for K that do not get searched.
Store REPORT_FREQUENCY in AP26-state.txt.
Use a strong probable prime test in PrimeQ(N).
Validate each term of reported APs using a stronger test.
16 Sep 2008 Reduce optimisation to -O1 for the x86_64 Windows executable.
Use only first 9 prime bases for SPRP test validating APs.
17 Sep 2008 Check FPU mode and switch it to extended precision if necessary.
Change optimisation level back to -O3 for x86_64 Windows.
18 Sep 2008 Added alternative inline asm syntax when _MSC_VER defined.
Replace long long with int64_t etc. for pre-C99 compilers.
Print progress messages only if boinc_is_standalone() is true.
20 Sep 2008 Fixed so that GMP routines are used when compiled with -DGMP.
Print checkpoint message in BOINC, files are flushed then anyway.
Added a program to validate the output file SOL-AP26.txt.
17 Oct 2008 Added Mark Rodenkirch's mulmod/expmod code for PPC64.
30 Dec 2008 Added an optional 4th argument LINEAR.
11 Jan 2009 Added an alternative x86/x86_64 PrimeQ implementation which does
not depend on long doubles, but manipulates the x87 FPU directly.
Hopefully this will allow building with the Microsoft compiler.
14 Jan 2009 Compile with DUMMY defined to get an executable with a dummy
PrimeQ() function (always returns 0) for speed testing purposes.
21 Jan 2009 Fixed a bug in the GMP version of the validate function which
caused only the first term of the AP to be validated. This bug
didn't affect non-GMP compilations.
Changed (j*STEP)%X --> (j*(STEP%X))%X in MAKES-boinc.H.
22 Jan 2009 Applied Jaroslaw Wroblewski's faster32.zip patch (20 Jan 2009) to
dramatically speed up the 32-bit executables.
Added an alternative GMP PrimeQ() implementation that uses the
mpz_millerrabin() function instead of mpz_probab_prime_p().
Added a sample x86_64 PrimeQ() implementation using the divq
instruction for modular multiplication. (PrimeQ_div64.h).
23 Jan 2009 In SITO-boinc.H: replaced groups of 7 logical && with bitwise &
to reduce the number of branches from 49 to 7.
28 Jan 2009 Added Jaroslaw Wroblewski's if32.zip patch (23 Jan 2009) to
speed up the 32-bit executables a little more.
29 Jan 2009 Implemented the SITO.H code (OKOK101-OKOK331) in assembly for
x86+SSE2 and x86_64. New executables AP26-pentium4-* and
AP26-core2-* use the assembly routines.
04 Feb 2009 New assembly for x86_64 and i686 executables.
23 Feb 2009 For the BOINC executables, statically link the C++ libraries.
02 Mar 2009 Fixed calling conventions for Windows x86_64 in asm-x86_64.S
               (
geocities.com/g_w_reynolds)