Interesting behaviour outside the integer domain... (1&+.) 3r4j1 0.25 (1&+.) 4r5j1 2.22044605e_16
________________________________ From: Roger Hui <[email protected]> To: Programming forum <[email protected]> Sent: Wednesday, March 4, 2009 12:11:15 AM Subject: Re: [Jprogramming] deconstructing rationals As others have said, 2 x: y does it. The problem is an interesting puzzle if you didn't have 2 x: y. Spoiler below. denominator=: %@(1&+.) numerator =: * denominator ] y=: %/ x: _1e9 + ?. 2 $ 2e9 905093854r670464245 denominator y 670464245 numerator y 905093854 ----- Original Message ----- From: Brian Schott <[email protected]> Date: Tuesday, March 3, 2009 20:01 Subject: [Jprogramming] deconstructing rationals To: [email protected] > How do you get the numerator and denominator of a > rational fraction? For example the (numerator,denominator) > of 4r6 is 2 3; how do you get the 2 3 from 4r6? I know this > must have been covered before, but I cannot think how to > search for it. > > My current best effort is the verb ratio. > ratio =: 2{.!.1 (i.&'r' ( {./ , ' ' , ] }.~ > #...@] <. >:@[) ])&.": > ratio 4r6 > 2 3 > ratio 4 > 4 > $ratio 4 > > $ratio 4r6 > 2 > #ratio 4 > 1 > #ratio 4r6 > 2 > ratio"0 ]4r6 6r4 79 > 2 3 > 3 2 > 79 1 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
