Here you can find the source of maxNormWithAbort(double[] x1, double[] x2, double limit)
Parameter | Description |
---|---|
x1 | vector 1 |
x2 | vector 2 |
limit | a parameter |
public static double maxNormWithAbort(double[] x1, double[] x2, double limit)
//package com.java2s; /*//from www.j a v a 2 s. c o m * Java Information Dynamics Toolkit (JIDT) * Copyright (C) 2012, Joseph T. Lizier * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ public class Main { /** * Computing the norm as the Max norm; if * it becomes clear that norm will be larger than limit, * then return Double.POSITIVE_INFINITY immediately. * * @param x1 vector 1 * @param x2 vector 2 * @param limit * @return */ public static double maxNormWithAbort(double[] x1, double[] x2, double limit) { double distance = 0.0; for (int d = 0; d < x1.length; d++) { double difference = x1[d] - x2[d]; // Take the abs if (difference < 0) { difference = -difference; } if (difference > distance) { if (difference > limit) { return Double.POSITIVE_INFINITY; } distance = difference; } } return distance; } }