<. = >.    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

Reply via email to