bob wrote:I hold the copyright on _the_ bubble sort in crafty, yes. Not on the bubble sort idea, but on that specific code, along with everything else in there that I wrote.
ball is in your court... You certainly ought to be able to go to "sorting and searching" by Knuth and cite the exact page where the code was copied "verbatim", correct? Actually, if you look carefully, Crafty uses _TWO_ different types of sorts, depending on whether it is a full-width node or a quiiece-only node. And the code looks nothing like the code you claim I copied "verbatim".
My, my, a lot of ppl here seams to be afraid of "big" authority, but it's really time to show them the "emperor is naked".
So let's see your "copyrighted" bubble sort
code (lol for using it, believe it or not Miguel he is really using it, as Knuth (the real authority not a fake one like you) says: "In short, the bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems.")
From Crafty 23.4, root.c 135-148 and quiesce.c 162-176:
Code: Select all
do {
done = 1;
for (i = 0; i < lastm - rmoves - 1; i++) {
if (sort_value[i] < sort_value[i + 1]) {
temp = sort_value[i];
sort_value[i] = sort_value[i + 1];
sort_value[i + 1] = temp;
temp = rmoves[i];
rmoves[i] = rmoves[i + 1];
rmoves[i + 1] = temp;
done = 0;
}
}
} while (!done);
Code: Select all
do {
done = 1;
sortv = tree->sort_value;
for (movep = tree->last[ply - 1]; movep < tree->last[ply] - 1;
movep++, sortv++)
if (*sortv < *(sortv + 1)) {
temp = *sortv;
*sortv = *(sortv + 1);
*(sortv + 1) = temp;
temp = *movep;
*movep = *(movep + 1);
*(movep + 1) = temp;
done = 0;
}
} while (!done);
That much about two different types of sorts. You don't even know your own code. Both textbook bubble sort.
Now regarding Knuth, in his The Art of Computer Programming - Volume 3 - Sorting and Searching, 2nd ed. page 107 there is a
code which is in his pseudo machine language. The code is identical to yours except variable names, his "done" is called "t" and has initial value of 0 and if there was a swap than it gets value 1. The format is the same "do..while" meaning the same post-test loop type. The minimal difference is in comparison since his sorting is in raising order, your in falling, but that's a trivial difference. Now, I really don't intend to type it from the paper book. Anyone, who is at least a bit of programmer has the book on its shelf and can check what I'm talking about. Instead here is the same implementation in little bit more recognizable fashion (for those who are not so experienced with programming

)
Wikipedia on bubble sort:
Code: Select all
do
swapped = false
for each i in 1 to length(A) - 1 inclusive do:
if A[i-1] > A[i] then
swap( A[i-1], A[i] )
swapped = true
end if
end for
while swapped
Looks familiar doesn't it???

So when are you planning to sue wikipedia for stealing your copyrighted code, since a haven't seen a single reference of you on that page, ha?

Oh, yes, you have a swap implementation, they don't so that one must be copyrightable then, right?
What PD code was in the Crafty that was copied into Fruit? Today's crafty certainly has Pradu's magic move generation code, attributed to him in the comments. The version copied and used in Rybka certainly did not. Please identify any PD code in Crafty, by specific source file name and line numbers, for the 19.0 version used as the basis for Rybka's bitboard code...
Completely irrelevant. The point is, you do use PD
CODE in your Crafty (as I've just proven) and your attempt to claim it as your copyright is just pure BS despite what any apple-polisher here says.
Did you see my _explicit_ reference to the bitboard code (particularly the initialization) that is in Robolito?
Of course I did, that's why I called yours writing here a
slander referring to yours "
hundreds of lines of
verbatim copied code".
So lets see, rotation tables are the same, but sorry there they are not copyrightable, good try, more luck next time

.
Initialization of piece attack tables:
-pawn attacks - different
-knight attacks - same, but that's more than trivial, even more trivial than "your" bubble sort implementation
-rook attacks - different
-bishop attacks - different
So could you please show us these "hundreds of verbatim copied lines" referring to line numbers in your Crafty 19.0 and Robbo (pick up a version that you like)? Otherwise your writing is nothing more than slander.
The ball is in your court,
professor...