Hello. Is it ok if I do this? I already started working on it on Friday. I think I should be done by tomorrow.
But yes, I agree that we should convert to floating point. As for performance, there's also the fact that right now we're trading one double multiplication for 2 casts to long, 1 long multiplication, 1 bit shift of a long, and 1 cast back to an int. I don't know much about how these are done in hardware, but it doesn't seem like they'd be faster than the double multiplication. As for large coordinates, there's a bug report about it (one not reported by me :) ) here: https://bugzilla.redhat.com/show_bug.cgi?id=597227 I submitted a matching bug report on bugs.sun.com (ID 6967436), but I can't find it when I search for it. Denis. ----- "Jim Graham" <james.gra...@oracle.com> wrote: > Sigh... > > Pisces could really stand to upgrade to floats/doubles everywhere, for > > several reasons: > > - FPU ops are likely as fast if not faster on modern hardware due to > parallel execution of FP instructions alongside regular instructions. > > - Don't have to worry about getting coordinates larger than 32K (I > don't > think this is well tested, but I imagine that Pisces will not deal > with > it very gracefully). > > - Lots of code is greatly simplified not having to deal with the > semantics of how to do fixed point multiplies, divides, and > conversions. > > I meant to do this during the original integration, but I wanted to > get > the task done as quickly as possible so that we could have an open > source alternative to the closed Ductus code so I left that task for a > > later update. But, now that a lot of work is being done on the code > to > fix it up, it might be better to do the float conversion now so that > the > maintenance is easier and before we end up creating a lot of new fixed > > point code. > > My plate is full right now, but hopefully I can interest someone else > in > doing a cleanup cycle? (Donning my Tom Sawyer hat... ;-) > > ...jim