Hi Henry,

Yes you are right. Here is my correction.


extd =: 4 : 0
n=. ((1!:1) 1 )
((".@,&'x' n)) A. i. x
)



Ak






On Mon., Aug. 14, 2023, 14:51 Henry Rich, <henryhr...@gmail.com> wrote:

> You have a mismatched parenthesis in the prompt line of the verb you
> posted.
>
> Henry Rich
>
> On 8/14/2023 4:42 PM, Ak O wrote:
> > Hi Raul,
> >
> > Yes I think I understood Henry's message. This why my thought is to
> simulte
> > the keyboard input. Since typing the raw input into the first function
> > works exactly as desired. I want rather to substitute escaping to the
> > keyboard for  feeding the input as keystrokes.
> >
> > I don't know enough about stdin and keyboard reads to know the different
> > triggers.
> >
> > Are there some bytes that the keyboard triggers that
> > interpreter recognizes?
> >
> > If the analogy is writing/reading a file, can i get the bytes of each
> digit
> > and go from there?
> >
> > Is there better was for me to think about this? Probably.
> > But, I know that if a keyboard can do it, I can simulate a keyboard
> doing
> > it.
> >
> > I must be able to run that track without needing to escape the function.
> >
> >
> > :)
> >
> > Ak
> >
> >
> >
> > On Mon., Aug. 14, 2023, 13:30 Raul Miller, <rauldmil...@gmail.com>
> wrote:
> >
> >> I think you should re-read Henry's message that you were responding to
> >> here.
> >>
> >> By the time any J function can run, it's already too late.
> >>
> >> --
> >> Raul
> >>
> >> On Mon, Aug 14, 2023 at 12:58 PM Ak O <akin...@gmail.com> wrote:
> >>> What expression allows a function to recieve an argument 'y' as a
> literal
> >>> without using quotes?
> >>>
> >>> Below are two  deficient functions.
> >>> The size of the vector is given by 'x'. The permutation
> >>> index is meant to be given by 'y'.
> >>>
> >>> My intention is treat 'y' as a literal, without needing to use quotes
> on
> >>> the input.
> >>>
> >>> This first function works by escaping to the keyboard for input
> >>> I would like rather for the function to receive the input from the raw
> >>> argument and not have to escape to the keyboard.
> >>>
> >>> Desired Input
> >>> 30 extd 180548043269214561950911457875657
> >>> Rather than
> >>> 30 extd '180548043269214561950911457875657'
> >>>
> >>>
> >>> This function is deficient by its operating sequence.
> >>> It escapes to keyboard, which preservs the literal type.
> >>>
> >>> extd =: 4 : 0
> >>> n=. ((1!:1) 1
> >>> ((".@,&'x' n)) A. i. x
> >>> )
> >>>
> >>> 30 extd 180548043269214561950911457875657
> >>>
> >>> Keyboard input (if this approach makes sense, can the keyboard input
> be
> >>> simulated by using y as the feed?)
> >>> 180548043269214561950911457875657
> >>>
> >>> Result
> >>> 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
> >>>
> >>>
> >>>
> >>> Alternative deficient function by the input form.
> >>> Yields the correct result  but uses quotes in the input.
> >>>
> >>> extdquotes =: 4 : 0
> >>> ((".@,&'x' n)) A. i. x
> >>> )
> >>>
> >>> 30 extdquotes '180548043269214561950911457875657'
> >>>
> >>> Result
> >>> 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
> >>>
> >>>
> >>> I am looking for the function that uses the input for extd that
> delivers
> >>> the result of extdquotes
> >>>
> >>>
> >>> Thank you for your help
> >>> Ak
> >>>
> >>>
> >>> On Sat., Aug. 12, 2023, 13:43 Henry Rich, <henryhr...@gmail.com>
> wrote:
> >>>
> >>>> It's like this:
> >>>>
> >>>> /long-number/ is a single word.  If the length is <19 digits, it is an
> >>>> integer, otherwise a float (which necessarily has only 16 digits of
> >>>> precision).
> >>>>
> >>>> /long-number/x is a single word, but it is always an extended integer,
> >>>> and every digit of /long-number/ is preserved.
> >>>>
> >>>> x: /number/ is two words.  /number/ is evaluated first, and then x: is
> >>>> applied to its value to give an extended integer.
> >>>>
> >>>> In that last case, if /number/ has more than 19 digits, it will have
> >>>> been represented as a float, and the extended integer will have only
> 16
> >>>> digits of precision.
> >>>>
> >>>> Henry Rich
> >>>>
> >>>> On 8/12/2023 3:25 PM, Ak O wrote:
> >>>>> 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
> >>>> ----------------------------------------------------------------------
> >>>> 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to