package AL.java;

public class Array {
	public static void Swap(double a,double b) {
		double temp;
		temp = a;
		a = b;
		b = temp;
	}
	public static double getMax(double array[]) {
		if(array.length == 0)
			return -1;
		double max = array[0];
		for(int i=0;i != array.length-1;i++) {
			if(max<array[i])
				max = array[i];
		}
		return max;
	}
	public static double getMin(double array[]) {
		if(array.length == 0)
			return -1;
		double min = array[0];
		for(int i=1;i != array.length-1;i++) {
			if(min<array[i])
				min = array[i];
		}
		return min;
	}
	public static double getAverage(double array[],int low,int high) {
		if(array.length == 0 || low<0 || high>array.length-1)
			return -1;
		int size = high - low + 1;
		double sum = 0,average = 0;
		for(int i=low;i != high;i++) {
			sum += array[i];
		}
		average = sum/size;
		return average;
	}
	public static void reverseArray(double array[],int low,int high) {
		if(array.length == 0 || low<0 || high>array.length-1 || low == high)
			return;
		int Length = high - low + 1;
		for(int i=low;i<Length/2;i++) {
			int j = Length - 1 - i;
			Swap(array[i],array[j]);
		}
	}
	public static void timesMatrix(double array_1[][],double array_2[][]) {
		int length = array_1.length;
		double[][] array = new double[length][length];
		for(int i=0;i != length;i++) {
			for(int j=0;j != length;j++) {
				for(int k=0;k !=length;k++)
					array[i][j] += array_1[i][k] * array_2[k][j]; 
			}
		}
	}
	
}