UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices.

1 lines 540 kB
{"version":3,"file":"math.map","sources":["math.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","create","config","math","core","isFactory","deepExtend","typedFactory","emitter","importFactory","configFactory","options","load","Error","instance","index","factories","indexOf","type","_config","typed","push","instances","Object","mixin","expression","transform","epsilon","matrix","number","precision","predictable","Emitter","obj","on","bind","off","once","emit","E","prototype","name","callback","ctx","e","fn","self","apply","arguments","data","slice","evtArr","i","len","length","evts","liveEvents","clone","x","undefined","Array","isArray","map","value","Number","valueOf","String","Boolean","Date","isBigNumber","RegExp","TypeError","key","hasOwnProperty","extend","a","b","prop","constructor","deepEqual","canDefineProperty","defineProperty","lazy","object","_value","_uninitialized","get","set","configurable","enumerable","traverse","path","names","split","typedFunction","digits","createTyped","types","test","isComplex","isFraction","isUnit","isMatrix","isDenseMatrix","isSparseMatrix","isImmutableDenseMatrix","isRange","isIndex","isResultSet","isHelp","conversions","from","to","convert","BigNumber","Complex","toNumber","Fraction","n","isNaN","array","DenseMatrix","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","getTypeTest","entry","hint","toLowerCase","getName","fns","err","actual","expected","createError","argCount","message","actualType","getTypeOf","_expected","_fn","anyType","contains","join","Refs","categories","Param","varArgs","_types","trim","_varArgs","substr","Signature","params","_params","param","SyntaxError","Node","signature","childs","parseSignatures","rawSignatures","keys","signatures","ignore","expanded","expand","signature_i","toString","existing","cmp","compare","sort","t","j","other","splice","mapSignatures","normalized","hasConversions","parseTree","nodeSignature","filtered","entries","filter","overlapping","concat","getArgs","count","args","_typed","refs","_signatures","node","code","_name","_args","maxParams","toCode","body","Function","max","find","arr","str","match","conversion","add","category","cat","ac","bc","ai","bi","toConversion","recurse","newParam","prefix","ref","comment","getTests","arg","tests","allTypes","exactTypes","conversion_i","_innerCode","nextAnyType","exceptions","_exceptions","string, Object","...Function","addType","addConversion","NumberFormatter","isNumber","isInteger","isFinite","Math","round","sign","format","Infinity","notation","toFixed","toExponential","toPrecision","exponential","replace","DBL_EPSILON","EPSILON","nearlyEqual","y","diff","abs","coefficients","exponent","parseFloat","dot","zeros","d","parseInt","rounded","roundDigits","pp","first","shift","lower","upper","pow","unshift","removed","pop","math_import","num","ArgumentsError","_importFactory","forEach","isSupportedType","_import","silent","wrap","_wrap","isTypedFunction","override","_importTransform","wrapper","namespace","resolver","min","stack","isArgumentsError","prev","curr","...Array | Matrix | number | BigNumber","prevDim","dim","asMatrix","matrices","IndexError","size","DimensionError","res","_concat","...string","toTex","concatDim","RangeError","isIndexError","_validate","dimNext","child","_resize","defaultValue","elem","oldLen","newLen","minLen","UNINITIALIZED","_squeeze","dims","ii","next","_unsqueeze","string","s","validate","isScalar","validateIndex","resize","_defaultValue","squeeze","unsqueeze","outer","flatten","flat","formatArray","formatNumber","formatBigNumber","isString","endsWith","text","search","start","end","substring","fraction","syntax","gt","toExpNeg","toExpPos","log","LN10","isZero","gte","lt","toSignificantDigits","relation","isDimensionError","_create","datatype","M","Matrix","storage","string, string","Array | Matrix, string","Array | Matrix, string, string",1,2,"_cross","xSize","ySize","subtract","multiply","cross","Matrix, Matrix","toArray","Matrix, Array","Array, Matrix","Array, Array","latex","addScalar","unaryMinus","algorithm01","algorithm03","algorithm05","algorithm10","algorithm13","algorithm14","number, number","Complex, Complex","re","im","BigNumber, BigNumber","minus","Fraction, Fraction","sub","Unit, Unit","equalBase","fixPrefix","xsize","ysize","Matrix, any","any, Matrix","Array, any","any, Array","operators","symbols","Alpha","alpha","Beta","beta","Gamma","gamma","Delta","delta","Epsilon","varepsilon","Zeta","zeta","Eta","eta","Theta","theta","vartheta","Iota","iota","Kappa","kappa","varkappa","Lambda","lambda","Mu","mu","Nu","nu","Xi","xi","Omicron","omicron","Pi","pi","varpi","Rho","rho","varrho","Sigma","sigma","varsigma","Tau","tau","Upsilon","upsilon","Phi","phi","varphi","Chi","chi","Psi","psi","Omega","omega","true","false","inf","Inf","infinity","oo","lim","transpose","factorial","dotPow","unaryPlus","bitNot","not","divide","dotMultiply","dotDivide","mod","leftShift","rightArithShift","rightLogShift","equal","unequal","smaller","larger","smallerEq","largerEq","bitAnd","bitXor","bitOr","and","xor","or","defaultTemplate","units","deg","toSymbol","plus","neg","tmp","Unit","Array | Matrix","deepMap","skipZeros","denseMatrix","sparseMatrix","inverse","adata","_data","asize","_size","adt","_datatype","bvalues","_values","bindex","_index","bptr","_ptr","bsize","bdt","rows","columns","dt","cf","cdata","w","mark","k0","k1","k","zero","z","equalScalar","SparseMatrix","avalues","aindex","aptr","eq","cvalues","cindex","cptr","values","ptr","xa","xb","wa","wb","wai","wbi","va","vb","vc","boolean, boolean","equals","r","bdata","csize","_iterate","f","level","av","bv","cv","util","isBoolean","memoize","hasher","cache","hash","JSON","stringify","multiplyScalar","algorithm11","_validateMatrixDimensions","_multiplyVectorVector","_multiplyVectorMatrix","_multiplyMatrixVector","_multiplyMatrixMatrix","size1","size2","af","mf","_multiplyVectorDenseMatrix","alength","bcolumns","sum","_multiplyDenseMatrixVector","_multiplySparseMatrixVector","_multiplyDenseMatrixDenseMatrix","_multiplyDenseMatrixSparseMatrix","_multiplySparseMatrixDenseMatrix","_multiplySparseMatrixSparseMatrix","arows","acolumns","row","jb","kb0","kb1","last","cij","kb","ib","brows","vbi","ka0","ka1","ka","ia","p1","ic","vbij","p0","times","mul","number, Unit","_normalize","Unit, number","v","_det","cols","compute_mu","fa","det","any","algorithm04","_diag","kSuper","kSub","_createDiagonalMatrix","_getDiagonal","l","ms","F","diagonal","dm","vector","diag","Array, number","Array, BigNumber","Array, string","Array, number, string","Array, BigNumber, string","Matrix, number","Matrix, BigNumber","Matrix, string","Matrix, number, string","Matrix, BigNumber, string","_dot","prod","_eyeVector","_eye","Big","one","minimum","eye","number | BigNumber","number | BigNumber, string","number | BigNumber, number | BigNumber","number | BigNumber, number | BigNumber, string","_flatten","_inv","mat","temp","divideScalar","A","B","Ac","Bc","Ar","Br","inv","_divideComplex","den","div","xUnit","_ones","hasBigNumbers","ones","...number | BigNumber | string","_out","_strRange","includeEnd","_parse","_bigRangeInc","_bigRangeEx","step","_rangeInc","_rangeEx","ZERO","lte","nums","invalid","some","ONE","range","string, boolean","number, number, number","number, number, boolean","number, number, number, boolean","BigNumber, BigNumber, BigNumber","BigNumber, BigNumber, boolean","BigNumber, BigNumber, BigNumber, boolean","_resizeString","defaultChar","number | Complex | BigNumber | Unit | boolean | null","_getSubstring","strLen","dimension","charAt","_setSubstring","replacement","chars","subset","Array, Index","Matrix, Index","string, Index","Array, Index, any","Array, Index, any, any","Matrix, Index, any","Matrix, Index, any, any","string, Index, string","string, Index, string, string","trace","_denseTrace","_sparseTrace","_denseTranspose","_sparseTranspose","transposedRow","transposed","q","_zeros","Spa","lup","_denseLUP","_sparseLUP","L","U","ldata","lsize","udata","usize","pabsv","vjj","absv","_swapRows","vij","u","lvalues","lindex","lptr","uvalues","uindex","uptr","pv_co","pv_oc","swapIndeces","kx","ky","spa","vkj","_forEachRow","vik","accumulate","swap","sqrt","algorithm07","algorithm12","_scatter","cs_sqr","cs_lu","slu","SparseMatrix, number, number","order","threshold","pinv","cs_amd","cs_permute","cs_etree","cs_post","cs_counts","qr","parent","post","cp","_vcount","unz","lnz","leftmost","head","tail","nque","m2","pa","cs_flip","cs_fkeep","cs_tdfs","lemax","dense","cm","_createTargetMatrix","k2","pj","ln","nvi","pk","eln","p2","pn","h","cnz","P","W","nv","elen","degree","hhead","_initializeQuotientGraph","nel","_initializeDegreeLists","mindeg","elenk","nvk","dk","pk1","pk2","_wclear","wnvi","dext","p3","p4","nvj","jlast","ok","at","tindex","tptr","nz","top","t0","t1","ata","inext","ancestor","cs_leaf","J","maxfirst","prevleaf","colcount","jleaf","sparent","jprev","cs_spsolve","tol","col","ipiv","xabs","pivot","cs_reach","g","lo","gvalues","gindex","gptr","gsize","px","cs_dfs","cs_marked","cs_mark","cs_unflip","jnew","done","solveValidation","lsolve","SparseMatrix, Array | Matrix","_sparseForwardSubstitution","DenseMatrix, Array | Matrix","_denseForwardSubstitution","Array, Array | Matrix","xj","bj","copy","msize","cs_ipvec","usolve","lusolve","_lusolve","SparseMatrix, Array | Matrix, number, number","Object, Array | Matrix","_toMatrix","_sparseBackwardSubstitution","_denseBackwardSubstitution","ceil","complexMultiply","cube","Array | Matrix, Array | Matrix","any, Array | Matrix","algorithm02","any, any","algorithm09","_pow","_powComplex","exp","_powArray","_powMatrix","cos","sin","_logNumber","_logComplex","atan2","isNegative","base","fix","floor","_gcdBigNumber","isInt","gcd","_gcd","Matrix, number | BigNumber","number | BigNumber, Matrix","Array, number | BigNumber","number | BigNumber, Array","Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber","_lcmBigNumber","algorithm06","lcm","_lcm","scatter","update","_log10Complex","log10","_mod","_norm","sizeX","POSITIVE_INFINITY","pinf","NEGATIVE_INFINITY","ninf","maxc","cj","maxr","ri","complexAbs","norm","boolean | null","number | Complex | BigNumber | boolean | null, number | BigNumber | string","Array, number | BigNumber | string","Matrix, number | BigNumber | string","_sqrtNumber","_sqrtComplex","_bigNthRoot","negated","iMax","xPrev","nthRoot","_nthRoot","_nthComplexRoot","Complex, number","density","polar","toPolar","roots","PI","NO_INT","_round","Complex, BigNumber","_n","number, BigNumber","toDecimalPlaces","number | Complex | BigNumber, Matrix","number | Complex | BigNumber, Array","decimals","square","boolean | string | null","_xgcd","lastx","lasty","_xgcdBigNumber","xgcd","bigBitAnd","bitwise","NaN","decCoefficientToBinaryString","xe","strL","arrL","reverse","func","xBits","yBits","xSign","ySign","minBits","maxBits","minSign","shortLen","longLen","expFuncVal","outVal","twoPower","two","prevPrec","bigBitNot","bigBitOr","negOne","bigBitXor","algorithm08","bigLeftShift","bigRightArithShift","stirlingS2","bellNumbers","result","combinations","kFactorial","negativeOne","kChooseI","iPower","constants","atan","pi4th","yPrev","x2","bigFactorial","preciseFacs","smallBigFacs","toSD","bigBigFacs","twoN","threeN","fourN","fiveN","real","twoPiSqrt","isPositiveInteger","dividedBy","isNeg","isPositive","composition","conj","intersect","Array, Array, Array","plane","_3d","_4d","_intersectLinePlane","Array, Array, Array, Array","_2d","_intersect2d","_intersect3d","Matrix, Matrix, Matrix","Matrix, Matrix, Matrix, Matrix","x1","y1","y2","x3","y3","x4","y4","d1343","d4321","d1321","d4343","d2121","ta","tb","pax","pay","pbx","pby","z1","z2","z3","z4","paz","pbz","py","pz","_kldiv","plength","qlength","sumq","sump","qnorm","pnorm","isNumeric","kldivergence","_sum","deepForEach","Array | Matrix, number | BigNumber","...","number | BigNumber | Fraction | boolean","Complex | Unit | string","denom","permutations","distribution","pickRandom","distributions","randFunctions","random","arg1","arg2","arg3","isCollection","_randomDataForMatrix","_random","randomInt","_randomInt","possibles","randFunc","uniform","normal","u1","u2","picked","_deepEqual","_unequal","_prod","_largest","_max","reduce","_reduce","ret","val","tran","_switch","I","arraySize","_nmean","_mean","mean","_median","mid","right","partitionSelect","left","middle2","middle","median","number | BigNumber | Unit","number | BigNumber | Unit, number | BigNumber | Unit","desc","asc","_partitionSelect","quickSelect","Array | Matrix, number","Array | Matrix, number, string","Array | Matrix, number, function","_smallest","_min","_mode","mode","quantileSeq","probOrN","sorted","probArr","dataArr","_quantileSeq","nPlusOne","intN","currProb","prob","fracPart","integerPart","integerPartNumber","_std","normalization","variance","std","_var","DEFAULT_NORMALIZATION","_complexAcos","temp1","temp2","complexSqrt","temp3","temp4","complexLog","acos","acosAsec","atanAcot","reciprocal","toDP","asinAcsc","halfPi","absX","asin","asinNewton","wasReduced","dp","polyNum","constNum","constDen","bigK","cosSinSecCsc","sinToCos","oldPrecision","tolerance","maxp","localPrecision","maxIter","tmp0","tmp1","tmp2","reduceToPeriod","cosSin","precPlusGuardDigits","five","sixteen","twenty","ret2","ret3","ret5","div_factor","loops","eight","ret4","_complexAcosh","complexAcos","acosh","acoshAsinhAsechAcsch","x2PlusOrMinus","complexAtan","acot","HALF_PI","_complexAcoth","atanh","acoth","atanhAcoth","_complexAtanh","noIM","oneMinus","onePlus","_complexAcsc","complexAsin","acsc","_complexAsin","asinh","acsch","_complexAsec","asec","_complexAsech","asech","bigAtan2","cosh","sinh","hasBase","BASE_UNITS","ANGLE","_cosh","ep","en","coshSinhCschSech","_sinh","cim","sim","cot","tan","tanCot","coth","_coth","tanhCoth","posExp","negExp","csc","csch","_csch","sec","sech","_sech","tanh","_tanh","Unit, Unit | string","unit","Array, function","_filterCallback","Array, RegExp","_filterRegExp","Matrix, function","Matrix, RegExp","regexp","any, Object | function | number","_map","print","_print","string, Object, number","template","original","_comparator","_arrayIsVector","_matrixIsVector","_typeof","isChain","_forEach","_storage","preprocess","_get","_getSubmatrix","_set","submatrix","sSize","iSize","_fit","_setSubmatrix","dataIndex","subIndex","newSize","changed","index_i","me","toJSON","mathjs","fromJSON","json","swapRows","vi","_createFromMatrix","_createFromArray","source","_getsubset","_setsubset","idx","kk","mvalues","mindex","mptr","pv","x0","y0","_getValueIndex","_remove","_insert","bottom","ins","invoke","minRow","maxRow","minColumn","maxColumn","_toArray","vx","vy","sparse","_heap","FibonacciHeap","isSpa","insert","heap","nodes","extractMinimum","nodei","nodej","remove","_minimum","oneOverLogPhi","isFibonacciHeap","clear","isEmpty","numberOfChildren","tempRight","_findMinimumNode","_decreaseKey","_cut","_cascadingCut","_linkNodes","numRoots","ImmutableDenseMatrix","Index","ranges","_dimensions","_isScalar","_createImmutableMatrix","strings","dimensions","Range","parse","...number | BigNumber | Range | Array | Matrix","Decimal","global","coefficientToString","LOGBASE","charCodeAt","checkRoundingDigits","rm","repeating","ci","rd","mathpow","checkRM","method","outOfRange","ifExceptionsThrow","checkArg","MAX_DIGITS","pr","guard","sd","rep","external","rnd","getCoeffLength","more","error","intPow","c0","xc","xci","out","mathfloor","BASE","convertBase","decimal","crypto","NUMERALS","EXP_LIMIT","INT_POW_LIMIT","yc","base10","sd10","xLTy","half","pos","groupSeparator","g1","g2","intPart","fractionPart","intDigits","maxD","d0","d2","frac","n0","n1","d1","yN","toBaseOut","baseIn","baseOut","multiplyInteger","carry","aL","bL","logbase","prodL","qc","rem","remL","rem0","xL","yc0","yL","yz","maxOrMin","ltgt","rand","Uint32Array","decimalFactory","parseDecimal","decimalSeparator","groupSize","secondaryGroupSize","fractionGroupSeparator","fractionGroupSize","isValid","isNum","orig","valid","bignumber","bool","boolean","lcase","Chain","createProxy","chainify","createLazyProxy","arg0","construct","fromPolar","skipWhitespace","isDigitDot","isDigit","revert","oldIndex","parseNumber","parseComplex","cnext","unexpectedEnd","separator","second","strRe","strIm","UNIT_NONE","PREFIX_NONE","power","isUnitListSimplified","tentativeNumber","tentativeIndex","parseUnit","unitName","parseCharacter","toFind","_findUnit","UNITS","prefixLen","prefixName","prefixes","valueStr","powerMultiplierCurrent","expectingUnit","powerMultiplierStack","powerMultiplierStackProduct","oldC","uStr","BASE_DIMENSIONS","baseDim","UNIT_SYSTEMS","auto","_isDerived","offset","_denormalize","prefixValue","isValuelessUnit","inverted","valThis","valOther","valuelessUnit","formatUnits","simplifyUnitListLazy","matchingBase","proposedUnitList","currentUnitSystem","matchingUnit","strNum","strDen","nNum","nDen","unitStr","bestPrefix","_bestPrefix","absValue","bestDiff","scientific","PREFIXES","NONE","SHORT","da","G","T","Z","Y","LONG","deca","hecto","kilo","mega","giga","tera","peta","exa","zetta","yotta","deci","centi","milli","micro","nano","pico","femto","atto","zepto","yocto","SQUARED","CUBIC","BINARY_SHORT","Ki","Mi","Gi","Ti","Ei","Zi","Yi","BINARY_LONG","kibi","mebi","gibi","tebi","pebi","exi","zebi","yobi","BTU","MM","SHORTLONG","MASS","LENGTH","TIME","CURRENT","TEMPERATURE","LUMINOUS_INTENSITY","AMOUNT_OF_SUBSTANCE","FORCE","SURFACE","VOLUME","ENERGY","POWER","PRESSURE","ELECTRIC_CHARGE","ELECTRIC_CAPACITANCE","ELECTRIC_POTENTIAL","ELECTRIC_RESISTANCE","ELECTRIC_INDUCTANCE","ELECTRIC_CONDUCTANCE","MAGNETIC_FLUX","MAGNETIC_FLUX_DENSITY","BIT","BASE_UNIT_NONE","meter","inch","foot","yard","mile","link","rod","chain","angstrom","in","ft","yd","mi","li","ch","mil","sqin","sqft","sqyd","sqmi","sqrd","sqch","sqmil","m3","litre","cuin","cuft","cuyd","teaspoon","tablespoon","drop","gtt","minim","fluiddram","fluidounce","gill","cc","cup","pint","quart","gallon","beerbarrel","oilbarrel","hogshead","fldr","floz","gi","pt","qt","gal","bbl","obl","gram","ton","tonne","grain","dram","ounce","poundmass","hundredweight","stick","stone","gr","dr","oz","lbm","cwt","minute","hour","day","rad","grad","cycle","ampere","K","degC","degF","degR","kelvin","celsius","fahrenheit","rankine","mol","mole","cd","candela","N","newton","dyn","dyne","lbf","poundforce","joule","erg","Wh","eV","electronvolt","watt","hp","Pa","atm","coulomb","C","farad","volt","V","ohm","henry","H","siemens","S","weber","Wb","tesla","bits","bytes","PLURALS","meters","inches","feet","yards","miles","links","rods","chains","angstroms","litres","teaspoons","tablespoons","minims","fluiddrams","fluidounces","gills","cups","pints","quarts","gallons","beerbarrels","oilbarrels","hogsheads","gtts","grams","tons","tonnes","grains","drams","ounces","poundmasses","hundredweights","sticks","seconds","minutes","hours","days","radians","degrees","gradients","cycles","BTUs","watts","joules","amperes","coulombs","volts","ohms","farads","webers","teslas","electronvolts","moles","si","bit","cgs","us","setUnitSystem","listAvailableUnitSystems","mess","getUnitSystem","plural","liter","liters","lb","lbs","complex","assign","parser_exit","D","modpow","cycleLen","cycleStart","whole","cycLen","cycOff","webpackPolyfill","deprecate","paths","children","numerator","denominator","Unit, string | Unit","ResultSet","null","number, string","BigNumber, string","bigConstants","LN2","LOG2E","LOG10E","SQRT1_2","SQRT2","version","docs","speedOfLight","description","examples","gravitationConstant","planckConstant","reducedPlanckConstant","magneticConstant","electricConstant","vacuumImpedance","elementaryCharge","bohrMagneton","conductanceQuantum","inverseConductanceQuantum","magneticFluxQuantum","nuclearMagneton","klitzing","bohrRadius","classicalElectronRadius","electronMass","fermiCoupling","fineStructure","hartreeEnergy","protonMass","deuteronMass","neutronMass","quantumOfCirculation","rydberg","thomsonCrossSection","weakMixingAngle","efimovFactor","atomicMass","avogadro","boltzmann","faraday","firstRadiation","loschmidt","gasConstant","molarPlanckConstant","molarVolume","sackurTetrode","secondRadiation","stefanBoltzmann","wienDisplacement","molarMass","molarMassC12","gravity","planckLength","planckMass","planckTime","planckCharge","planckTemperature","help","multinomial","seealso","expr","compile","extra_nodes","parseStart","nesting_level","conditional_level","nextPreview","nextNextPreview","getToken","token_type","TOKENTYPE","NULL","token","DELIMITER","c2","c3","DELIMITERS","isAlpha","NAMED_DELIMITERS","SYMBOL","UNKNOWN","createSyntaxError","NUMBER","getTokenSkipNewline","openParams","closeParams","parseBlock","visible","blocks","ConstantNode","parseFunctionAssignment","BlockNode","parseAssignment","parseConditional","isSymbolNode","AssignmentNode","isIndexNode","UpdateNode","isFunctionNode","FunctionAssignmentNode","parseLogicalOr","condition","trueExpr","falseExpr","ConditionalNode","parseLogicalXor","OperatorNode","parseLogicalAnd","parseBitwiseOr","parseBitwiseXor","parseBitwiseAnd","parseRelational","parseShift","==","!=","<",">","<=",">=","parseConversion","<<",">>",">>>","parseRange","parseAddSubtract","SymbolNode","RangeNode","parseMultiplyDivide","+","-","parseUnary","*",".*","/","./","%","isConstantNode","~","parsePow","parseLeftHandOperators","parseCustomNodes","!","'","handler","parseSymbol","parseFunctions","parseIndex","parseString","FunctionNode","IndexNode","tPrev","parseMatrix","parseRow","ArrayNode","parseParentheses","ParenthesisNode","parseEnd",",","(",")","[","]","\"",";","^",".^","&","|","^|","=",":","?","every","isNode","isArrayNode","_compile","defs","_ifNode","_toString","_toTex","childNode","_validateScope","scope","symbol","keywords","eval","defsCode","factoryCode","_traverse","_transform","customString","customTex","getIdentifier","getContent","needParenthesis","parenthesis","precedence","getPrecedence","exprPrecedence","isAssignmentNode","_node","identifier","properties","getAssociativity","property","associativity","isAssociativeWith","nodeA","nodeB","identifierA","identifierB","associativeWith","latexLeftParens","latexRightParens","latexParens","OperatorNode:or","OperatorNode:xor","OperatorNode:and","OperatorNode:bitOr","OperatorNode:bitXor","OperatorNode:bitAnd","OperatorNode:equal","OperatorNode:unequal","OperatorNode:smaller","OperatorNode:larger","OperatorNode:smallerEq","OperatorNode:largerEq","OperatorNode:leftShift","OperatorNode:rightArithShift","OperatorNode:rightLogShift","OperatorNode:to","OperatorNode:add","OperatorNode:subtract","OperatorNode:multiply","OperatorNode:divide","OperatorNode:dotMultiply","OperatorNode:dotDivide","OperatorNode:mod","OperatorNode:unaryPlus","OperatorNode:unaryMinus","OperatorNode:bitNot","OperatorNode:not","OperatorNode:pow","OperatorNode:dotPow","OperatorNode:factorial","OperatorNode:transpose","block","isBlockNode","js","isConditionalNode","testCondition","conditionPrecedence","truePrecedence","falsePrecedence","valueType","getType","SUPPORTED_TYPES","numConfig","isFunctionAssignmentNode","variable","compileSubset","someUseEnd","rangesUseEnd","useEnd","isRangeNode","objectName","calculateNecessaryParentheses","parens","startPrecedence","stepPrecedence","endPrecedence","undef","op","operandPrecedence","operandIdentifier","rootIdentifier","lhsParens","lhsPrecedence","assocWithLhs","rhsParens","rhsPrecedence","assocWithRhs","lhsIdentifier","rhsIdentifier","isOperatorNode","assoc","operand","lhs","rhs","lhsTex","rhsTex","expandTemplate","regex","inputPos","exec","ReferenceError","isRaw","rawArgs","paramsName","nodeToString","nodeToTex","latexConverter","customToTex","content","isParenthesisNode","isUpdateNode","Array | Matrix, Object","doc","Help","string | Array | Matrix","string | Array | Matrix, Object","Parser","isParser","...any","errorTransform","lastIndex","filterTransform","_scope","Array | Matrix, function","isSet","parser"],"mappings":"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