My thought was that 'x' must always be  extended by definition.

I was trying to think what cases this operator's 'x' argument would not be
strictly extended.

Chris demonstrated that the input 'x' in my example is float by
construction.

Raul explained that the  parser treats the number before it treats the
operator  ( if I have understood his message correctly).

So if I have understood all of this correctly. As a raw input, it is the
extended representation of the float input 'x' that is actually what is
being operated on by A. to yield the result.



Ak


On Sat., Aug. 12, 2023, 11:34 Henry Rich, <henryhr...@gmail.com> wrote:

> I misunderstood your question.
>
> (x A. y) starts by verifying that (*./ (|x) < !.#y) and then converts x
> to a permutation with
> (i.@-&.<: y) #: x
> (all in extended precision if x is extended), followed by a number of
> rotations within an index vector.  It is much less work to start with
> the permutation vector rather than the anagram index.
>
> Henry Rich
>
> On 8/11/2023 8:29 PM, Ak O wrote:
> > For me,
> > (x: y)
> > does not preserve the input.
> >
> > The result I get is not the same.
> >
> >
> >            ( x:180548043269214561950911457875657 )
> >   180548043269214573494164592263168
> > This does not work.
> >
> >
> >
> >            180548043269214561950911457875657x
> > 180548043269214561950911457875657
> > This does work.
> >
> >
> >
> >
> >
> > On Fri., Aug. 11, 2023, 13:01 Henry Rich, <henryhr...@gmail.com> wrote:
> >
> >> (x: value) produces extended version of value.
> >>
> >> Henry Rich
> >>
> >> On Fri, Aug 11, 2023, 2:44 PM Ak O <akin...@gmail.com> wrote:
> >>
> >>> Hi everybody, I hope you are all well.
> >>>
> >>> I have a question about the Anagram ( A. ) operator.
> >>>
> >>> In a defined function, how do I designate that an input 'x' is
> treatment
> >>> as  extended datatype rather than float?
> >>>
> >>> Where being defined:
> >>>       13 : ' x A. i.y'
> >>> [ A. [: i. ]
> >>>
> >>>   is to be taken as,
> >>>       13 : 'X_INPUTx A. y'     NB. 12345672345467x A. i.y
> >>>
> >>> How do I get the affect of catenating an 'x' to the end of a number in
> a
> >>> defined function?
> >>>
> >>> If you understand my question ignore below, otherwise I give an
> example.
> >>>
> >>> Thank you for your thoughts.
> >>>
> >>> Ak
> >>>
> >>>
> >>> My understanding of the Anagram operator (A.).
> >>> The vocabulary reference page (acapdot) gives the product of the
> Anagram
> >>> index function
> >>>      A. y
> >>> as datatype extended.
> >>>
> >>>
> >>> The Anagram function
> >>>      x A. y
> >>> applies the permutation map (x) on  ordered vector sequence (y) as
> below.
> >>>
> >>>
> >>> ]    vector_sequence =:      ?~30
> >>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 25 19
> 0 5
> >>> 16 14
> >>>
> >>>
> >>> ]    vector_anagram =:     A. vector_sequence
> >>> 180548043269214561950911457875657
> >>>
> >>> The Noun, vector_anagram will have datatype extended, given by:
> >>>      datatype vector_anagram
> >>> extended
> >>>
> >>> Applying the vector_anagram on a vector using the command:
> >>>       vector_anagram A. i.30
> >>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 25 19
> 0 5
> >>> 16 14
> >>>
> >>> The expected result.
> >>>
> >>> In a case where the digits are input on there own, the following fails
> >> with
> >>> 'domain error, executing dyad A.'
> >>>
> >>>       180548043269214561950911457875657 A. i.30
> >>>
> >>> One approach is to place 'x:' before the input.
> >>>       ( x:180548043269214561950911457875657 )A. i.30
> >>> 20 12 4 29 7 17 22 11 2 27 28 25 1 8 0 15 16 14 3 5 19 26 18 6 21 23 13
> >> 24
> >>> 9 10
> >>>
> >>> This is not the expected result.
> >>>
> >>> The input is treated as 180548043269214573494164592263168.
> >>>
> >>>       ( x:180548043269214561950911457875657 )
> >>> 180548043269214573494164592263168
> >>>
> >>> Not the input I thought I was applying.
> >>>
> >>> An alternative is to postfix an 'x' to the end of the input.
> >>>       180548043269214561950911457875657x A. i.30
> >>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 25 19
> 0 5
> >>> 16 14
> >>>
> >>> The expected result. But how do I achieve this for a defined function.
> >>>
> >>> Does not work either.
> >>> ".@((":vector_anagram),x')"_     NB. same as x:
> >>>
> >>>
> >>> Maybe there is a symbol that 13 : can be recognize to trigger the
> >> extended
> >>> datatype.
> >>>
> >>>
> >>>
> >>> Thank you for your help.
> >>>
> >>> Ak
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> 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