nthHam 100 |assertion failure: nthHam | 0<:c
----- Original Message ----- From: Aai <[email protected]> Date: Wednesday, January 6, 2010 9:39 Subject: Re: [Jprogramming] Rosetta code: hamming numbers To: Programming forum <[email protected]> > Ok, I decided to translate the Haskell program from > http://tinyurl.com/yks6mzr > (see end of article) > > nthHam=: 3 : 0 > 'ln2 ln3 ln5'=. ^. tdv=.2 3 5 > lo=. 0.01 -~ hi=. 1.693-~(*/6,y,ln2, ln3, ln5)^%3 > t=.,:0$0 > for_k. i. 1+ <. hi%ln5 do. > for_j. i. 1+ <. ln3 %~ hi - p=. k*ln5 do. > t=. t, j,k,(>.ln2%~lo-q),(<.ln2%~hi- > q), q=. p + j * ln3 > end. > end. > c=. +/ 1+_2{"1 }. t > z=.,:0$0 > for_r. t do. > for_i. ([+i.@>:@-~)/2{.2}.r do. z=.z, i,(2{.r), > ({:r)+i*ln2 end. > end. > c=. c - y > assert. 0 <: c > assert. c <: # z > __ q: inv tdv ,: x: 3 {. c { (\: {:"1) }. z > ) > > ts 'it=: nthHam 1e6' > 0.358981 1314816 > it > 519312780448388736089589843750000000000000000000000000000000000000000000000000000000 > > Any comments/improvements ? ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
