mock out price accumulator
This commit is contained in:
20
contracts/libraries/MOCK_Decimal.sol
Normal file
20
contracts/libraries/MOCK_Decimal.sol
Normal file
@ -0,0 +1,20 @@
|
||||
pragma solidity 0.5.12;
|
||||
|
||||
// mock fixed- or floating-point math
|
||||
library MOCK_Decimal {
|
||||
struct Decimal {
|
||||
uint256 data;
|
||||
}
|
||||
|
||||
function div(uint128 numerator, uint128 denominator) internal pure returns (Decimal memory) {
|
||||
return Decimal(numerator / denominator);
|
||||
}
|
||||
|
||||
function mul(Decimal memory a, uint128 b) internal pure returns (Decimal memory) {
|
||||
return Decimal(a.data * b);
|
||||
}
|
||||
|
||||
function add(Decimal memory a, Decimal memory b) internal pure returns (Decimal memory) {
|
||||
return Decimal(a.data + b.data);
|
||||
}
|
||||
}
|
||||
@ -10,15 +10,4 @@ library SafeMath128 {
|
||||
function mul(uint128 x, uint128 y) internal pure returns (uint128 z) {
|
||||
require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");
|
||||
}
|
||||
|
||||
function oadd(uint128 w, uint128 x) internal pure returns (uint128 y, uint128 z) {
|
||||
uint256 sum = uint256(w) + x;
|
||||
z = uint128(sum / uint128(-1));
|
||||
y = uint128(sum % uint128(-1));
|
||||
}
|
||||
function omul(uint128 w, uint128 x) internal pure returns (uint128 y, uint128 z) {
|
||||
uint256 product = uint256(w) * x;
|
||||
z = uint128(product / uint128(-1));
|
||||
y = uint128(product % uint128(-1));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user