Time for an 2014 update…
This commit is contained in:
parent
372c577f83
commit
09687c4926
2520 changed files with 34227 additions and 7318 deletions
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 ;
|
||||
|
|
@ -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 ) )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue