' com/currency.ab Class Currency Public Const Function Operator +() As Currency Return New Currency(This) End Function Const Function Operator -() As Currency Dim ret = New Currency VarCyNeg(This.cy, ret.cy) Return ret End Function Const Function Operator *(y As Currency) As Currency Dim ret = New Currency VarCyMul(This.cy, y.cy, ret.cy) Return ret End Function Const Function Operator *(y As Long) As Currency Dim ret = New Currency VarCyMulI4(This.cy, y, ret.cy) Return ret End Function Const Function Operator *(y As Int64) As Currency Dim ret = New Currency VarCyMulI8(This.cy, y, ret.cy) Return ret End Function Const Function Operator /(y As Variant) As Double Dim vx = New Variant(This) Dim ret= vx / y Return ret.ValR4 End Function Const Function Operator /(y As Currency) As Double Return This / New Varinat(y) End Function Const Function Operator +(y As Currency) As Currency Dim ret = New Currency VarCyAdd(This.cy, y.cy, ret.cy) Return ret End Function Const Function Operator -(y As Currency) As Currency Dim ret = New Currency VarCySub(This.cy, y.cy, ret.cy) Return ret End Function Const Function Abs() As Currency VarCyAbs(This.cy, Abs.cy) End Function Const Function Fix() As Currency VarCyFix(This.cy, Fix.cy) End Function Const Function Int() As Currency VarCyInt(This.cy, Int.cy) End Function Const Function Round(c = 0 As Long) As Currency VarCyRound(This.cy, c, Round.cy) End Function Private cy As CY End Class