(function(global,factory){if(typeof define==="function"&&define.amd){define(["module"],factory)}else if(typeof exports!=="undefined"){factory(module)}else{var mod={exports:{}};factory(mod);global.regression=mod.exports}})(this,function(module){"use strict";function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var _extends=Object.assign||function(target){for(var i=1;iMath.abs(matrix[i][maxrow])){maxrow=j}}for(var k=i;k=i;_k--){matrix[_k][_j]-=matrix[_k][i]*matrix[i][_j]/matrix[i][i]}}}for(var _j2=n-1;_j2>=0;_j2--){var total=0;for(var _k2=_j2+1;_k2=0;_i--){if(_i>1){string+=coefficients[_i]+"x^"+_i+" + "}else if(_i===1){string+=coefficients[_i]+"x + "}else{string+=coefficients[_i]}}return{string:string,points:points,predict:predict,equation:[].concat(_toConsumableArray(coefficients)).reverse(),r2:round(determinationCoefficient(data,points),options.precision)}}};function createWrapper(){var reduce=function reduce(accumulator,name){return _extends({_round:round},accumulator,_defineProperty({},name,function(data,supplied){return methods[name](data,_extends({},DEFAULT_OPTIONS,supplied))}))};return Object.keys(methods).reduce(reduce,{})}module.exports=createWrapper()});