<. = >. doesn't work on infinity, sorry. But you also have trouble
with big finite numbers if you allow tolerant comparison:
(= 0.5&+) 2 ^ 46
1
19j2 ": 0.5 + 2 ^ 46
70368744177664.50
Henry Rich
On 8/2/2020 8:24 AM, Skip Cave wrote:
What I'm really looking for, is a verb that finds integers in a list:
datatype 2.5
floating
datatype 3
integer
datatype __
floating
So J considers __ as "floating"
So I want a verb "isinteger" that marks the integers in a vector, where __
is in the list, and is considered floating:
isinteger 1 2.5 __ 3 4.5 6
1 0 0 1 0 1
And maybe the inverse also:
isfloating 1 2.5 __ 3 4.5 6
0 1 1 0 1 0
My (=<,) doesn't do it:
(=<.)1 2.5 __ 3 4.5 6
1 0 1 1 0 1
So what would "isinteger" look like?
Skip
Skip Cave
Cave Consulting LLC
On Sun, Aug 2, 2020 at 1:44 AM Skip Cave <s...@caveconsulting.com> wrote:
I use the (=<.) verb to find integers in a list:
* (=<.)1 2.5 2.7 3 4.5 6*
*1 0 0 1 0 1*
* (#~(=<.))1 2.5 2.7 3 4.5 6*
*1 3 6*
I ran across an interesting result when infinity is in the list:
* (=<.)1 2.5 __ 3 4.5 6*
*1 0 1 1 0 1*
* (#~(=<.))1 2.5 __ 3 4.5 6*
*1 __ 3 6*
So J is saying that the floor of infinity is infinity (and the ceiling of
infinity is also infinity). Since infinity is not a number, it would seem
that an error should be generated when taking the floor of infinity, or
perhaps NAN, or a zero? In any case, this messes up my nice integer-finding
verb. Is the\re a mathematical justification for defining the floor of
infinity to be infinity?
https://math.stackexchange.com/questions/981708/limit-of-floor-function-when-x-goes-infinity
Skip
Skip Cave
Cave Consulting LLC
----------------------------------------------------------------------
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