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


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.


> On 9 Aug 2017, at 11:42, Skip Cave <s...@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 <i...@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

For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to