A few days ago, I realized that using abs( can save space!
For example, instead of
Code: :If X=1 or X=5
use
Code: :If 2=abs(X-3
and instead of
Code: :If A>2 and A<10
use
Code: :If 4>abs(A-6
😁
save space at the cost of speed. My initial reaction is that using abs( the way you describe would be a great slowdown
Another trick to save space: change
N/5
to
5-1N
All abs( does is make the argument positive, though
calc84maniac wrote:
All abs( does is make the argument positive, though
...and you have the subtraction in there, as well. And remember, this is all being done on a 9-byte floating-point number
better yet max(X={2,5,34,25
KermMartian wrote:
Another trick to save space: change
N/5
to
5-1N
How does taht save any space? It's still the same number of tokens.
Not if it's a complex expression (complex as in complicated):
(B-CA)/5
as opposed to
5-1(B-CA
One byte saved.
But it still goes slower.
5-14589
is slower than
(4589)/5
And adding parenthesis goes slower. So the -1 trick is good to save space but not to improve speed.
Also, when doing
fpart(9-1dim(L1
fpart(9-1*9 returns 1
int(9-1*9 returns 0
even if the dim of L1 = 3, there will be an fpart.
Yes, it does indeed go slower. Therefore it's a size optimization, not a speed optimization.
I did some tests today, and the abs( routine is about 17% faster. 😁
calc84maniac wrote:
I did some tests today, and the abs( routine is about 17% faster. 😁
post the code you used
Code: :starttmr->S
:For(X,1,10000
:A=1 or A=5
:End
:Disp checktmr(S
:starttmr->S
:For(X,1,10000
:2=abs(A-3
:End
:Disp checktmr(S
calc84maniac wrote:
I did some tests today, and the abs( routine is about 17% faster. 😁
17% faster than what?
Code:
:If X=1 or X=5
use
Code:
:If 2=abs(X-3
and instead of
Code:
:If A>2 and A<10
use
Code:
:If 4>abs(A-6
Or Code: :If max(X={1,5
?
Ooh, forgot about the max( one. I'll test that out.
Edit: Yay! The abs( routine is about 28% faster than the max( one! 😁 😁
I discovered that one byte and precisely one millisecond can be saved from:
round(rand,0
instead of
randInt(0,1
Thanks Kerm! 🙂 I'll use that in my Sudoku program! (84 bytes saved so far! 😁 )
Heh, good for you. I'm thinking of making a mini-contest of Scrabble AIs to see if someone can come up with a better method than my recursive solver.