Java Array Sum sum(double[] x)

Here you can find the source of sum(double[] x)

Description

Calculates the sum of the elements in the array, ignoring NaN values.

License

Open Source License

Declaration

public static double sum(double[] x) 

Method Source Code

//package com.java2s;
/*/*w w  w .ja va 2s.  c  o m*/
 *  Copyright (C) 2013, Peter Decsi.
 * 
 *  This library is free software: you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public 
 *  License as published by the Free Software Foundation, either 
 *  version 3 of the License, or (at your option) any later version.
 * 
 *  This library 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 Lesser General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this library.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Calculates the sum of the elements in the array, 
     * ignoring NaN values.
     */
    public static double sum(double[] x) {
        return sum(x, true);
    }

    /**
     * Calculates the sum of the elements in x. If NaN's are
     * not ignored, and x contains a NaN value, then the
     * result will be NaN.
     */
    public static double sum(double[] x, boolean ignoreNaN) {
        int size = x.length;
        double sum = 0d;

        for (int i = 0; i < size; i++) {
            double v = x[i];
            if (Double.isNaN(v)) {
                if (!ignoreNaN)
                    return Double.NaN;
            } else {
                sum += v;
            }
        }
        return sum;
    }
}

Related

  1. sum(double[] dbs)
  2. sum(double[] output, double[] a, double[] b)
  3. sum(double[] t)
  4. sum(double[] vec1, double[] vec2)
  5. sum(double[] vector)
  6. sum(double[] x, int length)
  7. sum(double[] x, int start, int end)
  8. sum(double[] xs)
  9. sum(final byte[] array)