Skip to content

refactor org.xmlcml.euclid.EC.EPS #10

@ostueker

Description

@ostueker

The Euclid constant org.xmlcml.euclid.EC.EPS is currently used in various ways, as PMR summarizes in #5:

a/ direct FP equality where we expect the values to be identical but this is to make sure
b/ physical tolerance - e.g. is a line horizontal
c/ (related) precision (ndecimal) for formatting FP for printing - mainly to save space.

Note that complex geometrical operations can give quite large deviations on different systems.

There is generally no consistency over different packages. Probably the main thing is to try to avoid hardcoding and at least have per-package CONSTANTs. An industrial strength implementation would probably have special toolkits for precision.

and here:

It's a harder problem than it looks. In some cases direct equality is often good enough - e.g. when numbers have been copied or formatted to - say - 3 places. But even simple maths operations can build up errors. And things like Angle can have quite large variations
Then there's "experimental" error - extracting coordinates from bitmaps, for example, which certainly seem to be time variable - i.e when there's a new OS they need mending. Shouldn't happen but it could be order of computation , etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions