Skip, have you considered to use extended precision? In your example only small fraction are used, and the methods discussed would apply as well without precision problems.
v=:2%(3r19-%x:1 2 3 245 246 247 248) I haven’t read the whole thread, so sorry if this contribution doesn’t fit. Markus -----Ursprüngliche Nachricht----- Von: Programming [mailto:programming-boun...@forums.jsoftware.com] Im Auftrag von Martin Kreuzer Gesendet: Mittwoch, 9. August 2017 16:35 An: programm...@jsoftware.com Betreff: Re: [Jprogramming] Fractional parts From what I've gathered so far is, that people seem to not mind that much, when extracting the fractional part from a (negative) float, they use (1&|) _8.11 0.89 or (1&#:) _8.11 0.89 or (**1||) _8.11 _0.11 as long as the integer and fractional part added up produce the original float value. Q: Would somebody care to give a (scaled down) real-world example so as to give me a chance to understand where this ip/fp extraction usually comes into play and what part of the data is used for decision-making..? Thanks. -M At 2017-08-09 05:00, you wrote: >True for 32 bit integers, but for 64 bit j integers and floats are the >same size. > >On Aug 8, 2017 10:48 PM, "Skip Cave" <s...@caveconsulting.com> wrote: > > > Don, > > > You're right. Your approach achieves the same result when > > re-combining the fractional and integer part: > > > ]v=:2%(3r19-%1 2 3 245 246 247 248) > > > ]'i f'=:|:0 1#:v > > > _3 _6 _12 13 13 13 12 > > > 0.625 0.153846 0.6 0.0027933 0.00139082 0 0.998621 > > > i > > > _3 _6 _12 13 13 13 12 > > > f > > > 0.625 0.153846 0.6 0.0027933 0.00139082 0 0.998621 > > > v = i+f > > > 1 1 1 1 1 1 1 > > > > However, > > > > datatype f > > > floating > > > datatype i > > > floating > > > > Where as the original fp/ip verbs give: > > > > datatype fpv > > > floating > > > datatype ipv > > > integer > > > > So either approach will work, but ip returns integers, while your > > approach returns floats in both i & f cases. The fact that I > > originally called the verb the "integer part" probably led to the > > initial integer solution from the group. > > > > I'm not sure what advantages either approach would have, other than > > a space savings for pure integers. > > > > Skip > > > Skip Cave > > Cave Consulting LLC > > > On Tue, Aug 8, 2017 at 8:04 PM, Don Guinn <dongu...@gmail.com> wrote: > > > > âThere are many ways to handle the > fractional part of a number, depending > > > on the problem at hand. The real difficulty seems to be handling > > > negative numbers. I like this, which rounds down negative numbers. > > > But others > > might > > > want a different way. > > > > > > ]'i f'=:|:0 1#:1.2 3.7 _2.1 > > > 1 3 _3 > > > 0.2 0.7 0.9 > > > i > > > 1 3 _3 > > > > > > f > > > 0.2 0.7 0.9 > > > i+f > > > 1.2 3.7 _2.1â > > > > > > On Tue, Aug 8, 2017 at 3:56 PM, Skip Cave > > > <s...@caveconsulting.com> > > wrote: > > > > > > > The purpose of the "negative fractional part" is to satisfy the > > identity > > > > condition when the two parts are added back together: > > > > > > > > ]v=:2%(3r19-%1 2 3 245 246 247 248) NB. Create some long > > > > fractional parts. > > > > > > > > _2.375 _5.84615 _11.4 13.0028 13.0014 13 12.9986 > > > > > > > > > > > > fp=. * * 1|| NB. The fractional part verb > > > > > > > > ip=: * * <.@| NB. The integer part verb > > > > > > > > > > > > ]fpv =: fp v NB. Save the fractional part > > > > > > > > _0.375 _0.846154 _0.4 0.0027933 0.00139082 0 0.998621 > > > > > > > > > > > > ]ipv =: ip v NB. Save the integer part > > > > > > > > _2 _5 _11 13 13 13 12 > > > > > > > > > > > > > > > > ]sm =: ipv + fpv NB. Add the two parts back together > > > > > > > > _2.375 _5.84615 _11.4 13.0028 13.0014 13 12.9986 > > > > > > > > > > > > NB. The result of adding the two parts should be identical to > > > > the > > > original > > > > vector. > > > > > > > > > > > > sm = v > > > > > > > > 1 1 1 1 1 1 1 > > > > > > > > Skip Cave > > > > Cave Consulting LLC > > > > > > > > On Tue, Aug 8, 2017 at 2:14 PM, 'Bo Jacoby' via Programming < > > > > programm...@jsoftware.com> wrote: > > > > > > > > > The integer part a and the fractional part b of a number > > > > > x is > > > such > > > > > that x=a+b and a is an integer and 0<:b and b<1 . I do know of > > no > > > > use > > > > > of a "negative fractional part". > > > > > > > > > > Den 20:39 tirsdag den 8. august 2017 skrev Raul Miller < > > > > > rauldmil...@gmail.com>: > > > > > > > > > > > > > > > I think we've mostly been using the wiki for live documents. > > > > > (I'm > > not > > > > > sure what all would be involved in changing the phrase book.) > > > > > > > > > > Thanks, > > > > > > > > > > -- > > > > > Raul > > > > > > > > > > > > > > > On Tue, Aug 8, 2017 at 2:35 PM, Skip Cave > > > > > <s...@caveconsulting.com> > > > > wrote: > > > > > > It looks like we have a reliable solution to find a > > > > > > fractional part > > > of > > > > a > > > > > > floating point number, while maintaining the sign: > > > > > > > > > > > > v > > > > > > > > > > > > _2.375 _5.84615 _11.4 13.0028 13.0014 13 12.9986 > > > > > > > > > > > > fp=. * * 1|| NB. Thanks to Martin > > > > > > > > > > > > fp v > > > > > > > > > > > > _0.375 _0.846154 _0.4 0.0027933 0.00139082 0 0.998621 > > > > > > > > > > > > > > > > > > Credit should also go to the people who suggested the > > > > > > building > > > blocks, > > > > > e.g. > > > > > > > > > > > > (1|y) Raul -- (1||y) Pascal -- (*y) Raul > > > > > > > > > > > > It is also nice to have the companion verb - integer part: > > > > > > > > > > > > ip=: * * <.@| NB. Thanks to Louis > > > > > > > > > > > > ip v > > > > > > > > > > > > _2 _5 _11 13 13 13 12 > > > > > > > > > > > > > > > > > > I have needed these functions more than once in my > > > > > > enginering > > work. I > > > > > > believe that these two verbs need to be inserted 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 the document? What section do they fit > > > > > > the > > best > > > > in? > > > > > > Can I edit the Phrases doc? > > > > > > > > > > > > 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/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