/// <summary>
 /// Sets a new value.
 /// </summary>
 /// <param name="value">The value of the number to store.</param>
 /// <param name="minValue">The minimum value the number can hold.</param>
 /// <param name="maxValue">The maximum value the number can hold.</param>
 public void SetValue(TSourceNumber value, TSourceNumber minValue, TSourceNumber maxValue)
 {
     value    = (TSourceNumber)value.FromDouble(value.AsDouble() - minValue.AsDouble());
     maxValue = (TSourceNumber)maxValue.FromDouble(maxValue.AsDouble() - minValue.AsDouble());
     Value    = NumberCompressor <TDestination, TDestinationNumber> .Compress <TSource, TSourceNumber>(value, maxValue);
 }
 /// <summary>
 /// Sets a new value.
 /// </summary>
 /// <param name="value">The value of the number to store.</param>
 /// <param name="maxValue">The maximum value the number can hold.</param>
 public void SetValue(TSourceNumber value, TSourceNumber maxValue)
 {
     Value = NumberCompressor <TDestination, TDestinationNumber> .Compress <TSource, TSourceNumber>(value, maxValue);
 }