public static ANumType operator/(ANumType a, float b) { ANumType aANumType = a.Clone(); aANumType.num /= b; return(aANumType); }
public static ANumType operator*(ANumType a, int b) { ANumType aANumType = a.Clone(); aANumType.num *= b; return(aANumType); }
public static ANumType operator+(ANumType a, ANumType b) { ANumType aANumType = a.ToTransformDownAtomNumType(); ANumType bANumType = b.ToTransformDownAtomNumType(); aANumType.Num = aANumType.Num + bANumType.Num; return(aANumType); }
public ANumType ToTransformDownAtomNumType() { ANumType retANumType = this; while (retANumType.typeRank > 1) { retANumType = retANumType.ToTransformDownType(); } return(retANumType); }
public static ANumType operator-(ANumType a, ANumType b) { ANumType aANumType = a.ToTransformDownAtomNumType(); ANumType bANumType = b.ToTransformDownAtomNumType(); aANumType.num -= bANumType.num; if (aANumType.num < 0) { throw new MinusException("数值运算产生负数"); } return(aANumType); }