Пример #1
0
        // This is special code to handle NaN (We need to make sure NaN's aren't
        // negated).  In CSharp, the else clause here should always be taken if
        // value is NaN, since the normal case is taken if and only if value < 0.
        // To illustrate this completely, a compiler has translated this into:
        // "load value; load 0; bge; ret -value ; ret value".
        // The bge command branches for comparisons with the unordered NaN.  So
        // it runs the else case, which returns +value instead of negating it.
        // return (value < 0) ? -value : value;

        public static Decimal Abs(Decimal value)
        {
#if MONO
            return(Decimal.Abs(ref value));
#else
            return(Decimal.Abs(value));
#endif
        }
Пример #2
0
        // This is special code to handle NaN (We need to make sure NaN's aren't
        // negated).  In CSharp, the else clause here should always be taken if
        // value is NaN, since the normal case is taken if and only if value < 0.
        // To illustrate this completely, a compiler has translated this into:
        // "load value; load 0; bge; ret -value ; ret value".
        // The bge command branches for comparisons with the unordered NaN.  So
        // it runs the else case, which returns +value instead of negating it.
        // return (value < 0) ? -value : value;

        public static Decimal Abs(Decimal value)
        {
            return(Decimal.Abs(value));
        }