Example #1
0
        public virtual mpq Multiply(mpq x)
        {
            var q = new mpq();

            mpir.mpq_mul(q, this, x);
            return(q);
        }
Example #2
0
        public virtual mpq MultiplyBy2Exp(uint x)
        {
            var q = new mpq();

            mpir.mpq_mul_2exp(q, this, x);
            return(q);
        }
Example #3
0
        public virtual mpq Subtract(mpq x)
        {
            var q = new mpq();

            mpir.mpq_sub(q, this, x);
            return(q);
        }
Example #4
0
        public virtual mpq Negate()
        {
            var q = new mpq();

            mpir.mpq_neg(q, this);
            return(q);
        }
Example #5
0
        public virtual mpq DivideFrom(mpq x)
        {
            var q = new mpq();

            mpir.mpq_div(q, x, this);
            return(q);
        }
Example #6
0
        public virtual mpq Divide(mpq x)
        {
            var q = new mpq();

            mpir.mpq_div(q, this, x);
            return(q);
        }
Example #7
0
        public virtual mpq DivideBy2Exp(uint x)
        {
            var q = new mpq();

            mpir.mpq_div_2exp(q, this, x);
            return(q);
        }
Example #8
0
        public virtual mpq Inverse()
        {
            var q = new mpq();

            mpir.mpq_inv(q, this);
            return(q);
        }
Example #9
0
        public virtual mpq Abs()
        {
            var q = new mpq();

            mpir.mpq_abs(q, this);
            return(q);
        }
Example #10
0
        public virtual mpq Add(mpq x)
        {
            var q = new mpq();

            mpir.mpq_add(q, this, x);
            return(q);
        }
Example #11
0
        public virtual mpq SubtractFrom(mpq x)
        {
            var q = new mpq();

            mpir.mpq_sub(q, x, this);
            return(q);
        }
Example #12
0
        public virtual mpq Root(uint n, out bool isExact)
        {
            bool isNumExact;
            bool isDenExact;

            var ans = new mpq(Numerator.Root(n, out isNumExact), Denominator.Root(n, out isDenExact));

            isExact = isNumExact && isDenExact;

            return(ans);
        }
Example #13
0
        public virtual mpq Sqrt(out bool isExact)
        {
            bool isNumExact;
            bool isDenExact;

            var ans = new mpq(Numerator.Sqrt(out isNumExact), Denominator.Sqrt(out isDenExact));

            isExact = isNumExact && isDenExact;

            return(ans);
        }
Example #14
0
 public static int Compare(mpq x, double y)
 {
     return(x.CompareTo(y));
 }
Example #15
0
 public override mpq Multiply(mpq x)
 {
     mpir.mpq_mul(this, this, x);
     return(this);
 }
Example #16
0
 public mpq(mpq op) : this()
 {
     mpir.mpq_set(this, op);
 }
Example #17
0
 public override mpq Divide(mpq x)
 {
     mpir.mpq_div(this, this, x);
     return(this);
 }
Example #18
0
 public bool Equals(mpq other)
 {
     return(!ReferenceEquals(other, null) && Equals(other.ToMpf()));
 }
Example #19
0
 public mpf(mpq op, ulong?precision = null) : this(precision : precision)
 {
     mpir.mpf_set_q(this, op);
 }
Example #20
0
 public int CompareTo(mpq other)
 {
     return(CompareTo(other.ToMpf()));
 }
Example #21
0
 public override mpq SubtractFrom(mpq x)
 {
     mpir.mpq_sub(this, x, this);
     return(this);
 }
Example #22
0
 public static int Compare(mpq x, uint y)
 {
     return(x.CompareTo(y));
 }
Example #23
0
 public bool Equals(mpq other)
 {
     return(!ReferenceEquals(other, null) &&
            (ReferenceEquals(this, other) || (mpir.mpq_equal(this, other) != 0)));
 }
Example #24
0
 public override mpfr Add(mpq x, RoundingMode?roundingMode = null)
 {
     mpir.mpfr_add_q(this, this, x, (int)roundingMode.GetValueOrDefault(DefaultRoundingMode));
     return(this);
 }
Example #25
0
 public int CompareTo(mpq other)
 {
     return(Math.Sign(mpir.mpq_cmp(this, other)));
 }
Example #26
0
 public xmpq(mpq op) : base(op)
 {
 }
Example #27
0
 public static int Compare(uint x, mpq y)
 {
     return(-y.CompareTo(x));
 }
Example #28
0
 public override mpq Add(mpq x)
 {
     mpir.mpq_add(this, this, x);
     return(this);
 }
Example #29
0
 public static int Compare(double x, mpq y)
 {
     return(-y.CompareTo(x));
 }
Example #30
0
 public mpc(mpq op, long?precision = null, RoundingMode?roundingMode = null) : this(precision : precision)
 {
     mpir.mpc_set_q(this, op, (int)roundingMode.GetValueOrDefault(DefaultRoundingMode));
 }