Actualy I'm writing the cpp version of automatic programs, using the latest observation that order 124 give me, and using speed code if possible.
The programs are in style of shell Unix commmand (see the download page for platform details), so you must give paramethers for activating some characteristic.
All of them have several methods of solution that are given with string like this:
xxR yyC zD ... v1.
The meanings is that first we make
xx rows magic, then
z diagonals,... using version 1 of algorithms.
For all the methods are reported the speed of generation in square/minute with my PII 266 MHz using an average time of many generated squares (so this time is indicative). When a method don't give result because too slow comparated to the other, no time are given (e.g. if a method require 10 second to generate a square and the other after 10 minutes don't give result, I don't lose time for measuring it and say it's slow).
However, at the end of the execution, the program show the actual generation rate in your computer as square/sec, minute, hour, day, year. This time is more significative if you generate many squares with the apposite option. Be sure to not have other process running in your system, because the time misured by the program is not his process time, but the system time.
if you want a real process time you must use the Unix
time program for
misuring the time, and then you must manually calculate the rate.
The graphic below shows the generation speed for methods D3 and D4 for the various orders.
|Magic Square||Tognon Stefano Research|