I was not surprised by the results. What concept of _ do you have in ^:_ if not one of an “integer?” Furthermore, (<: <: <.) *. (>: >: >.) is true for any numeric value. I think it’s obvious that _ is an identity to both (= <:) and (= >:) – and so both <. and >. must return _ as well (likewise for __).
I am not at all surprised and would not want it to be defined diffently. finiteinteger =: ((= <.) *. (~: <:)) keepfinint =: (#~ finiteinteger) Am 02.08.20 um 12:29 schrieb Raul Miller:
The floor of infinity being infinity is not the real problem, opinion. Or at least not the only problem. And, integer infinity is not a particularly new concept: https://simple.wikipedia.org/wiki/Aleph_null Infinity is defined as larger than any number, and larger is not equal. Or, these sorts of "numeric quality" things can defy logic because they are not specific values. But infinity is not the only example of a problem with that expression. Consider this: (= <.) 0.5+2^128 1 Basically, floating point notation is not capable of representing large fractional values. Meanwhile, you could claim that J's implementation of infinity is an integer infinity (since all values greater than a limit in floating point notation are integer values). Anyways, with that out of the way -- what is it that you're trying to do? And, why is infinity a problem there? And, is this an issue for you? datatype <.2^10 integer datatype <.2^100 floating Thanks,
-- ---------------------- mail written using NEO neo-layout.org ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
