Project

General

Profile

« Previous | Next » 

Revision 52802

javadoc and test

View differences:

Algorithms.java
11 11

  
12 12
	public static double LIMIT_MIN = 0;
13 13

  
14
	/**
15

  
16
	 Source: https://stackoverflow.com/questions/5294955/how-to-scale-down-a-range-of-numbers-with-a-known-min-and-max-value
17

  
18
	 f(min) = a
19
	 f(max) = b
20

  
21
	 f(x) = x - min   ===>   f(min) = min - min = 0
22

  
23

  
24
        	 x - min                                  max - min
25
	 f(x) = ---------   ===>   f(min) = 0;  f(max) =  --------- = 1
26
	        max - min                                 max - min
27

  
28

  
29
	       (b-a)(x - min)
30
	f(x) = --------------  + a
31
	          max - min
32
	 */
14 33
	public static double scale(final double valueIn, final double baseMin, final double baseMax, final double limitMin, final double limitMax) {
15 34
		return ((limitMax - limitMin) * (valueIn - baseMin) / (baseMax - baseMin)) + limitMin;
16 35
	}

Also available in: Unified diff