The Shewchuk Determinant was implemented in order to test correctness and
performance. Ultimately I decide that the DD approach was fast enough and
more maintainable. So I don't expect to incorporate the SD into the main
library.
Good point about the strictfp keyword. This is used on the DD class. It
probably should have been used for the Shewchuk code as well.
There are no plans to implement further Shewchuk predicates. DD seems like
a more maintainable way to go.
On Wed, Apr 30, 2014 at 4:41 AM, Gary Lucas <[email protected]> wrote:
> I spotted the ShewchuksDeterminant class in the development trunk for the
> JTS. Congratulations on a truly ambitious bit of work. A Java port of
> Shewchuk's original robust predicate code could not have been an easy
> task (looking at the comments, I see you even found a bug in the original).
> Also, I think the JTS version is cleanly coded and the developer (Tomas
> Fa?) made some good design choices.
>
>
>
> I have some questions about the code.
>
>
>
> First off, the ShewchuksDeterminant class does not appear to be integrated
> into the main source branch. Will it be moving into the standard JTS
> distribution? If so, when?
>
>
>
> Second, I notice that the implementation does not use the "strictfp"
> keyword. The strictfp keyword is sometimes used in modules that perform
> extended precision floating-point operations (for example, JTS’s DD.java
> class). Before I discovered the JTS implementation, I was thinking about
> doing my own Java port of Shewchuk's "robust predicates" and I wondered
> whether this would be necessary. Shewchuk mentions issues with Intel CPUs
> at http://www.cs.cmu.edu/~quake/robust.pc.html noting that they "use
> extended precision internal floating-point registers [that] defeat Dekker's
> standard techniques for computing the roundoff error for a floating-point
> operation." Could this issue affect the current implementation? Did the
> JTS implementers look in to this issue and decide it wasn’t necessary? If
> so, I would be interested in hearing more about their findings.
>
>
>
> Finally, I was wondering whether there were plans to implement Shewchuk's
> "inCircle" predicate. While the JTS TrianglePredicates class does
> implement inCircle methods, a full-blown Java implementation of Shewchuk’s
> techniques would be a valuable addition.
>
>
>
> Gary
>
>
>
>
>
>
>
>
> -----------------------------------------------------------------------------------------------
>
> Gary W. Lucas, Senior Software Engineer
>
> Sonalysts, Inc.
>
> 215 Parkway North
>
> Waterford, CT 06385
>
> (860) 326-3682
>
> 41-22-12.35 N / 72-10-07.54 W (USNG/MGRS: 18T YL 36787 83711)
>
> Computer Programming is the Art of the Possible
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos. Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Jts-topo-suite-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
>
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Jts-topo-suite-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user