I have no idea how this is happening - I can press the right arrow key and it 
does not let me move away from the last visible character.

On 18 Oct 2011, at 23:46, Roger Hui wrote:

> By copying from your message I detected 3 garbage characters at the
> end of the line in question.
> 
>   a.i.'{. 2&x: (+%)/ a​'
> 123 46 32 50 38 120 58 32 40 43 37 41 47 32 97 226 128 139
> 
> 
> 
> On Tue, Oct 18, 2011 at 3:39 PM, David Vaughan
> <[email protected]> wrote:
>> Strange, but sorted now. I've just written another verb and am getting 
>> another spelling error which I don't understand - none of this was copied 
>> and pasted:
>> 
>>   pell =: 3 : 0
>> a =. x: cf y
>> if. 0=2|#a do. a =. (] , }.@}:) a end.
>> {. 2&x: (+%)/ a
>> )
>> |spelling error
>> |   {. 2&x: (+%)/ a
>> |                  ^
>> |   pell=:    3 :0
>> 
>> If I type it 'manually' it works.
>> 
>> On 18 Oct 2011, at 18:26, Raul Miller wrote:
>> 
>>> If I copy and paste this into a temp file, and load it, I get the same
>>> spelling error you got.
>>> 
>>> If I replace the load keyword in my session with    a.i.30 }. 41 {. 1!:1<
>>> I get:
>>> 50 43 114 13 10 226 128 139 226 128 139
>>> 
>>> So it looks like you have a couple invisible white space unicode
>>> sequences which J currently does not recognize as valid white space.
>>> 
>>> Confirming this, in my J6.02 session, if I position the cursor to the
>>> right of the 'w' in while and then move my cursor one character to the
>>> left, and hit delete twice, the 'while.' keyword changes color, and
>>> when I load the file I do not get the spelling error.
>>> 
>>> FYI,
>>> 
>>> --
>>> Raul
>>> 
>>> 
>>> On Tue, Oct 18, 2011 at 1:09 PM, David Vaughan
>>> <[email protected]> wrote:
>>>> Hmm, now I'm getting a spelling error which doesn't seem to make sense:
>>>> 
>>>>   cf =: 3 : 0
>>>> r=.%:y
>>>> a=.<.1r2+r
>>>> while. ({:a)~:2*{.a do. a=.a,<.1r2+{:r ] r=.r,%({:r)-{:a end.
>>>> ]a
>>>> )
>>>> |spelling error
>>>> |
>>>> |   ^
>>>> |   cf=:    3 :0
>>>> 
>>>> It's like it's saying the error is above the first line. Also this is no 
>>>> different to the version I had before aside from the correction in the 
>>>> while loop.
>>>> 
>>>> On 18 Oct 2011, at 18:00, Raul Miller wrote:
>>>> 
>>>>> The first element of a is always 1.
>>>>> 
>>>>> The last element of a is always an integer and so can never be 0.5.
>>>>> 
>>>>> So the loop can never terminate.
>>>>> 
>>>>> --
>>>>> Raul
>>>>> 
>>>>> On Tue, Oct 18, 2011 at 12:52 PM, David Vaughan
>>>>> <[email protected]> wrote:
>>>>>> Why does this not work? I had to interrupt it because it just froze 
>>>>>> doing nothing.
>>>>>> 
>>>>>>   cf =: 3 : 0
>>>>>> r=.%:y
>>>>>> a=.<.1r2+r
>>>>>> while. ({.a)~:2*{:a do. a=.a,<.1r2+{:r ] r=.r,1%({:r)-{:a end.
>>>>>> ]a
>>>>>> )
>>>>>>   cf 2
>>>>>> |attention interrupt: cf
>>>>>> |       cf 2
>>>>>> 
>>>>>> 
>>>>>> On 18 Oct 2011, at 17:23, Raul Miller wrote:
>>>>>> 
>>>>>>> The best I can think of at the moment is using x: on the floating
>>>>>>> point value for an initial value and then newton's method to gain the
>>>>>>> extra precision you want.
>>>>>>> 
>>>>>>> --
>>>>>>> Raul
>>>>>>> 
>>>>>>> On Tue, Oct 18, 2011 at 12:09 PM, David Vaughan
>>>>>>> <[email protected]> wrote:
>>>>>>>> I'm hoping to write a verb to compute the continued fraction expansion 
>>>>>>>> of a square root. I've done it in Java though there are accuracy 
>>>>>>>> issues with floating points and speed issues with using exact numbers 
>>>>>>>> (you end up multiplying massive numbers in some cases). Is J equipped 
>>>>>>>> to deal with these problems or should I be looking for an alternative 
>>>>>>>> method entirely?
>>>>>>>> 
>>>>>>>> On 18 Oct 2011, at 16:50, Raul Miller wrote:
>>>>>>>> 
>>>>>>>>> On Tue, Oct 18, 2011 at 11:30 AM, David Vaughan
>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> Can J represent surds exactly instead of reverting to floating 
>>>>>>>>>> point? It would be more convenient if I could do that rather than 
>>>>>>>>>> storing the squared version.
>>>>>>>>> 
>>>>>>>>> Yes, but by generating a verb which would generate the floating point
>>>>>>>>> value and not as a number.
>>>>>>>>> 
>>>>>>>>> cubeRootOf5=: %:&5 bind 3
>>>>>>>>> 
>>>>>>>>> Of course you can manipulate the resulting numbers but those results
>>>>>>>>> are still floating point:
>>>>>>>>> 
>>>>>>>>>   (cubeRootOf5 ^ 3:) ''
>>>>>>>>> 5
>>>>>>>>>   5-(cubeRootOf5 ^ 3:) ''
>>>>>>>>> 8.88178e_16
>>>>>>>>> 
>>>>>>>>> That said, in some cases, J can clean up floating point discrepancies
>>>>>>>>> 
>>>>>>>>>   5-x:(cubeRootOf5 ^ 3:) ''
>>>>>>>>> 0
>>>>>>>>> 
>>>>>>>>> but that's from direct manipulation of the values and does not care
>>>>>>>>> about delayed evaluation:
>>>>>>>>> 
>>>>>>>>>   5-x:((3 %:5) ^ 3:) ''
>>>>>>>>> 0
>>>>>>>>> 
>>>>>>>>> Anyways, J implements the data structures to support symbolic
>>>>>>>>> manipulation but it does not have a particularly large library of
>>>>>>>>> prebuilt symbolic manipulation routines.
> ----------------------------------------------------------------------
> 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