public static RealNumber operator *(RealNumber a, IQ.RationalNumber b) { if (a.IsRational) { if (a.N == 0 || b.N == 0) { return(New(IQ.GetZeroDivideZeroRational())); } return(New(a.ToRational() * b)); } return(New(value: a.Value.Value *b.ApproximateValue)); }
public static IR.RealNumber operator /(IQ.RationalNumber a, IR.RealNumber b) { if (b.IsRational) { if (a.N == 0) { return(IR.New(IQ.GetZeroDivideZeroRational())); } return(IR.New(a / b.ToRational())); } if (a.N == 0) { return(IR.New(value: 0)); } return(IR.New(value: a.ApproximateValue / b.Value.Value)); }