Bookstore

 Computer Math and Games in Pascal (preview) Lazarus Handbook

Author Topic: three-way comparison  (Read 896 times)

BobDog

• Sr. Member
• Posts: 373
Re: three-way comparison
« Reply #15 on: November 29, 2022, 12:51:38 am »

Perhaps >< could be used.
(Simple console program)
Code: Pascal  [Select][+][-]
1. uses
2. math;
3.
4. Operator >< (a:int32;b:int32) z : int32;
5. begin
6. z:=sign(a-b);
7. exit(z);
8. end;
9.
10.  function range(f:int32;l:int32):int32 ;
11. begin
12.     range:=  random(2147483647) mod (l-f+1) + f ;
13. end;
14. var
15. i,a,b,j:int32;
16. ar:array[-1..1] of int32=(0,0,0);
17.
18. begin
19.
20. writeln(3><9);
21. writeln(3><3);
22. writeln(9><3);
23. writeln('---- The first few: ---');
24. for i:=1 to 10000000 do
25. begin
26. a:=range(0,2);
27. b:=range(0,2);
28. j:=a><b;
29. if (i<501) then  write(j);
30. ar[j]:=ar[j]+1;
31. end;
32. writeln(chr(10));
33. writeln('bucket');;
34. for i:=-1 to 1 do writeln(ar[i]);
35. writeln('_______');
36. writeln(ar[-1]+ar[0]+ar[1]);
37. writeln('Done, press return to end . . .');
39. end.
40.

• Hero Member
• Posts: 12940
Re: three-way comparison
« Reply #16 on: November 29, 2022, 09:46:05 am »
But that is already used and what I showed.... See the Rosetta code entry.
{ imp ==>}
operator >< (const a,b:trit):trit;

Problem with this thread is that there is too much noise.
(And frankly people writings not based on any theory at all. My code is founded in proper theory and complete)
« Last Edit: November 29, 2022, 09:54:13 am by Thaddy »
In memory of Gordon Moore  (January 3, 1929 – March 24, 2023) Just double the heaven every two years from now.

BobDog

• Sr. Member
• Posts: 373
Re: three-way comparison
« Reply #17 on: November 29, 2022, 12:53:21 pm »
But that is already used and what I showed.... See the Rosetta code entry.
{ imp ==>}
operator >< (const a,b:trit):trit;

Problem with this thread is that there is too much noise.
(And frankly people writings not based on any theory at all. My code is founded in proper theory and complete)
What are you trying to say Thaddy, that you and only you have the proper theory?
So we read your thing and immediately stop right there, all is now concluded, no other answers counts any more?
(I now see your rosettacode unit, but your >< operator can return values other than 0,-1,1)
I am only going by the first question in the thread, a simple operator to do a simple task.
I wasn't quite expecting to be rubbished, cast aside, vilified, along with everybody else here.

• Hero Member
• Posts: 12940
Re: three-way comparison
« Reply #18 on: December 01, 2022, 10:17:12 am »
That operator can ONLY return a trit, which means -1,0,+1
I never villified you, I merely was trying to teach you how it can be done.
(From two different approached, but founded in the Kleene and Priest logic, which is the accepted and current scientific approach to solve the problem at hand)
In memory of Gordon Moore  (January 3, 1929 – March 24, 2023) Just double the heaven every two years from now.

Zvoni

• Hero Member
• Posts: 1685
Re: three-way comparison
« Reply #19 on: December 01, 2022, 10:41:36 am »
That operator can ONLY return a trit, which means -1,0,+1
I never villified you, I merely was trying to teach you how it can be done.
(From two different approached, but founded in the Kleene and Priest logic, which is the accepted and current scientific approach to solve the problem at hand)
..... and at a guess, implemented and validated (confirmed to work) a gazillion times all across the world and programming languages
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad