view flys-backend/src/main/java/de/intevation/flys/utils/EpsilonComparator.java @ 5627:2d9eb188fa51

Flys Issue 759 write longer strings and explicitly break the lines This makes the dem hover item layout more robust as it works with different string lengths
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 10 Apr 2013 10:25:33 +0200
parents ce6b9945bf8e
children
line wrap: on
line source
package de.intevation.flys.utils;

import java.util.Comparator;

/** Comparator with some tolerance (epsilon). */
public class EpsilonComparator implements Comparator<Double>
{
    public static final double EPSILON = 1e-4;

    /** Ready-made comparator with 1e-4 tolerance. */
    public static final EpsilonComparator CMP = new EpsilonComparator(EPSILON);

    private double epsilon;

    public EpsilonComparator(double epsilon) {
        this.epsilon = epsilon;
    }

    @Override
    public int compare(Double a, Double b) {
        double diff = a - b;
        if (diff < -epsilon) return -1;
        if (diff >  epsilon) return +1;
        return 0;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org