I added some 0 1 #: examples to the Antibase page in the NuVoc wiki, showing how to separate whole and fractional parts of floating point numbers and rational fractions.
Skip On Fri, Jul 6, 2018 at 12:19 PM Henry Rich <[email protected]> wrote: > It's a Wiki. Add your example. > > Henry Rich > > On 7/6/2018 1:00 PM, Skip Cave wrote: > > If I had read far enough down on the NuVoc page for Antibase (#:) I would > > have found this: > > > > 3. Convert a number to quotient/remainder form > > > > 0 5 #: 26 NB. Quotient and remainder after dividing by 5 > > 5 1 > > 0 5 #: _7 > > _2 3 > > > > I had categorized Antibase in my mind as useful mainly for converting > > between different > > > > number bases. I can see I need to revisit #: to understand it better. > Even > > with the above > > > > example, I don't think I would have discovered that a left argument of 0 > 1 > > to #: could also > > > > be used to get the whole and fractional parts of any number. > > > > It would be nice to add another example to the NuVoc Antibase page, to > show > > how one > > > > can use #: to get the whole & fractional part of ANY floating point or > > rational fraction: > > > > 0 1 #: 11%3 > > > > 3 0.666667 > > > > 0 1 #: 11r3 > > > > 3 2r3 > > > > 0 1#: 13r5 136r44 38r13 > > > > 2 3r5 > > > > 3 1r11 > > > > 2 12r13 > > > > Another surprise was how to use #: to find the odd numbers in an array: > > > > 4. Detect an odd number > > > > isOdd=: 2 & #: > > isOdd 21 > > 1 > > isOdd 21 10 31 7 > > 1 0 1 1 > > > > > > > > Skip Cave > > Cave Consulting LLC > > > > > > On Fri, Jul 6, 2018 at 10:17 AM Don Guinn <[email protected]> wrote: > > > >> I remember in third grade the teacher spending seemly endless amount of > >> time explaining division. Divisor. Dividend. Remainder. I can't remember > >> all the names. Then the mechanics of actually doing the division. It is > >> surprising that all this arm waving and effort can be expressed by the > >> simple J expression > >> > >> divisor=.13 > >> dividend=.12345 > >> (0,divisor)#:dividend > >> 949 8 > >> > >> Where 948 is the answer and 8 is the remainder. > >> > >> On Thu, Jul 5, 2018 at 8:55 PM Skip Cave <[email protected]> > wrote: > >> > >>> Don, > >>> > >>> Wow! That's amazing! > >>> > >>> qr =.0 1#:] > >>> > >>> qr 13r5 136r44 38r13 > >>> > >>> 2 3r5 > >>> > >>> 3 1r11 > >>> > >>> 2 12r13 > >>> > >>> Thats way better than what I was trying. Thanks! > >>> > >>> Skip > >>> > >>> Skip Cave > >>> Cave Consulting LLC > >>> > >>> > >>> On Thu, Jul 5, 2018 at 9:48 PM Don Guinn <[email protected]> wrote: > >>> > >>>> 0 1#:13r5 > >>>> 2 3r5 > >>>> > >>>> On Thu, Jul 5, 2018, 8:20 PM Skip Cave <[email protected]> > >> wrote: > >>>>> I find that the rational fractions capability in J comes in handy for > >>>>> various applications. However, It occasionally comes in handy to be > >>> able > >>>> to > >>>>> convert a rational fraction into an integer and a remainder > >> fraction. I > >>>> put > >>>>> together a function 'qr' (quotient/remainder) to input pure rational > >>>>> fractions and output integer - fraction representations. > >>>>> > >>>>> Here's the function: > >>>>> > >>>>> qr=. 3 : '(<.%/a),(1{a)%~|~/a=.2&x:y' > >>>>> > >>>>> > >>>>> Trying it out: > >>>>> > >>>>> qr 13r5 > >>>>> > >>>>> 2 3r5 > >>>>> > >>>>> qr 136r44 > >>>>> > >>>>> 3 1r11 > >>>>> > >>>>> qr 38r13 > >>>>> > >>>>> 2 12r13 > >>>>> > >>>>> My qr function is pretty kludgy. Is there a shorter, more tacit > >>> version I > >>>>> could use? Also can it be made to operate on a vector of rational > >>>>> fractions, to give a 2xn matrix of integer/fraction results? > >>>>> > >>>>> qr 13r5 136r44 38r13 > >>>>> > >>>>> 2 3r5 > >>>>> > >>>>> 3 1r11 > >>>>> > >>>>> 2 12r13 > >>>>> > >>>>> Skip > >>>>> > >>>>> Skip Cave > >>>>> Cave Consulting LLC > >>>>> > >> ---------------------------------------------------------------------- > >>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >>>> ---------------------------------------------------------------------- > >>>> For information about J forums see > http://www.jsoftware.com/forums.htm > >>> ---------------------------------------------------------------------- > >>> For information about J forums see http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > --- > This email has been checked for viruses by AVG. > https://www.avg.com > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
