/Main/src/DynamicDataDisplay/Charts/Axes/Numeric/NumericConversion.cs
C# | 38 lines | 31 code | 7 blank | 0 comment | 0 complexity | fb651af8eb8b96c747e2ff248abab7a5 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
-
- namespace Microsoft.Research.DynamicDataDisplay.Charts.Axes.Numeric
- {
- internal sealed class NumericConversion
- {
- private readonly double min;
- private readonly double length;
- private readonly double minValue;
- private readonly double valueLength;
-
- public NumericConversion(double min, double minValue, double max, double maxValue)
- {
- this.min = min;
- this.length = max - min;
-
- this.minValue = minValue;
- this.valueLength = maxValue - minValue;
- }
-
- public double FromDouble(double value)
- {
- double ratio = (value - min) / length;
-
- return minValue + ratio * valueLength;
- }
-
- public double ToDouble(double value)
- {
- double ratio = (value - minValue) / valueLength;
-
- return min + length * ratio;
- }
- }
- }