Time for an 2014 update…

This commit is contained in:
Ingy döt Net 2014-01-17 05:32:22 +00:00
parent 372c577f83
commit 09687c4926
2520 changed files with 34227 additions and 7318 deletions

View file

@ -36,8 +36,8 @@ double dpow(double base, int exp)
int main()
{
printf("2^6 = %d\n", (int)ipow(2,6));
printf("2^-6 = %lf\n", ipow(2,-6));
printf("2^6 = %d\n", ipow(2,6));
printf("2^-6 = %d\n", ipow(2,-6));
printf("2.71^6 = %lf\n", dpow(2.71,6));
printf("2.71^-6 = %lf\n", dpow(2.71,-6));
}

View file

@ -0,0 +1,11 @@
: pow ( n m -- n^m )
( written in Retro Forth )
1 2rot
[
dup 1 and 0 <>
[ [ tuck * swap ] dip ] ifTrue
[ dup * ] dip
1 >>
dup 0 <>
] while
drop drop ;

View file

@ -1,8 +1,10 @@
(de ** (X N) # N th power of X
(let Y 1
(loop
(when (bit? 1 N)
(setq Y (* Y X)) )
(T (=0 (setq N (>> 1 N)))
Y )
(setq X (* X X)) ) ) )
(if (ge0 N)
(let Y 1
(loop
(when (bit? 1 N)
(setq Y (* Y X)) )
(T (=0 (setq N (>> 1 N)))
Y )
(setq X (* X X)) ) )
0 ) )