package eu.dnetlib.data.mapreduce;

/**
 * Created by claudio on 14/11/2016.
 */
public class Algorithms {

	public static double BASE_MIN = 0;

	public static double BASE_MAX = 1;

	public static double LIMIT_MIN = 0;

	public static double scale(final double valueIn, final double baseMin, final double baseMax, final double limitMin, final double limitMax) {
		return ((limitMax - limitMin) * (valueIn - baseMin) / (baseMax - baseMin)) + limitMin;
	}

	public static double scale(final double valueIn, final double limitMin, final double limitMax) {
		return scale(valueIn, BASE_MIN, BASE_MAX, limitMin, limitMax);
	}

	public static double scale(final double valueIn, final double limitMax) {
		return scale(valueIn, BASE_MIN, BASE_MAX, LIMIT_MIN, limitMax);
	}

}
