made with requirebin
Created
May 24, 2016 17:38
-
-
Save mauriciopoppe/ec8554d0bca15e17501e2d44fe7f4f62 to your computer and use it in GitHub Desktop.
requirebin sketch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var adapter = require('floating-adapter'); | |
var Decimal = require('pow-arbitrary-precision')(require('linear-arbitrary-precision')(adapter)); | |
console.log(new Decimal('-8').pow(new Decimal('1/3')).valueOf()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
setTimeout(function(){require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function floating(initial){var val=Number(initial||0);function gt(x){return val>Number(x)}function lt(x){return val<Number(x)}function getVal(){return val}return Object.freeze({plus:function plus(x){return floating(val+x)},minus:function minus(x){return floating(val-x)},times:function times(x){return floating(val*x)},div:function div(x){return floating(val/x)},mod:function mod(x){return floating(val%x)},pow:function pow(exponent){return floating(Math.pow(val,Number(exponent)))},sqrt:function sqrt(){return floating(Math.sqrt(val))},equals:function plus(x){return val===Number(x)},gt:gt,lt:lt,gte:function gte(x){return val>=Number(x)},lte:function lte(x){return val<=Number(x)},cmp:function cmp(x){if(gt(x)){return 1}if(lt(x)){return-1}return 0},abs:function abs(){return floating(Math.abs(val))},toString:function toString(){return val.toString()},valueOf:getVal,toJSON:getVal})}function Floating(initial){return floating(initial)}Floating.JSONReviver=function JSONReviver(key,value){if(key===""){return value}return floating(value)};module.exports=function factory(){return Floating}},{}],"floating-adapter":[function(require,module,exports){"use strict";var floatingFactory=require("floating");module.exports={getInstance:floatingFactory,getPrecision:getPrecision,setPrecision:setPrecision,plus:plus,minus:minus,times:times,div:div,mod:mod,pow:pow,sqrt:sqrt,equals:equals,gt:gt,gte:gte,lt:lt,lte:lte,cmp:cmp,abs:abs,toString:toString,valueOf:valueOf,parseInput:Number};var precision=17;function getPrecision(){return precision}function setPrecision(Floating,n){precision=n}function plus(x,y){return x.plus(y)}function minus(x,y){return x.minus(y)}function times(x,y){return x.times(y)}function div(x,y){return x.div(y)}function mod(x,y){return x.mod(y)}function pow(x,y){return x.pow(y)}function sqrt(x,y){return x.sqrt(y)}function equals(x,y){return x.equals(y)}function lt(x,y){return x.lt(y)}function lte(x,y){return x.lte(y)}function gt(x,y){return x.gt(y)}function gte(x,y){return x.gte(y)}function cmp(x,y){return x.cmp(y)}function abs(x,y){return x.abs(y)}function toString(x){return x.toString()}function valueOf(x){return x.valueOf()}},{floating:1}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){function identity(value){return value}module.exports=identity},{}],2:[function(require,module,exports){function isUndefined(value){return value===undefined}module.exports=isUndefined},{}],3:[function(require,module,exports){"use strict";var isUndefined=require("lodash.isundefined");var UNSUPPORTED_ERROR_TEXT="Unsupported operation";module.exports=function unsupportedFactory(customMessage){var message=isUndefined(customMessage)?UNSUPPORTED_ERROR_TEXT:customMessage;return function unsupported(){throw new Error(message)}}},{"lodash.isundefined":2}],4:[function(require,module,exports){"use strict";var unsupported=require("unsupported")();var isUndefined=require("lodash.isundefined");var identity=require("lodash.identity");var newDecimalTransformFactory=function newDecimalTransformFactory(Decimal,adapter){return function(x){return new Decimal(adapter.toString(x))}};var binaryOpExtenderRaw=function binaryOpExtender(transform,Decimal,opName,protoName){var adapter=Decimal.getAdapter();var implementation=unsupported;var name=isUndefined(protoName)?opName:protoName;transform=transform||newDecimalTransformFactory(Decimal,adapter);if(Object.hasOwnProperty.call(adapter,opName)){implementation=function(x){return transform(adapter[opName](this.val(),x.val()))}}Decimal.prototype[name]=implementation;return Decimal};var binaryOpExtender=binaryOpExtenderRaw.bind(undefined,undefined);binaryOpExtender.asIs=binaryOpExtenderRaw.bind(undefined,identity);binaryOpExtender.raw=binaryOpExtenderRaw;module.exports=binaryOpExtender},{"lodash.identity":1,"lodash.isundefined":2,unsupported:3}],"pow-arbitrary-precision":[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"pow")}},{"binary-op-arbitrary-precision":4}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){function isUndefined(value){return value===undefined}module.exports=isUndefined},{}],2:[function(require,module,exports){"use strict";var isUndefined=require("lodash.isundefined");var UNSUPPORTED_ERROR_TEXT="Unsupported operation";module.exports=function unsupportedFactory(customMessage){var message=isUndefined(customMessage)?UNSUPPORTED_ERROR_TEXT:customMessage;return function unsupported(){throw new Error(message)}}},{"lodash.isundefined":1}],3:[function(require,module,exports){"use strict";var unsupported=require("unsupported")();var isUndefined=require("lodash.isundefined");module.exports=function unaryOpExtender(Decimal,opName,protoName){var adapter=Decimal.getAdapter();var implementation=unsupported;var name=isUndefined(protoName)?opName:protoName;if(adapter.hasOwnProperty(opName)){implementation=function(){return new Decimal(adapter.toString(adapter[opName](this.val())))}}Decimal.prototype[name]=implementation;return Decimal}},{"lodash.isundefined":1,unsupported:2}],4:[function(require,module,exports){"use strict";var unaryOpExtender=require("unary-op-arbitrary-precision");module.exports=function factory(Decimal){return unaryOpExtender(Decimal,"abs")}},{"unary-op-arbitrary-precision":3}],5:[function(require,module,exports){"use strict";module.exports=function(value,error){if(!error){throw new Error("error required")}if(value)return;throw error}},{}],6:[function(require,module,exports){var stringTag="[object String]";var objectProto=Object.prototype;var objectToString=objectProto.toString;var isArray=Array.isArray;function isObjectLike(value){return!!value&&typeof value=="object"}function isString(value){return typeof value=="string"||!isArray(value)&&isObjectLike(value)&&objectToString.call(value)==stringTag}module.exports=isString},{}],7:[function(require,module,exports){"use strict";var isString=require("lodash.isstring");var assert=require("assert-error");module.exports=function factory(adapter){var Impl=adapter.getInstance();function Decimal(x){assert(this instanceof Decimal,new Error("Decimal must be called with new"));assert(isString(x),new TypeError("Expected a string but instead got "+typeof x));var value=new Impl(adapter.parseInput(x));this.val=function val(){return value}}Decimal.getAdapter=getAdapter;Decimal.getPrecision=getPrecision;Decimal.setPrecision=setPrecision;Decimal.reviver=reviver;Decimal.Impl=Impl;var p=Decimal.prototype;p.toString=p.toJSON=function toString(){return adapter.toString(this.val())};p.valueOf=function valueOf(){return adapter.valueOf(this.val())};function getAdapter(){return adapter}function getPrecision(){return adapter.getPrecision(Impl)}function setPrecision(n){adapter.setPrecision(Impl,n)}function reviver(key,x){return new Decimal(x)}return Decimal}},{"assert-error":5,"lodash.isstring":6}],8:[function(require,module,exports){function identity(value){return value}module.exports=identity},{}],9:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],10:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":9}],11:[function(require,module,exports){"use strict";var unsupported=require("unsupported")();var isUndefined=require("lodash.isundefined");var identity=require("lodash.identity");var newDecimalTransformFactory=function newDecimalTransformFactory(Decimal,adapter){return function(x){return new Decimal(adapter.toString(x))}};var binaryOpExtenderRaw=function binaryOpExtender(transform,Decimal,opName,protoName){var adapter=Decimal.getAdapter();var implementation=unsupported;var name=isUndefined(protoName)?opName:protoName;transform=transform||newDecimalTransformFactory(Decimal,adapter);if(Object.hasOwnProperty.call(adapter,opName)){implementation=function(x){return transform(adapter[opName](this.val(),x.val()))}}Decimal.prototype[name]=implementation;return Decimal};var binaryOpExtender=binaryOpExtenderRaw.bind(undefined,undefined);binaryOpExtender.asIs=binaryOpExtenderRaw.bind(undefined,identity);binaryOpExtender.raw=binaryOpExtenderRaw;module.exports=binaryOpExtender},{"lodash.identity":8,"lodash.isundefined":9,unsupported:10}],12:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"div")}},{"binary-op-arbitrary-precision":11}],13:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],14:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],15:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":14}],16:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":13,"lodash.isundefined":14,unsupported:15}],17:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision").asIs;module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"equals")}},{"binary-op-arbitrary-precision":16}],18:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],19:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],20:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":19}],21:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":18,"lodash.isundefined":19,unsupported:20}],22:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision").asIs;var operations=["gt","gte","lt","lte","cmp"];var extenderFactory=function extenderFactory(op){return function(Decimal){return binaryOpExtender(Decimal,op)}};var extenders=operations.reduce(function(acc,op){acc[op]=extenderFactory(op);return acc},{});var inequalityExtender=function(Decimal){return operations.reduce(function(acc,opExtenderKey){return extenders[opExtenderKey](Decimal)},Decimal)};operations.forEach(function(key){inequalityExtender[key]=extenders[key]});module.exports=inequalityExtender},{"binary-op-arbitrary-precision":21}],23:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),rest=require("lodash.rest");var FUNC_ERROR_TEXT="Expected a function";function createFlow(fromRight){return rest(function(funcs){funcs=baseFlatten(funcs,1);var length=funcs.length,index=length;if(fromRight){funcs.reverse()}while(index--){if(typeof funcs[index]!="function"){throw new TypeError(FUNC_ERROR_TEXT)}}return function(){var index=0,result=length?funcs[index].apply(this,arguments):arguments[0];while(++index<length){result=funcs[index].call(this,result)}return result}})}var flow=createFlow();module.exports=flow},{"lodash._baseflatten":24,"lodash.rest":25}],24:[function(require,module,exports){var MAX_SAFE_INTEGER=9007199254740991;var argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]";function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objectToString=objectProto.toString;var propertyIsEnumerable=objectProto.propertyIsEnumerable;function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;predicate||(predicate=isFlattenable);result||(result=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){baseFlatten(value,depth-1,predicate,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isFlattenable(value){return isArray(value)||isArguments(value)}function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}var isArray=Array.isArray;function isArrayLike(value){return value!=null&&isLength(getLength(value))&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}module.exports=baseFlatten},{}],25:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";var INFINITY=1/0,MAX_INTEGER=1.7976931348623157e308,NAN=0/0;var funcTag="[object Function]",genTag="[object GeneratorFunction]",symbolTag="[object Symbol]";var reTrim=/^\s+|\s+$/g;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsOctal=/^0o[0-7]+$/i;var freeParseInt=parseInt;function apply(func,thisArg,args){var length=args.length;switch(length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}var objectProto=Object.prototype;var objectToString=objectProto.toString;var nativeMax=Math.max;function rest(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:toInteger(start),0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index]}switch(start){case 0:return func.call(this,array);case 1:return func.call(this,args[0],array);case 2:return func.call(this,args[0],args[1],array)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=array;return apply(func,this,otherArgs)}}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&objectToString.call(value)==symbolTag}function toFinite(value){if(!value){return value===0?value:0}value=toNumber(value);if(value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}function toNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}if(isObject(value)){var other=isFunction(value.valueOf)?value.valueOf():value;value=isObject(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}module.exports=rest},{}],26:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],27:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],28:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":27}],29:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":26,"lodash.isundefined":27,unsupported:28}],30:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"minus")}},{"binary-op-arbitrary-precision":29}],31:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],32:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],33:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":32}],34:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":31,"lodash.isundefined":32,unsupported:33}],35:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"mod")}},{"binary-op-arbitrary-precision":34}],36:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],37:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],38:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":37}],39:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":36,"lodash.isundefined":37,unsupported:38}],40:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"plus")}},{"binary-op-arbitrary-precision":39}],41:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],42:[function(require,module,exports){arguments[4][1][0].apply(exports,arguments)},{dup:1}],43:[function(require,module,exports){arguments[4][2][0].apply(exports,arguments)},{dup:2,"lodash.isundefined":42}],44:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11,"lodash.identity":41,"lodash.isundefined":42,unsupported:43}],45:[function(require,module,exports){"use strict";var binaryOpExtender=require("binary-op-arbitrary-precision");module.exports=function factory(Decimal){return binaryOpExtender(Decimal,"times")}},{"binary-op-arbitrary-precision":44}],"linear-arbitrary-precision":[function(require,module,exports){"use strict";var coreArbitraryPrecision=require("core-arbitrary-precision");var flow=require("lodash.flow");var extend=flow(require("plus-arbitrary-precision"),require("minus-arbitrary-precision"),require("times-arbitrary-precision"),require("div-arbitrary-precision"),require("mod-arbitrary-precision"),require("abs-arbitrary-precision"),require("equals-arbitrary-precision"),require("inequality-arbitrary-precision"));module.exports=flow(coreArbitraryPrecision,extend)},{"abs-arbitrary-precision":4,"core-arbitrary-precision":7,"div-arbitrary-precision":12,"equals-arbitrary-precision":17,"inequality-arbitrary-precision":22,"lodash.flow":23,"minus-arbitrary-precision":30,"mod-arbitrary-precision":35,"plus-arbitrary-precision":40,"times-arbitrary-precision":45}]},{},[]);var adapter=require("floating-adapter");var Decimal=require("pow-arbitrary-precision")(require("linear-arbitrary-precision")(adapter));console.log(new Decimal("-8").pow(new Decimal("1/3")).valueOf())},0); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "requirebin-sketch", | |
"version": "1.0.0", | |
"dependencies": { | |
"floating-adapter": "1.4.1", | |
"pow-arbitrary-precision": "2.1.0", | |
"linear-arbitrary-precision": "4.1.0" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- contents of this file will be placed inside the <body> --> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- contents of this file will be placed inside the <head> --> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment