Esempio n. 1
0
 public TFrac(TNumber a, TNumber b)
 {
     try {
         if (a < 0 && b < 0)
         {
             a *= -1;
             b *= -1;
         }
         else if (b < 0 && a > 0)
         {
             b *= -1;
             a *= -1;
         }
         else if (a == 0 && b == 0 || b == 0 || a == 0 && b == 1)
         {
             Numerator   = new TNumber(0);
             Denominator = new TNumber(1);
             return;
         }
         Numerator   = new TNumber(a);
         Denominator = new TNumber(b);
         long gcdResult = GCD((long)a.Number, (long)b.Number);
         if (gcdResult > 1)
         {
             Numerator   /= gcdResult;
             Denominator /= gcdResult;
         }
     } catch {
         throw new OverflowException();
     }
 }
Esempio n. 2
0
        public TFrac(int a, int b)
        {
            if (a < 0 && b < 0)
            {
                a *= -1;
                b *= -1;
            }
            else if (b < 0 && a > 0)
            {
                b *= -1;
                a *= -1;
            }
            else if (a == 0 && b == 0 || b == 0 || a == 0 && b == 1)
            {
                Numerator   = new TNumber(0);
                Denominator = new TNumber(1);
                return;
            }
            Numerator   = new TNumber(a);
            Denominator = new TNumber(b);
            long gcdResult = GCD(a, b);

            if (gcdResult > 1)
            {
                Numerator   /= gcdResult;
                Denominator /= gcdResult;
            }
        }
Esempio n. 3
0
        public override void SetString(string str)
        {
            TFrac TempFrac = new TFrac(str);

            Numerator   = TempFrac.Numerator;
            Denominator = TempFrac.Denominator;
        }
Esempio n. 4
0
        public override void SetString(string str)
        {
            TComplex temp = new TComplex(str);

            Real      = temp.Real;
            Imaginary = temp.Imaginary;
        }
Esempio n. 5
0
        public TComplex(string str)
        {
            Regex FullNumber = new Regex(@"^-?(\d+.?\d*)\s+\+\s+i\s+\*\s+-?(\d+.?\d*)$");
            Regex LeftPart   = new Regex(@"^-?(\d+.?\d*)(\s+\+\s+i\s+\*\s+)?$");

            if (FullNumber.IsMatch(str))
            {
                List <string> Parts = str.Split(new string[] { Separator }, StringSplitOptions.None).ToList();
                Real      = new TNumber(Parts[0]);
                Imaginary = new TNumber(Parts[1]);
            }
            else if (LeftPart.IsMatch(str))
            {
                if (str.Contains(Separator))
                {
                    str = str.Replace(Separator, string.Empty);
                }
                Real      = new TNumber(str);
                Imaginary = new TNumber();
            }
            else
            {
                Real      = new TNumber(0);
                Imaginary = new TNumber(0);
            }
        }
Esempio n. 6
0
 public TPNumber(string str, TNumber not, TNumber pre)
 {
     Notation  = not;
     Precision = pre;
     try {
         Number = new TNumber(Conver_p_10.dval(str, Convert.ToInt32(not.Number)));
     }
     catch {
         throw new System.OverflowException();
     }
 }
Esempio n. 7
0
 public TPNumber(string str, int not, int pre)
 {
     try {
         Number    = new TNumber(Conver_p_10.dval(str, not));
         Notation  = new TNumber(not);
         Precision = new TNumber(pre);
     }
     catch {
         throw new System.OverflowException();
     }
 }
Esempio n. 8
0
 public PNumberEditor(string str, TNumber not, TNumber pre)
 {
     if (not < 2 || not > 16 || pre < 0 || pre > 10)
     {
         number    = "0";
         Notation  = new TNumber(10);
         Precision = new TNumber(5);
     }
     else
     {
         Notation  = not;
         Precision = pre;
         number    = new TPNumber(str, Notation, Precision).ToString();
     }
 }
Esempio n. 9
0
 public PNumberEditor(double num, TNumber not, TNumber pre)
 {
     if (not < 2 || not > 16 || pre < 0 || pre > 10)
     {
         number    = "0";
         Notation  = new TNumber(10);
         Precision = new TNumber(5);
     }
     else
     {
         Notation  = not;
         Precision = pre;
         number    = new TPNumber(num, Convert.ToInt32(Notation.Number), Convert.ToInt32(Precision.Number)).ToString();;
     }
 }
Esempio n. 10
0
 public TPNumber(TNumber num, TNumber not, TNumber pre)
 {
     if (not < 2 || not > 16 || pre < 0 || pre > 10)
     {
         Number    = new TNumber();
         Notation  = new TNumber(10);
         Precision = new TNumber(5);
     }
     else
     {
         Number    = new TNumber(num);
         Notation  = new TNumber(not);
         Precision = new TNumber(pre);
     }
 }
Esempio n. 11
0
 public PNumberEditor(double num, int not, int pre)
 {
     if (not < 2 || not > 16 || pre < 0 || pre > 10)
     {
         number    = "0";
         Notation  = new TNumber(10);
         Precision = new TNumber(5);
     }
     else
     {
         Notation  = new TNumber(not);
         Precision = new TNumber(pre);
         number    = TPNumber.Conver_10_p.Do(num, not, pre);
     }
 }
Esempio n. 12
0
 public TPNumber(double num, int not, int pre)
 {
     if (not < 2 || not > 16 || pre < 0 || pre > 10)
     {
         Number    = new TNumber();
         Notation  = new TNumber(10);
         Precision = new TNumber(5);
     }
     else
     {
         Number    = new TNumber(num);
         Notation  = new TNumber(not);
         Precision = new TNumber(pre);
     }
 }
Esempio n. 13
0
        public TFrac(string fraction)
        {
            Regex FracRegex   = new Regex(@"^-?(\d+)/(\d+)$");
            Regex NumberRegex = new Regex(@"^-?\d+/?$");

            if (FracRegex.IsMatch(fraction))
            {
                List <string> FracParts = fraction.Split('/').ToList();
                Numerator   = new TNumber(FracParts[0]);
                Denominator = new TNumber(FracParts[1]);
                if (Denominator.IsZero())
                {
                    Numerator   = new TNumber(0);
                    Denominator = new TNumber(1);
                    return;
                }
                long gcdResult = GCD((long)Numerator.Number, (long)Denominator.Number);
                if (gcdResult > 1)
                {
                    Numerator   /= gcdResult;
                    Denominator /= gcdResult;
                }
                return;
            }
            else if (NumberRegex.IsMatch(fraction))
            {
                Numerator   = new TNumber(fraction);
                Denominator = new TNumber(1);
                return;
            }
            else
            {
                Numerator   = new TNumber(0);
                Denominator = new TNumber(1);
                return;
            }
        }
Esempio n. 14
0
 public TComplex(TNumber anReal, TNumber anImaginary)
 {
     Real      = anReal;
     Imaginary = anImaginary;
 }
Esempio n. 15
0
 public TComplex(int anReal, int anImaginary)
 {
     Real      = new TNumber(anReal);
     Imaginary = new TNumber(anImaginary);
 }
Esempio n. 16
0
 public TComplex(double anReal, double anImaginary)
 {
     Real      = new TNumber(anReal);
     Imaginary = new TNumber(anImaginary);
 }
Esempio n. 17
0
 public TComplex()
 {
     Real      = new TNumber(0);
     Imaginary = new TNumber(0);
 }
Esempio n. 18
0
 public TPNumber()
 {
     Number    = new TNumber();
     Notation  = new TNumber(10);
     Precision = new TNumber(5);
 }
Esempio n. 19
0
 public PNumberEditor(string str)
 {
     Notation  = new TNumber(10);
     Precision = new TNumber(5);
     number    = new TPNumber(str, Notation, Precision).ToString();
 }
Esempio n. 20
0
 public TComplex(TComplex anotherComplex)
 {
     Real      = anotherComplex.Real;
     Imaginary = anotherComplex.Imaginary;
 }
Esempio n. 21
0
 public PNumberEditor()
 {
     number    = "0";
     Notation  = new TNumber(10);
     Precision = new TNumber(5);
 }
Esempio n. 22
0
 public TFrac(TFrac anotherFrac)
 {
     Numerator   = anotherFrac.Numerator;
     Denominator = anotherFrac.Denominator;
 }
Esempio n. 23
0
 public TFrac()
 {
     Numerator   = new TNumber(0);
     Denominator = new TNumber(1);
 }
Esempio n. 24
0
 public TPNumber(TPNumber anotherTPNumber)
 {
     Number    = anotherTPNumber.Number;
     Notation  = anotherTPNumber.Notation;
     Precision = anotherTPNumber.Precision;
 }
Esempio n. 25
0
 public TNumber(TNumber num)
 {
     Number = num.Number;
 }
Esempio n. 26
0
 public override void SetString(string str)
 {
     Number = new TNumber(Conver_p_10.dval(str, Convert.ToInt32(Notation.Number)));
 }