Exemple #1
0
        private double AsBaseReference()
        {
            switch (Reference)
            {
            case PressureReference.Absolute: return(Pressure.Value);

            case PressureReference.Gauge: return(ReferencedPressure.ToUnit(Pressure.Unit).Value + Pressure.Value);

            case PressureReference.Vacuum: return(ReferencedPressure.ToUnit(Pressure.Unit).Value - Pressure.Value);

            default:
                throw new NotImplementedException($"Can not convert {Reference} to base reference.");
            }
        }
Exemple #2
0
        private double AsBaseNumericType(PressureReference reference)
        {
            if (Reference == reference)
            {
                return(Pressure.Value);
            }

            var baseReferenceValue = AsBaseReference();
            var negatingValue      = Reference == PressureReference.Vacuum ? -1 : 1;

            switch (reference)
            {
            case PressureReference.Absolute: return(baseReferenceValue);

            case PressureReference.Gauge: return(baseReferenceValue - ReferencedPressure.ToUnit(Pressure.Unit).Value);

            case PressureReference.Vacuum: return(ReferencedPressure.ToUnit(Pressure.Unit).Value - negatingValue * baseReferenceValue);

            default:
                throw new NotImplementedException($"Can not convert {Reference} to {reference}.");
            }
        }