Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.4.15;
- library bigInt{
- struct bigint{
- int8 sign; //-1-"-" 1-"+"
- uint number;
- }
- // function bigIntcontract(uint8 _sign, uint _number) public{
- // sign=_sign;
- // number=_number;
- // }
- function fromUint (int8 _sign,uint _number) internal returns(bigint b){
- b.sign=_sign;
- b.number=_number;
- return b;
- }
- function show() internal returns(bigint b){
- return(b);
- }
- function plus(bigint b1,bigint b2) internal returns(bigint b3){
- if (b1.sign==b2.sign){
- b3.sign=b1.sign;
- b3.number=b1.number+b2.number;
- return (b3);
- }
- if (b1.number>b2.number){
- b3.sign=b1.sign;
- b3.number=b1.number-b2.number;
- return (b3);
- }
- else{
- b3.sign=b2.sign;
- b3.number=b2.number-b1.number;
- return(b3);
- }
- }
- function minus(bigint b1,bigint b2) internal returns(bigint b3){
- b2.sign*=-1;
- b3=plus(b1,b2);
- }
- function mod(bigint b1, uint b2) internal returns(uint b3){
- b3=b1.number%b2;
- if(b1.sign==-1)
- b3=b2-b3;
- return(b3);
- }
- function multiply (bigint b1, bigint b2) internal returns(bigint b3){
- b3.sign=b1.sign*b2.sign;
- b3.number=b1.number*b2.number;
- return b3;
- }
- function multiply (bigint b1, uint b2) internal returns(bigint b3){
- b3.sign=b1.sign*1;
- b3.number=b1.number*b2;
- return b3;
- }
- function divide (bigint b1, bigint b2) internal returns(bigint b3){
- b3.sign=b1.sign*b2.sign;
- b3.number=b1.number/b2.number;
- }
- function divide (bigint b1, uint b2) internal returns(bigint b3){
- b3.sign=b1.sign*1;
- b3.number=b1.number/b2;
- }
- }
Add Comment
Please, Sign In to add comment