[Jprogramming] Fractional parts
Louis de Forcrand
olius at bluewin.ch
Wed Aug 9 19:39:10 UTC 2017
A few handy tests which are good to know:
N=: GI *. 1 0 e.~ * NB. naturals
Z=: GI *. R NB. integers
R=: = + NB. reals
C_R=: + = - NB. pure imaginaries (C-.R)
GI=: = <. NB. gaussian integers
These were made to accept any J number. They could be optimised if one knows that they are working only with real numbers, for example. In that case
1 0 e.~ *
could be replaced by
>:&0
and the test for reals can be skipped in Z.
In addition, these work with the mathematical definitions of the different number sets, not with J's internal storage types.
Louis
> On 9 Aug 2017, at 11:42, Skip Cave <skip at caveconsulting.com> wrote:
>
> Martin,
>
> The original problem I was working on was a post on Quora (
> https://goo.gl/NrZde2). I use these Quora math questions to help sharpen my
> J skills. I try to see if I can "brute force" the solutions using J, while
> most other posters try to solve these things by algebraic manipulation. My
> answer to that question is here: (https://goo.gl/FhdJAg). There are several
> Quora problems that I have posted J solutions for, mostly to show how
> simple a brute force solution can be when using an array language. You can
> find those posts by searching for my name ("Skip Cave") in Quora
>
> In this problem all I really needed to do was to find all the results from
> the equation that were integers, so I used the 0=1|| scheme to find them.
>
> Our discussion on the J forum got me thinking about finding both the
> fractional part and the integer part of numbers, and I thought the pair of
> verbs (fp, ip) would be a nice addition to the Phrases doc, which is
> defined as listing phrases "useful to beginners in learning the language,
> and of continuing use to practical programmers."
>
> Also, when I obtained the fractional part, I wanted to keep the fact that
> the fractional part came from a negative number, hence the attempt to have
> negative fractional parts.
>
> Skip
>
> Skip Cave
> Cave Consulting LLC
>
>> On Wed, Aug 9, 2017 at 9:35 AM, Martin Kreuzer <info at airkreuzer.com> wrote:
>>
>> From what I've gathered so far is, that people seem to not mind that much,
>> when extracting the fractional part from a (negative) float, they use
>>
>> (1&|) _8.11
>> 0.89
>>
>> or
>>
>> (1&#:) _8.11
>> 0.89
>>
>> or
>>
>> (**1||) _8.11
>> _0.11
>>
>> as long as the integer and fractional part added up produce the original
>> float value.
>>
>> Q: Would somebody care to give a (scaled down) real-world example so as to
>> give me a chance to understand where this ip/fp extraction usually comes
>> into play and what part of the data is used for decision-making..? Thanks.
>>
>> -M
>>
>>
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
More information about the Programming
mailing list