When I suggested an offset of _1 I did not understand the full
specification, and was fishing for clues.

Thanks,

-- 
Raul


On Mon, Aug 7, 2017 at 5:30 PM, Martin Kreuzer <i...@airkreuzer.com> wrote:
> I'm not sure what Raul had in mind when he suggested an offset of _1 to mark
> the position of negatives (maybe that would help further calculations or
> decisions on the data set, I do not have the experience to judge that); at
> this stage it only works with integers but not with floats ...
> -M
>
>
> At 2017-08-07 21:08, you wrote:
>
>> Ooops! it looks like fp2 isn't so good after all.
>>
>> Skip
>>
>> Skip Cave
>> Cave Consulting LLC
>>
>> On Mon, Aug 7, 2017 at 4:02 PM, Martin Kreuzer <i...@airkreuzer.com>
>> wrote:
>>
>> > Was it meant like that..?
>>
>> >    fp2 0.3 _0.3 3 _3
>> > 0.3 _0.3 0 _1
>>
>> > -M
>>
>>
>> > At 2017-08-07 20:38, you wrote:
>>
>> > It looks like we have two good solutions to find a fractional part:
>> >>
>> >>     v
>> >>
>> >> _2.375 _5.84615 _11.4 13.0028 13.0014 13 12.9986
>> >>     fp1=. * * 1||    NB. Martin
>> >>     fp2 =. (1&| - 0&>)   NB.  Bo & Raul collaboration.
>> >>
>> >>     fp1 v
>> >>
>> >> _0.375 _0.846154 _0.4 0.0027933 0.00139082 0 0.998621
>> >>
>> >>     fp2 v
>> >>
>> >> _0.375 _0.846154 _0.4 0.0027933 0.00139082 0 0.998621
>> >>
>> >>
>> >> Also the converse - integer part:
>> >>
>> >>     ip=: * * <.@|
>> >>
>> >>     ip v     NB. Louis
>> >>
>> >> _2 _5 _11 13 13 13 12
>> >>
>> >>
>> >> These two verbs need to be somewhere in the "Numbers" section of the J
>> >> Phrases doc. Maybe under "8A-Numbers & Counting", or
>> >> 8C-Representations",
>> >> or "8D-Arithmetic". How do we get them in there? Can I edit the Phrases
>> >> doc?
>> >>
>> >>
>> >> Skip
>> >>
>> >>
>> >>
>> >> Skip Cave
>> >> Cave Consulting LLC
>> >>
>> >> On Sun, Aug 6, 2017 at 11:22 AM, Louis de Forcrand <ol...@bluewin.ch>
>> >> wrote:
>> >>
>> >> > ip would be best implemented as
>> >>
>> >> >    ip=: * * <.@|
>> >>
>> >> > as it would return an integer result.
>> >>
>> >> > Louis
>> >>
>> >> > > On 06 Aug 2017, at 12:17, Skip Cave <s...@caveconsulting.com>
>> >> > > wrote:
>> >> > >
>> >> > > All, Thanks for the help.
>> >> > >
>> >> > > Here's some real numbers from a problem I'm working on:
>> >> > > Calculate some values from this equation:
>> >> > >    v=:2%(3r19-%1 2 3 245 246 247 248)
>> >> > > v
>> >> > >    _2.375 _5.84615 _11.4 13.0028 13.0014 13 12.9986
>> >> > > Raul's first suggestion:
>> >> > >    1|v
>> >> > > 0.625 0.153846 0.6 0.0027933 0.00139082 0 0.998621
>> >> > > More precision, but signs are wrong on the negative numbers.
>> >> > >
>> >> > > Nolaig's suggestion:
>> >> > >     (- <.) v
>> >> > > 0.625 0.153846 0.6 0.0027933 0.00139082 1.77636e_15 0.998621
>> >> > > Negative signs are still wrong, and the 6th entry should be zero.
>> >> Looks
>> >> > > like a compare tolerance problem.
>> >> > >
>> >> > > Pascal's solution:
>> >> > >
>> >> > >   1 (| |)v
>> >> > >
>> >> > > 0.375 0.846154 0.4 0.0027933 0.00139082 0 0.998621
>> >> > > Still has the negatives wrong.
>> >> > >
>> >> > > Martin's solution:
>> >> > > fp=.**1||
>> >> > >
>> >> > >   fp v
>> >> > >
>> >> > > _0.375 _0.846154 _0.4 0.0027933 0.00139082 0 0.998621
>> >> > > Negatives are right, zeroes are right. This fractional part verb
>> >> needs to
>> >> > > be in the documentation as part of the numbers chapter.
>> >> > >
>> >> > > Also the integer part verb: ip=.]-**1||    should be included in
>> >> > > the
>> >> > > numbers section as well.
>> >> > >   ip v
>> >> > >
>> >> > > _2 _5 _11 13 13 13 12
>> >> > >
>> >> > > Skip
>> >> > >
>> >> > > Skip Cave
>> >> > > Cave Consulting LLC
>> >> > >
>> >> > > On Sun, Aug 6, 2017 at 6:42 AM, Raul Miller <rauldmil...@gmail.com>
>> >> > wrote:
>> >> > >
>> >> > >> 1&| does work, actually.
>> >> > >>
>> >> > >> And, if you want an offset of -1 on that result when the original
>> >> > >> value was negative, you can use (1&| - 0&>)
>> >> > >>
>> >> > >> Thanks,
>> >> > >>
>> >> > >> --
>> >> > >> Raul
>> >> > >>
>> >> > >> On Sun, Aug 6, 2017 at 3:19 AM, Martin Kreuzer
>> >> > >> <i...@airkreuzer.com>
>> >> > >> wrote:
>> >> > >>> In easy steps (and for further reference) ...
>> >> > >>>
>> >> > >>> From these test data (two floats, two integers, different signs),
>> >> > >>> to
>> >> > get
>> >> > >> the
>> >> > >>> fractional parts
>> >> > >>>
>> >> > >>>   v=. 2.25 _8.11 16 _3
>> >> > >>>
>> >> > >>> simply taking the Residue (when dividing by 1) doesn't work
>> >> > >>> (error
>> >> at
>> >> > >>> negative float position)
>> >> > >>>
>> >> > >>>   1|v
>> >> > >>> 0.25 0.89 0 0
>> >> > >>>
>> >> > >>> So first get Magnitude
>> >> > >>>
>> >> > >>>   | v
>> >> > >>> 2.25 8.11 16 3
>> >> > >>>
>> >> > >>> then take Residue
>> >> > >>>
>> >> > >>>   1 | (| v)
>> >> > >>> 0.25 0.11 0 0
>> >> > >>>
>> >> > >>> then get the sign right (see Raul's remark below)
>> >> > >>>
>> >> > >>>   (*v) * (1 | | v)
>> >> > >>> 0.25 _0.11 0 0
>> >> > >>>
>> >> > >>> and put it as verb (fp), written as a fork
>> >> > >>>
>> >> > >>>   fp=. * * 1||
>> >> > >>>   fp v
>> >> > >>> 0.25 _0.11 0 0
>> >> > >>>
>> >> > >>> -M
>> >> > >>>
>> >> > >>>
>> >> > >>> At 2017-08-06 02:14, you wrote:
>> >> > >>>
>> >> > >>>> Eh... but that's wrong.  You can't add any integer to 0.542857
>> >> > >>>> to
>> >> get
>> >> > >>>> _0.542857.
>> >> > >>>>
>> >> > >>>> If you want signed fractions, you'd need something like (*@] *
>> >> > >>>> (|
>> >> |))
>> >> > >>>>
>> >> > >>>> Thanks,
>> >> > >>>>
>> >> > >>>> --
>> >> > >>>> Raul
>> >> > >>>>
>> >> > >>>>
>> >> > >>>> On Sat, Aug 5, 2017 at 10:01 PM, 'Pascal Jasmin' via Programming
>> >> > >>>> <programm...@jsoftware.com> wrote:
>> >> > >>>>> combining other answers we get the cute:
>> >> > >>>>
>> >> > >>>>> 1 (| |)  _0.542857 _1.1875 1.96552 2.92308 4.13043 5.7 7.82353
>> >> > 10.8571
>> >> > >>>>> 15.5455 23.75
>> >> > >>>>
>> >> > >>>>
>> >> > >>>>
>> >> > >>>>
>> >> > >>>>> ________________________________
>> >> > >>>>> From: Bill <bbill....@gmail.com>
>> >> > >>>>> To: "programm...@jsoftware.com" <programm...@jsoftware.com>
>> >> > >>>>> Sent: Saturday, August 5, 2017 8:30 PM
>> >> > >>>>> Subject: Re: [Jprogramming] Fractional parts
>> >> > >>>>
>> >> > >>>>
>> >> > >>>>
>> >> > >>>>> this also depends on what do you expect for negative numbers.
>> >> > >>>>
>> >> > >>>>> Sent from my iPhone
>> >> > >>>>
>> >> > >>>>> On 6 Aug, 2017, at 7:35 AM, Skip Cave <s...@caveconsulting.com>
>> >> > >> wrote:
>> >> > >>>>
>> >> > >>>>>> Oops! i meant:
>> >> > >>>>>>
>> >> > >>>>>> How does one find the fractional parts of a vector of floating
>> >> point
>> >> > >>>>>> numbers?
>> >> > >>>>>>
>> >> > >>>>>> 0.542857 1.1875 1.96552 2.92308 4.13043 5.7 7.82353 10.8571
>> >> 15.5455
>> >> > >>>>>> 23.75
>> >> > >>>>>> 41.8 114 247
>> >> > >>>>>>
>> >> > >>>>>> i want:
>> >> > >>>>>> 0.542857 0.1875 0.96552 0.92308 0.13043 0.7 0.82353 0.8571
>> >> > >>>>>> 5.5455
>> >> > >> 0.75
>> >> > >>>>>> 0.8
>> >> > >>>>>> 0 0
>> >> > >>>>>>
>> >> > >>>>>> (Last two integers have zero fractional part.)
>> >> > >>>>>>
>> >> > >>>>>>
>> >> > >>>>>> Skip Cave
>> >> > >>>>>> Cave Consulting LLC
>> >> > >>>>>>
>> >> > >>>>>> On Sat, Aug 5, 2017 at 6:30 PM, Skip Cave <
>> >> s...@caveconsulting.com>
>> >> > >>>>>> wrote:
>> >> > >>>>>>
>> >> > >>>>>>> How does one find the fractional parts of a vector of
>> >> > >>>>>>> floating
>> >> > point
>> >> > >>>>>>> numbers?
>> >> > >>>>>>>
>> >> > >>>>>>> 0.542857 1.1875 1.96552 2.92308 4.13043 5.7 7.82353 10.8571
>> >> 15.5455
>> >> > >>>>>>> 23.75
>> >> > >>>>>>> 41.8 114 247
>> >> > >>>>>>>
>> >> > >>>>>>> i want:
>> >> > >>>>>>> 0.542857 0.1875 0.96552 0.92308 0.13043 0.7 0.82353 0.8571
>> >> 5.5455
>> >> > >> 0.75
>> >> > >>>>>>> 0.8
>> >> > >>>>>>> 114 247
>> >> > >>>>>>>
>> >> > >>>>>>> Skip
>> >> > >>>>>>>
>> >> > >>>>>>> Skip Cave
>> >> > >>>>>>> Cave Consulting LLC
>> >> > >>>>>> ------------------------------------------------------------
>> >> > >> ----------
>> >> > >>>>>> 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/forum
>> >> s.htm
>> >> > >> ------------------------------------------------------------
>> >> ----------
>> >> > >> For information about J forums see http://www.jsoftware.com/forum
>> >> s.htm
>> >> > >>
>> >> > > ------------------------------------------------------------
>> >> ----------
>> >> > > For information about J forums see http://www.jsoftware.com/forum
>> >> s.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