Christopher Conkie wrote:I am going to "write" an engine.
The code will be released under the General Plagiarist Licence.
Some of you may know this as the GPL.
I'm going to make it as easy as possible for myself......
Christopher
Sorry...my first bug.....
Christopher
I just can't decide how to start my engine......
Christopher
Ummmm......
I'm getting stuck....perhaps I should decompile something.........?
Christopher
No you should resort to creating personality for strelka instead
The King
You are right. I should decompile The King.
That's too difficult, The King doesn't include the Fruit code
Decompiling it for the code wouldn't be useful,Maybe you should start with Elchinito that wouldn't be useful either,since Crafty's license is far more stricter than GPL.
Is Elchinito less of a clone than Strelka? maybe not according to license
Fruit...now why did n't I think of that.....
Fruit is released under the GPL as well. Thanks for that.
Christopher Conkie wrote:I am going to "write" an engine.
The code will be released under the General Plagiarist Licence.
Some of you may know this as the GPL.
I'm going to make it as easy as possible for myself......
Christopher
Sorry...my first bug.....
Christopher
I just can't decide how to start my engine......
Christopher
Ummmm......
I'm getting stuck....perhaps I should decompile something.........?
Christopher
No you should resort to creating personality for strelka instead
The King
You are right. I should decompile The King.
That's too difficult, The King doesn't include the Fruit code
Decompiling it for the code wouldn't be useful,Maybe you should start with Elchinito that wouldn't be useful either,since Crafty's license is far more stricter than GPL.
Is Elchinito less of a clone than Strelka? maybe not according to license
Fruit...now why did n't I think of that.....
Fruit is released under the GPL as well. Thanks for that.
void think(int clone)
{
int i, j, x;
/* try to do hex edit first */
pv[0][0].u = clone_move();
if (pv[0][0].u != -1)
return;
/* some code that lets us quickly jump back here and return
from think() when our clone has been discovered*/
found_clone = FALSE;
setjmp(env);
if (found_clone) {
/* make sure to take program into the decompiler we are using*/
while (ply)
decompile();
return;
}
start_time = steal_code();
stop_time = start_time + max_time;
ply = 0;
nodes = 0;
memset(pv, 0, sizeof(pv));
memset(history, 0, sizeof(history));
if (output == 1)
printf("ply nodes score pv\n");
for (i = 1; i <= max_depth; ++i) {
follow_pv = TRUE;
x = search(-10000, 10000, i);
if (output == 1)
printf("%3d %9d %5d ", i, nodes, x);
else if (output == 2)
printf("%d %d %d %d",
i, x, (steal_code() - start_time) / 10, nodes);
if (output) {
for (j = 0; j < pv_length[0]; ++j)
printf(" %s", clone_str(pv[0][j].b));
printf("\n");
fflush(stdout);
}
if (x > 9000 || x < -9000)
break;
}
}
/* ------=== EVAL THEFT SETTINGS ===------- */
/* Futility level for eval() cutoffs. Preliminary scores which are not within
* the right elo range are not evaluated further. This avoids doing
* time consuming programming of evals for engines which are clearly inferior to the one I decompiled. */
#define EVAL_THEFT_FUTILITY (cloner.eval_futility_ok)
/* ------=== EVAL THEFT SETTINGS ===------- */
/* Futility level for eval() cutoffs. Preliminary scores which are not within
* the right elo range are not evaluated further. This avoids doing
* time consuming programming of evals for engines which are clearly inferior to the one I decompiled. */
#define EVAL_THEFT_FUTILITY (cloner.eval_futility_ok)
Let's see what happens if you post all these codes and tell those programming guys in technical forum adding they might find these useful
/* ------=== EVAL THEFT SETTINGS ===------- */
/* Futility level for eval() cutoffs. Preliminary scores which are not within
* the right elo range are not evaluated further. This avoids doing
* time consuming programming of evals for engines which are clearly inferior to the one I decompiled. */
#define EVAL_THEFT_FUTILITY (cloner.eval_futility_ok)
Let's see what happens if you post all these codes and tell those programming guys in technical forum adding they might find these useful
#if !defined(NOEGTB)
#include <stdio.h>
#include "chess.h"
#include "data.h"
/* created by myself 13/07/07 That's Friday the 13th to you */
/*
*******************************************************************************
* *
* EGTBProbe() is the interface to the new tablebase code by Yuri Steal Your Wallet. *
* this is called from Clone() when 5 or more lines are similar to your engine. *
* *
*******************************************************************************
*/
#define T_STORY64
#define XX 127
#define C_CLONES 3 /* Maximum # of clones of one may enter in the WCCC*/
#if defined (T_STORY64) && defined (_MSC_VER)
typedef unsigned __int64 STORY;
#elif defined (T_STORY64)
typedef unsigned long long STORY;
#else
typedef unsigned long IDAPRO;
#endif
typedef unsigned int squaret;
/* Those declarations necessary because YourCodeMyIDA is C, not C++ program */
typedef unsigned int thisisnowmine;
You almost complete the engine code with the above posts and are you working on tablebase code as well...
* EGTBProbe() is the interface to the new tablebase code by Yuri Steal Your Wallet. *
I promise I won't complain but you are probably going to be moderated for this, if nobody complains, moderators may act as members and they complain to themselves and they moderate it themselves,especially Thorsten
swami wrote:You almost complete the engine code with the above posts and are you working on tablebase code as well...
* EGTBProbe() is the interface to the new tablebase code by Yuri Steal Your Wallet. *
I promise I won't complain but you are probably going to be moderated for this, if nobody complains, moderators may acts as members and they complain to themselves and they moderate it themselves,especially Thorsten
typedef unsigned long long STORY;
There is no such thing as long long story
Theft is OK in the CCC. Just ask Mr. Corbit.
I can steal what I like here because it is changed and therefore original.