Java examples for java.lang:Math Array Function
Computes the cumulative product of the specified array in place.
/**//from w w w.j a v a 2 s.c o m * Java Modular Image Synthesis Toolkit (JMIST) * Copyright (C) 2008-2013 Bradley W. Kimmel * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ //package com.java2s; import java.util.List; public class Main { /** * Computes the cumulative product of the specified array in place. * * Each element <code>x[i]</code> is replaced with * <code>x[0] * ... * x[i]</code>. * * @param x The array of doubles for which to compute the cumulative * product. * @return A reference to <code>x</code>. */ public static double[] cumprod(double[] x) { for (int i = 1; i < x.length; i++) { x[i] *= x[i - 1]; } return x; } /** * Computes the cumulative product of the specified array in place. * * Each element <code>x[i]</code> is replaced with * <code>x[0] * ... * x[i]</code>. * * @param x The array of ints for which to compute the cumulative product. * @return A reference to <code>x</code>. */ public static int[] cumprod(int[] x) { for (int i = 1; i < x.length; i++) { x[i] *= x[i - 1]; } return x; } /** * Computes the cumulative product of the specified array in place. * * Each element <code>x[i]</code> is replaced with * <code>x[0] * ... * x[i]</code>. * * @param x The array of longs for which to compute the cumulative product. * @return A reference to <code>x</code>. */ public static long[] cumprod(long[] x) { for (int i = 1; i < x.length; i++) { x[i] *= x[i - 1]; } return x; } /** * Computes the cumulative product of the specified <code>List</code> in * place. * * Each element <code>x.get(i)</code> is replaced with * <code>x.get(0) * ... * x.get(1)</code>. * * @param x The <code>List</code> of doubles for which to compute the * cumulative product. * @return A reference to <code>x</code>. */ public static List<Double> cumprod(List<Double> x) { for (int i = 1, n = x.size(); i < n; i++) { x.set(i, x.get(i) * x.get(i - 1)); } return x; } }