> I have no idea how this is happening Yeah, yeah, that's what they all say :-) You're going to claim that at no time did your fingers leave your hands.
On Tue, Oct 18, 2011 at 3:52 PM, David Vaughan <[email protected]> wrote: > 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
