package mikera.vectorz.util;

import mikera.vectorz.Op2;
import mikera.vectorz.Tools;
import mikera.vectorz.impl.IndexedElementVisitor;
import mikera.vectorz.ops.Logistic;

public final class DoubleArrays {

	private DoubleArrays(){}

	public static final double[] EMPTY = new double[0];

	public static final double elementSum(double[] data) {
		double result = 0.0;
		for (int i=0; iresult) result=v;
		}
		return result;
	}
	
	public static double elementMaxAbs(double[] data, int offset, int length) {
		double result = 0.0;
		for (int i=0; iresult) {
				result=v;
			}
		}
		return result;
	}
	
	public static final double elementMin(double[] data) {
		return elementMin(data,0,data.length);
	}
	
	public static final double elementMax(double[] data) {
		return elementMax(data,0,data.length);
	}
	
	public static final double elementMaxAbs(double[] data) {
		return elementMaxAbs(data,0,data.length);
	}
	

	public static int elementMaxIndex(double[] data, int offset, int length) {
		if (length==0) throw new IllegalArgumentException("Can't get max index for length 0 array");
		double result = data[offset];
		int ind=0;
		for (int i=1; iresult) {
				ind=i;
				result=v;
			}
		}
		return ind;
	}

	public static int elementMinIndex(double[] data, int offset, int length) {
		if (length==0) throw new IllegalArgumentException("Can't get min index for length 0 array");
		double result = data[offset];
		int ind=0;
		for (int i=1; iresult) {
				ind=i;
				result=v;
			}
		}
		return ind;
	}
	
	public static double elementSquaredSum(double[] data) {
		double result = 0.0;
		for (int i=0; imax) {
				data[i]=max;
			}
		}
	}

	public static void clamp(double[] data, int offset, int length, double min,double max) {
		for (int i=0; imax) {
				data[offset+i]=max;
			}
		}
	}
	
	public static void pow(double[] data, double exponent) {
		for (int i=0; i 

Ads help maintain this website.