! i.10 1 1 2 6 24 120 720 5040 40320 362880 ts '! i.10' 6.05313e_6 896
ScriptはChris.Burk and Cliff Reiterによる
fac1=: 3 : 0 if. y<:1 do. 1 else. y * fac1 y-1 end. )
fac2=: 1: `(*fac2@<:)@.*
($:)を用いる。
fac3=: 1:`(*$:@<:)@.*
fac10=: fac1 M. fac20=: fac2 M. fac30=: fac3 M.
ts=: (6!:2),7!:2
fac1 "0 i.10 1 1 2 6 24 120 720 5040 40320 362880 fac2 "0] i.10 1 1 2 6 24 120 720 5040 40320 362880 fac3 "0] i.10 1 1 2 6 24 120 720 5040 40320 362880
ts 'fac1 "(0) i.100' 0.0394941 148288 ts 'fac10 "(0) i.100' 0.0352531 130944
ts 'fac2 "(0) i.100' 0.0139541 46464 ts 'fac20 "(0) i.100' 0.0137531 48320
ts 'fac3 "(0) i.100' 0.00592404 46272 ts 'fac30 "(0) i.100' 0.00655782 48320
Jには更に直接メモリ周りを扱うMapped fileの機能がある。
詳細はLABのtutorial参照
Test | APLLPA> |
AAA | BB |
AA | BBBB |