https://en.wikipedia.org/wiki/Q_(number_format) says it all.

you can use fixed point all the way...just shift after multiplies and
before divides and use double-width (int32) or wider math.

On Mon, Oct 22, 2018 at 3:24 PM Vasiliy Tolstov <v.tols...@selfip.ru> wrote:

> Thanks for suggestions.
> If somebody can look at github.com/unistack-org/go-crush package
> (ported ceph crush to go) i'l be happy.
> Now weight represented as float32, i'm try to use
> https://github.com/shopspring/decimal but code looks ugly with many
> conversations. And also as i see ceph code (mapper.c for crush) they
> does not use something
> different for weights but uint32. may be i miss something but i don't
> understand how they deal with weights like 0.580 in such cases.
> So if somebody wants to help - i'l be happy.
> пн, 22 окт. 2018 г. в 17:14, 'Ingo Oeser' via golang-nuts
> <golang-nuts@googlegroups.com>:
> >
> > https://godoc.org/golang.org/x/image/math/fixed might provide some
> hints how to work with this kind of type.
> >
> > The idea is to use a special type and provide all operations you need.
> >
> > https://godoc.org/math/big#Rat might be helpful to create first tests
> of the basic math operations with maximum precision, before reducing
> precision with a conversion to a more limited data type.
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "golang-nuts" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to golang-nuts+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Vasiliy Tolstov,
> e-mail: v.tols...@selfip.ru
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>


-- 

*Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>*

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to