Sindbad~EG File Manager
/* prototypes of MATHPERT operators defined in algebra.dll
and some auxiliary functions*/
/* optable is in exec.c */
/* See trig.h and calc.h for prototypes of trig and calculus operators */
#define ALGOP(foo) MEXPORT_ALGEBRA int foo(term, term, term *, char *);
#define POLYVALOP(foo) MEXPORT_POLYVAL int foo(term, term, term *, char *);
#define AUTOMODEOP(foo) MEXPORT_AUTOMODE int foo(term, term, term *, char *);
/* NUMERICAL CALCULATION */
ALGOP(complexarithmetic)
ALGOP(weakcomplexarithmetic)
ALGOP(complexpowers)
ALGOP(devalop)
ALGOP(evaleulere)
ALGOP(evalpi)
ALGOP(cevalop)
ALGOP(computeroot)
ALGOP(computepower)
ALGOP(computefunction)
ALGOP(decimaltofraction)
ALGOP(writenumberassquare)
ALGOP(writenumberascube)
ALGOP(writenumberaspower)
ALGOP(writenumberaspowerof)
ALGOP(evalfunction)
/* SIMPSUMS */
ALGOP(doubleminus)
ALGOP(pushminusin)
ALGOP(pullminusout)
ALGOP(arithmetic)
ALGOP(weakarithmetic)
ALGOP(regroupterms)
ALGOP(orderterms)
ALGOP(additivecommute)
POLYVALOP(dropzero)
ALGOP(additivecancel)
ALGOP(collectterms)
ALGOP(collectall)
ALGOP(pullminusout2)
ALGOP(minusintoproduct1)
ALGOP(minusintoproduct2)
ALGOP(minusintoproduct3)
/* SIMPPROD */
ALGOP(multbyzero)
ALGOP(multbyone)
ALGOP(bringminusout)
ALGOP(bringminusout2)
ALGOP(bringminusout3)
ALGOP(regroupfactors)
ALGOP(collectnumbers)
ALGOP(orderfactors) /* also on common denominator menu */
ALGOP(ordersimplefactors) /* used only in auto mode */
ALGOP(collectpowers)
ALGOP(distriblaw)
ALGOP(multiplyout)
ALGOP(multiplyifcancels)
ALGOP(expandnumerator)
ALGOP(expanddenominator)
ALGOP(expand)
ALGOP(difofsquares)
ALGOP(makedifofcubes)
ALGOP(makesumofcubes)
ALGOP(difofpowers)
ALGOP(squareofsum)
ALGOP(squareofdif)
ALGOP(cubeofsum)
ALGOP(cubeofdif)
ALGOP(binomialtheorem)
ALGOP(plainbinomialtheorem)
ALGOP(multiplyoutandsimp)
ALGOP(multcommute)
ALGOP(multdef)
/* FRACTIONS (fraction.c ) */
ALGOP(zeronum)
ALGOP(unitdenom)
ALGOP(recip)
ALGOP(multiplyfractions) /* also on common denominator menu */
ALGOP(multiplyfractions2)
ALGOP(cancelminusinquotient)
ALGOP(minusoutfromnum)
ALGOP(minusoutfromdenom)
ALGOP(minusoutfromnum2)
ALGOP(minusoutfromnum22)
ALGOP(minusoutfromdenom2)
ALGOP(minusoutfromdenom22)
ALGOP(minusoutfromdenom3)
ALGOP(minusoutfromdenom33)
ALGOP(minusintonum)
ALGOP(minusintodenom)
ALGOP(cancelop)
ALGOP(addfractions) /* also on common denom menu */
ALGOP(apart)
ALGOP(apartandcancel)
ALGOP(cancelbypolydiv)
ALGOP(cancelgcd)
ALGOP(polydivop)
POLYVALOP(pulloutrational)
ALGOP(pulloutdenom)
ALGOP(pulloutreal)
ALGOP(breakfraction1)
ALGOP(breakfraction)
ALGOP(breakfraction2)
ALGOP(multiplycoefs)
ALGOP(negatenumdenom)
/* COMPOUND FRACTIONS */
ALGOP(compoundfractions1)
ALGOP(invertandmultiply)
ALGOP(invertandmultiply2)
ALGOP(compoundfractions2)
ALGOP(compoundfractions3)
ALGOP(compoundfractions4)
ALGOP(commondenominfraction)
/* COMMON DENOMINATORS */
ALGOP(factordenominator)
ALGOP(findcommondenom)
ALGOP(findcommondenom2)
ALGOP(commondenom)
ALGOP(commondenom2)
ALGOP(commondenomandsimp)
ALGOP(commondenomandsimp2)
ALGOP(multnumanddenom)
/* EXPONENTS */
ALGOP(zeroexponent)
ALGOP(unitexponent)
ALGOP(zerobase)
ALGOP(unitbase)
ALGOP(intpowerofminusone)
ALGOP(powertopower)
ALGOP(minustopower)
ALGOP(quotienttopower)
ALGOP(producttopower) /* (ab)� = a�b� */
ALGOP(exponenttoroot) /* a^(b/n) = ��(a^b) */
ALGOP(exponenttosqrt)
ALGOP(reversecollectpowers) /* a^(b+c) = a^b a^c -- not used in auto mode */
ALGOP(reversecollectpowers2) /* a^(b-c) = a^b/a^c */
ALGOP(poweroutoffraction) /* a�/b� = (a/b)� */
ALGOP(powerstonum) /* a^n/a^m = a^(n-m) */
ALGOP(powerstodenom) /* ab^n/b^m = a/b^(m-n) */
ALGOP(fractexpdenom) /* a/b^(p/q) = (a^q/b^p)^(1/q) */
ALGOP(fractexpnum) /* a^(p/q)/b = (a^p/b^q)^1/q) */
ALGOP(reversepowertopower1) /* a^(bc) = (a^b)^c if a>0 or c�Z */
ALGOP(reversepowertopower2) /* a^(bc) = (a^c)^b if a>0 or c�Z */
ALGOP(reversepowertopower3) /* a^(b?) = (a^b)^? (available with products of 3 or more terms in the exponent) */
ALGOP(poweroutofrecip) /* 1/a^n = (1/a)^b */
/* NEGATIVE EXPONENTS */
ALGOP(eliminateconstnegexp) /* a^(-n) = 1/a� */
ALGOP(eliminateconstnegexpnum) /* a^(-n)/b = 1/(a�b) */
ALGOP(eliminatenegexp1) /* a^(-1) = 1/a */
ALGOP(eliminatenegexp) /* a^(-n) = 1/a� */
ALGOP(eliminatenegexpnum) /* a^(-n)/b = 1/(a�b) */
POLYVALOP(eliminatenegexpdenom) /* a/b^(-n) = ab� */
ALGOP(introducenegexp) /* a/b� = ab^(-n) */
ALGOP(introducenegexp1) /* a/b = ab^(-1) */
ALGOP(negexpofquotient) /* (a/b)^(-n) = (b/a)� */
ALGOP(powerofminusone) /* evaluate (-1)^(p/q) */
/* SQUARE ROOTS */
ALGOP(productofsqrts) /* �x�y = �(xy) */
ALGOP(sqrtofproduct) /* �(xy) = �x�y */
ALGOP(sqrtsimp) /* �(x�y) = x�y */
ALGOP(powerofsqrt) /* (�x)�� = x� if x�0 , also without n */
ALGOP(powerofsqrt2) /* (�x)^(2n+1) = x��x */
ALGOP(sqrtofsquare) /* �(x�)=x if x�0 */
ALGOP(sqrtofpower) /* �(x��) = x� */
ALGOP(sqrtofpower2) /* �(x^(2n+1)) = x��x */
ALGOP(factorundersqrt)
ALGOP(sqrttoabs) /* �(x�)= |x| */
ALGOP(sqrtofquotient) /* �(x/y) = �x/�y */
ALGOP(sqrtofquotient2) /* �(x/y) = ��x�/��y� */
ALGOP(quotientofsqrts) /* �x/�y = �(x/y) */
ALGOP(sqrtexp) /* �x = x ^ � */
ALGOP(sqrtexpdenom) /* 1/�x = x ^(-�) */
ALGOP(cancelsqrt) /* x/�x = �x */
ALGOP(cancelsqrt2) /* �x/x = 1/�x */
ALGOP(cancelsqrt3) /* �(xy)/�y = �x */
ALGOP(pushundersqrt) /* a�b = �(a�b) if a�0 */
ALGOP(rationalizedenom) /* not called in auto mode */
ALGOP(ratdenomandsimp) /* also not called in auto mode */
ALGOP(rationalizenum) /* not called in auto mode */
ALGOP(evaltorational)
ALGOP(computesqrt)
ALGOP(lauringson) /* a�-b = (a-�b)(a+�b) */
ALGOP(multiplyoutundersqrt)
ALGOP(multiplyoutunderroot)
ALGOP(factorpolyundersqrt)
/* N-th ROOTS */
ALGOP(productofroots)
ALGOP(rootofproduct)
ALGOP(rootsimp) /* ��(x�y) = x ��y" */
ALGOP(powerofroot)
ALGOP(powerofroot2)
ALGOP(powerofroot3)
ALGOP(powerofroot4)
ALGOP(powerofroot5)
ALGOP(rootofpower)
ALGOP(rootofpower2)
ALGOP(rootofpower3)
ALGOP(rootofpower4)
ALGOP(rootofpower5)
ALGOP(factorunderroot)
ALGOP(roottosqrt)
ALGOP(sqrttoroot)
ALGOP(sqrttoroot2)
ALGOP(rootofminus)
ALGOP(rootofquotient) /* ��(x/y) = ��x/��y */
ALGOP(quotientofroots) /* ��x/��y = ��(x/y) */
ALGOP(rootexp) /* ��x = x^(1/n) */
ALGOP(rootpowerexp) /* ��x^m = x^(m/n) */
ALGOP(powerrootexp) /* (��x)^m = x^(m/n) */
ALGOP(powersqrtexp) /* (�x)^m = x^(m/2) */
ALGOP(rootexpdenom) /* 1/��x = x^(-1/n) */
ALGOP(computeroot)
ALGOP(cancelroot) /* x/��x = (��x)^(n-1) */
ALGOP(cancelroot2) /* ��x/x = 1/(��x)^(n-1) */
ALGOP(cancelroot3) /* cancel ��: ��(xy)/��y = ��x */
ALGOP(factorpolyunderroot)
ALGOP(pushunderoddroot) /* a(��b) = ��(a�b) if n odd */
ALGOP(pushunderevenroot) /* a(��b) = ��(a�b) if a�0 */
ALGOP(pushminusunderroot) /* -��a = ��(-a) if n odd */
ALGOP(rootdenom) /* a/��b = ��(a�/b) (n odd or a�0) */
ALGOP(rootnum) /* ��a/b = ��(a/b�) (n odd or b�0) */
ALGOP(sqrtdenom) /* �a/b = �(a/b�) if b�0 */
ALGOP(sqrtnum) /* a/�b = �(a�/b) if a�0 */
/* ROOTS OF ROOTS */
ALGOP(rootofroot)
ALGOP(sqrtofroot)
ALGOP(rootofsqrt)
ALGOP(sqrtofsqrt)
/* COMPLEX NUMBERS */
ALGOP(defnofi) /* i� = -1 */
ALGOP(powersofi0) /* i^(4n) = 1 */
ALGOP(powersofi1) /* i^(4n+1) = i */
ALGOP(powersofi2) /* i^(4n+2) = -1 */
ALGOP(powersofi3) /* i^(4n+3) = -i */
ALGOP(recipofi) /* 1/i = -i */
ALGOP(recipofi2) /* a/i = -ai */
ALGOP(recipofi3) /* a/bi = -ai/b */
ALGOP(sqrtofminus1) /* �(-1) = i */
ALGOP(sqrtofneg) /* �(-a) = i�a if a�0 */
ALGOP(cleardenomofi)
ALGOP(multiplycomplexconjugates)
ALGOP(rectangulartopolar) /* x + iy = r exp(i�) */
ALGOP(polartorectangular) /* r exp(i�) = r (cos � + i sin �) */
ALGOP(absofpolar) /* �e^(i�)� = 1
�Re^(i�)�=R if R�0
�Re^(i�)� = �R�$ */
ALGOP(minustopolar) /* -a = ae^(i pi) */
ALGOP(squareofabs) /* �u + iv�� = u� + v� */
ALGOP(complexabs) /* �u + iv� = �(u� + v�) */
ALGOP(abssqrt)
ALGOP(absroot)
ALGOP(complexrootminus) /* root(n,-a) = e^(pi i/n) root(n,a) */
ALGOP(complexexptonum) /* a/ce^(ti) = ae^(-ti)/c */
ALGOP(demoivre) /* de Moivre's theorem */
ALGOP(explicitparams) /* substitute specific integers */
ALGOP(sqrtofi) /* sqrt(bi) = (sqrt(b/2) + sqrt(b/2) i) if b >= 0 */
ALGOP(sqrtofminusi) /* sqrt(-bi) = sqrt(b/2) - sqrt(b/2) i) if b >= 0 */
ALGOP(sqrtofaplusbi) /* sqrt(a+bi) = (sqrt((c+a)/2) + sqrt((c-a)/2) i) if b >= 0, where c^2 = a^2+b^2 */
ALGOP(sqrtofaminusbi) /* sqrt(a-bi) = (sqrt((c+a)/2) - sqrt((c-a)/2) i) if b >= 0, where c^2 = a^2+b^2 */
/* FACTORING */
ALGOP(factoroutnumber)
ALGOP(cleardenoms)
ALGOP(contentfactor)
ALGOP(factorsquareofsum)
ALGOP(factorsquareofdif)
ALGOP(factorcubeofsum)
ALGOP(factor4thofsum)
ALGOP(factor4thofdif)
ALGOP(factornthofsum)
ALGOP(factornthofdif)
ALGOP(factorcubeofdif)
ALGOP(differenceofsquares)
ALGOP(sumofsquares)
ALGOP(factorquadratic)
ALGOP(negativediscriminant)
ALGOP(quadraticformula)
ALGOP(writeassquare)
ALGOP(writeascube)
ALGOP(writeaspower)
ALGOP(expandpower)
ALGOP(expandsquare)
ALGOP(expandcube)
ALGOP(breakpower)
ALGOP(prodofpowers)
ALGOP(factorcoefficients)
ALGOP(factorinteger)
ALGOP(writeintegeraspower)
ALGOP(writeassum)
ALGOP(factorcomplexinteger)
ALGOP(complexfactorsofinteger)
ALGOP(makesubstitution)
ALGOP(trigdoublesub)
ALGOP(reversesub)
ALGOP(translatevar)
ALGOP(makesubstitution2)
ALGOP(autosubstitution)
ALGOP(maximalsub)
ALGOP(unwinddefinition)
/* ADVANCED_FACTORING */
ALGOP(invisiblesub)
ALGOP(differenceofcubes)
ALGOP(sumofcubes)
ALGOP(differenceofnthpowers)
ALGOP(differenceofnth2)
ALGOP(sumofnthpowers)
ALGOP(sumoffourthpowers)
ALGOP(factorquartic)
ALGOP(guessfactor)
ALGOP(factorbypolydiv)
ALGOP(factorbygrouping)
ALGOP(squarefreefactors)
ALGOP(factornumerically)
ALGOP(factorhelper)
/* SOLVE_EQUATIONS */
ALGOP(switchsides)
ALGOP(changesigns)
ALGOP(addeqn)
ALGOP(subeqn)
ALGOP(transfer)
ALGOP(transfer1)
ALGOP(transfer2)
ALGOP(transfereqn)
ALGOP(transferstrictineq)
ALGOP(transferineq)
ALGOP(muleqn)
ALGOP(diveqn)
ALGOP(squareeqn)
ALGOP(pseudosquare)
ALGOP(pseudosquare2)
ALGOP(pseudosquare3)
ALGOP(cancelterm)
ALGOP(cancelfactor)
ALGOP(trueeqn)
/* QUADRATIC EQUATIONS */
ALGOP(spliteqn)
ALGOP(spliteqn2)
ALGOP(completethesquare)
ALGOP(sqrteqn)
ALGOP(alltoleft)
ALGOP(solvelinear)
/* ADVANCED EQUATIONS */
ALGOP(crossmultiply)
ALGOP(powereqn)
ALGOP(rooteqn)
ALGOP(functioneqn)
ALGOP(selecteqn)
ALGOP(showalleqns)
ALGOP(collectmultiplesolns)
ALGOP(evalatpoint)
ALGOP(solvenumerically)
ALGOP(rejecteqn)
ALGOP(checkroot)
ALGOP(cleanupexponents)
/* LOG OR EXPONENTIAL EQUATIONS */
ALGOP(powereqn2)
ALGOP(powereqn3)
ALGOP(powereqn4)
ALGOP(powereqn5)
ALGOP(logbeqn)
ALGOP(lneqn)
ALGOP(logeqn)
/* CRAMERS_RULE */
ALGOP(cramersrule)
ALGOP(evaluatedeterminant)
/* selection_mode_only */
ALGOP(multabs)
ALGOP(divabs)
ALGOP(divabs2)
/* SEVERAL LINEAR EQUATIONS */
ALGOP(varsleft)
ALGOP(eqnscollectall)
ALGOP(lineupvars)
ALGOP(addtwoeqns)
ALGOP(subtwoeqns)
ALGOP(muleqns)
ALGOP(diveqns)
ALGOP(addmuleqns)
ALGOP(submuleqns)
ALGOP(substforvar)
ALGOP(eqnsaddterm)
ALGOP(eqnssubterm)
ALGOP(eqnscancelterm)
ALGOP(swapeqns)
ALGOP(ordereqns)
ALGOP(dropeqn)
ALGOP(regardvarasconst)
ALGOP(solveone)
ALGOP(solvelinearfor)
ALGOP(impossibleeqns)
ALGOP(addselectedeqn)
ALGOP(subselectedeqn)
ALGOP(mulselectedeqn)
ALGOP(divselectedeqn)
ALGOP(addmulselectedeqn)
ALGOP(submulselectedeqn)
ALGOP(swapselectedeqn)
ALGOP(solveselectedeqn)
ALGOP(addselectedrow)
ALGOP(subselectedrow)
ALGOP(mulselectedrow)
ALGOP(divselectedrow)
ALGOP(addmulselectedrow)
ALGOP(submulselectedrow)
ALGOP(swapselectedrow)
/* MATRIX_METHODS */
ALGOP(matrixform)
ALGOP(multbyidentity)
ALGOP(swaprows)
ALGOP(addrows)
ALGOP(subrows)
ALGOP(mulrows)
ALGOP(divrows)
ALGOP(addmulrows)
ALGOP(submulrows)
ALGOP(dropzerocolumn)
ALGOP(dropzerorow)
ALGOP(dropduplicaterow)
ALGOP(convertmatrixeqn)
/* ADVANCED MATRIX METHODS */
ALGOP(multiplymatrices)
ALGOP(dividebymatrix)
ALGOP(twobytwoinverse)
ALGOP(exactmatrixinverse)
ALGOP(decimalmatrixinverse)
ALGOP(multbymatrixidentity)
/* ABSOLUTE VALUE */
ALGOP(abspos)
ALGOP(absposandassume)
ALGOP(absneg)
ALGOP(absdef)
ALGOP(abseqn)
ALGOP(abseqn2)
ALGOP(abslessthan)
ALGOP(absgreaterthan)
ALGOP(absge)
ALGOP(geabs)
ALGOP(absle)
ALGOP(lessthanabs)
ALGOP(greaterthanabs)
ALGOP(leabs)
ALGOP(abslessthanneg) /* �u� < -c is false (c�0) */
ALGOP(absleneg) /* �u� � -c is false (c>0) */
ALGOP(absleneg2) /* �u� � -c iff u=0 assuming c>=0 */
ALGOP(abseqnneg) /* �u� = -c iff u=0 assuming c=0 */
POLYVALOP(multiplyabsval) /* �a��b�=�ab� */
ALGOP(abslinear) /*�cu� = c�u� if c�0 */
ALGOP(absofproduct) /* �uv� = �u��v� */
ALGOP(absoffraction) /* �u/v� = �u� / �v� */
ALGOP(fractionofabs) /* �u� / �v� = �u/v� */
ALGOP(abslinearquo) /* �u/v� = �u� / v if v > 0 */
ALGOP(cancelabs3)
ALGOP(abspower) /* �u��=�u�� if n is real */
ALGOP(absevenpower)
ALGOP(abseqntoineq1) /* �u� = u iff 0 � u */
ALGOP(abseqntoineq2) /* �u� = -u iff u � 0 */
ALGOP(absineqtrue) /* �u� � 0 is true */
ALGOP(absineqtrue2) /* -c � �u� is true (c�0) */
ALGOP(absineqtrue3) /* -c < �u� is true (c>0) */
ALGOP(absineqtrue2g) /* �u� � -c is true (c�0) */
ALGOP(absineqtrue3g) /* �u� � -c is true (c>0) */
ALGOP(absineqfalse) /* �u� < 0 is false */
ALGOP(absineqtrueg) /* �u� � 0 is true */
ALGOP(absineqfalseg) /* 0 > �u� is false */
ALGOP(absgreaterthanneg) /* -c > �u� is false (c�0) */
ALGOP(absgeneg) /* -c � �u� is false (c>0) */
ALGOP(absgeneg2) /* -c � �u� iff u=0 assuming c=0 */
ALGOP(combineintervals)
ALGOP(explicitdomain)
ALGOP(introduceabs) /* [p = a, p = -a] iff p = �a� if p � 0 */
/* STRICT INEQUALITIES */
ALGOP(reverselessthan)
ALGOP(reversegreaterthan)
ALGOP(addeqn1)
ALGOP(subeqn1)
ALGOP(changesigns1)
ALGOP(changesignsandsense1)
ALGOP(changesignsandsense3)
ALGOP(changesigns1g)
ALGOP(mulineq)
ALGOP(mulineqsq)
ALGOP(divineq)
ALGOP(sqrtineq11)
ALGOP(sqrtineq12)
ALGOP(sqrtineq13)
ALGOP(sqrtineq14)
ALGOP(sqrtineq15)
ALGOP(sqrtinterval1)
ALGOP(sqrtinterval3)
ALGOP(sqrtinterval5)
ALGOP(rootineq11)
ALGOP(rootineq12)
ALGOP(rootineq13)
ALGOP(rootineq15)
ALGOP(rootineq23)
ALGOP(rootineq25)
ALGOP(rootinterval1)
ALGOP(rootinterval2)
ALGOP(oddrootineq)
ALGOP(oddrootineq2)
ALGOP(powerineq11)
ALGOP(squaretrue1)
ALGOP(squarefalse1)
ALGOP(squaretrue2)
ALGOP(squarefalse2)
ALGOP(powerineq12)
ALGOP(powerineq13)
ALGOP(squareineq1)
ALGOP(squareineq3)
ALGOP(powerineq14even)
ALGOP(powerineq14odd)
ALGOP(powerineq15)
ALGOP(powerineq16)
ALGOP(powerineq17)
ALGOP(powerineq27)
ALGOP(normalizelinear1)
ALGOP(mulineqbysquare1)
ALGOP(mulineqbysquare2)
ALGOP(mulineqsqrt1)
ALGOP(mulineqsqrt2)
ALGOP(mulineqsqrt3)
ALGOP(mulineqsqrt4)
ALGOP(intervalsneg1)
ALGOP(intervalspos1)
ALGOP(droppositive1)
ALGOP(posnum1)
ALGOP(posnum2)
ALGOP(numericalineq)
ALGOP(evenpowerineq1)
ALGOP(evenpowerineq3)
ALGOP(lessthantole)
ALGOP(greaterthantoge)
ALGOP(sqsqrtineq1)
ALGOP(sqsqrtineq1rev)
ALGOP(powerrootineq1)
ALGOP(powerrootineq1rev)
/* INEQUALITIES */
ALGOP(reversele)
ALGOP(reversege)
ALGOP(addeqn2)
ALGOP(subeqn2)
ALGOP(changesigns2)
ALGOP(changesigns2g)
ALGOP(changesignsandsense2)
ALGOP(changesignsandsense4)
ALGOP(sqrtineq21)
ALGOP(sqrtineq22)
ALGOP(sqrtineq23)
ALGOP(sqrtineq24)
ALGOP(sqrtineq25)
ALGOP(sqrtinterval2)
ALGOP(sqrtinterval4)
ALGOP(sqrtinterval6)
ALGOP(rootineq21)
ALGOP(rootineq22)
ALGOP(powerineq21)
ALGOP(powerineq22)
ALGOP(powerineq23)
ALGOP(squareineq2)
ALGOP(squareineq4)
ALGOP(powerineq24even)
ALGOP(powerineq24odd)
ALGOP(powerineq25)
ALGOP(powerineq26)
ALGOP(mulineqbysquare3)
ALGOP(mulineqbysquare4)
ALGOP(normalizelinear2)
ALGOP(intervalsneg2)
ALGOP(intervalspos2)
ALGOP(droppositive2)
ALGOP(evenpowerineq2)
ALGOP(evenpowerineq4)
ALGOP(sqsqrtineq2)
ALGOP(sqsqrtineq2rev)
ALGOP(powerrootineq2)
ALGOP(powerrootineq2rev)
/* TRIG AND LOG INEQUALITIES */
ALGOP(lnineq1)
ALGOP(lnineq2)
ALGOP(logineq1)
ALGOP(logineq2)
ALGOP(lnrightineq1)
ALGOP(lnrightineq2)
ALGOP(lnleftineq1)
ALGOP(lnleftineq2)
ALGOP(logrightineq1)
ALGOP(logrightineq2)
ALGOP(logleftineq1)
ALGOP(logleftineq2)
ALGOP(expineq1)
ALGOP(expineq2)
ALGOP(abssinineq)
ALGOP(abscosineq)
ALGOP(sinineq)
ALGOP(coslowerbound)
ALGOP(absarctanineq)
ALGOP(arctanineq)
ALGOP(tanineq)
/* USER-DEFINED FUNCTIONS */
AUTOMODEOP(applyfunction0)
AUTOMODEOP(applyfunction1)
AUTOMODEOP(applyfunction2)
AUTOMODEOP(applyfunction3)
AUTOMODEOP(applyfunction4)
AUTOMODEOP(applyfunction5)
AUTOMODEOP(applyfunction6)
AUTOMODEOP(applyfunction7)
AUTOMODEOP(applyfunction8)
AUTOMODEOP(applyfunction9)
AUTOMODEOP(applyfunction10)
AUTOMODEOP(applyfunction11)
AUTOMODEOP(applyfunction12)
AUTOMODEOP(applyfunction13)
AUTOMODEOP(applyfunction14)
AUTOMODEOP(applyfunction15)
ALGOP(cancelsqrtgcd) /* automode_only */
ALGOP(cancelrootgcd)
ALGOP(cancelabsgcd)
ALGOP(knownroot)
ALGOP(contentgcd)
ALGOP(fractionalsubstitution)
ALGOP(gcdsubstitution)
ALGOP(backtosqrts)
ALGOP(backtoroots)
ALGOP(eliminatesqrts)
ALGOP(distribandcancel)
ALGOP(factorandcancel)
ALGOP(factoroneside)
/* cubic_equations operators */
ALGOP(eliminatequadraticterm)
ALGOP(computediscriminant)
ALGOP(realcardan)
ALGOP(cardan)
ALGOP(cardan2)
ALGOP(showcallingcubic)
ALGOP(viete)
/* recip_ineq operators */
ALGOP(recipineq11) /* 1/x < a iff x<0 or 1/a < x provided a > 0 */
ALGOP(recipineq21) /* a < 1/x iff 0 < x < 1/a provided a > 0 */
ALGOP(recipineq31) /* 1/x < -a iff -1/a < x < 0 provided a > 0 */
ALGOP(recipineq41) /* -a < 1/x iff x < -1/a or 0 < x provided a > 0 */
ALGOP(recipinterval11) /* a < x < b iff 1/b < x < 1/a provided a,b > 0 */
ALGOP(recipinterval21) /* a < x � b iff 1/b � x < 1/a provided a,b > 0 */
ALGOP(recipinterval31) /* -a < x < -b iff -1/b < x < -1/a provided a,b > 0 */
ALGOP(recipinterval41) /* -a < x � -b iff -1/b � x < -1/a provided a,b > 0 */
ALGOP(recipinterval51) /* -a < x < b iff x < - 1/a or 1/b < x (a,b > 0) */
ALGOP(recipinterval61) /* -a < x � b iff x < -1/a or 1/b � x (a,b > 0) */
ALGOP(recipineq12) /* 1/x � a iff x<0 or 1/a � x provided a > 0 */
ALGOP(recipineq22) /* a � 1/x iff 0 < x � 1/a provided a > 0 */
ALGOP(recipineq32) /* 1/x � -a iff -1/a � x < 0 provided a > 0 */
ALGOP(recipineq42) /* -a � 1/x iff x � -1/a or 0 < x provided a > 0 */
ALGOP(recipinterval12) /* a � x < b iff 1/b < x � 1/a provided a,b > 0 */
ALGOP(recipinterval22) /* a � x � b iff 1/b � x < 1/a provided a,b > 0 */
ALGOP(recipinterval32) /* -a � x < -b iff -1/b < x � -1/a provided a,b > 0 */
ALGOP(recipinterval42) /* -a � x � -b iff -1/b � x � -1/a provided a,b > 0 */
ALGOP(recipinterval52) /* -a � x < b iff x � - 1/a or 1/b < x (a,b > 0) */
ALGOP(recipinterval62) /* -a � x � b iff x � -1/a or 1/b � x (a,b > 0) */
/* Variants of inequality operations that work on > and GE */
ALGOP(sqrtineq11g) /* a > u� iff �a > �u� */
ALGOP(sqrtineq14g) /* a > u� iff -�a < u < �a */
ALGOP(sqrtineq12g) /* v� > a iff �v� > �a provided a�0 */
ALGOP(sqrtineq15g) /* u� > a iff u < -�a or u > �a */
ALGOP(powerineq11g) /* v > �u iff 0 � u < v� */
ALGOP(squareineq1g) /* v>a�u iff 0�a�u<v� provided 0�a */
ALGOP(powerineq12g) /* �v > a iff v > a� provided 0�a */
ALGOP(sqrtineq13g) /* v > u iff �v > �u provided u�0 */
ALGOP(sqrtineq21g) /* a � u� iff �a � �u� */
ALGOP(sqrtineq24g) /* a � u� iff -�a � u � �a */
ALGOP(sqrtineq22g) /* v� � a iff �v� � �a provided 0�a */
ALGOP(sqrtineq25g) /* u� � a iff u � -�a or �a � u */
ALGOP(powerineq21g) /* v � �u iff 0 � u � v� */
ALGOP(squareineq2g) /* v � a�u iff 0�a�u�v� provided 0�a */
ALGOP(powerineq22g) /* �v � a iff v � a� provided 0�a */
ALGOP(sqrtineq23g) /* v � u iff �v � �u provided u�0 */
ALGOP(oddrootineqg) /* u > v iff ��u > ��v (n odd) */
ALGOP(rootineq11g) /* a > u�� iff ���a > �u� */
ALGOP(rootineq13g) /* a > u�� iff -���a < u < ���a */
ALGOP(rootineq12g) /* u�� > a iff �u� > ���a provided a�0 */
ALGOP(rootineq15g) /* u�� > a iff u < -���a or u > ���a */
ALGOP(powerineq14oddg) /* v > ���u iff 0 � u < v�� */
ALGOP(powerineq14eveng) /* v > ���u iff 0 � u < v�� */
ALGOP(powerineq13g) /* v > a(��u) iff v� > a�u provided 0 � a(��u) */
ALGOP(powerineq15g) /* ��v > a iff v > a� provided a�0 */
ALGOP(powerineq16g) /* u > v iff u� > v� (n odd, n>0) */
ALGOP(powerineq17g) /* u > v iff u� > v� (n > 0 and 0 � u) */
ALGOP(oddrootineq2g) /* u � v iff ��u � ��v (n odd) */
ALGOP(rootineq21g) /* a � u�� iff ���a � �u� */
ALGOP(rootineq23g) /* a � u�� iff -���a � u � ���a */
ALGOP(rootineq22g) /* u�� > a iff �u� > ���a provided a�0 */
ALGOP(rootineq25g) /* u�� � a iff u � -���a or u � ���a */
ALGOP(powerineq24oddg) /* v � ���u iff 0 � u � v�� */
ALGOP(powerineq24eveng) /* v � ���u iff 0 � u � v�� */
ALGOP(powerineq23g) /* v � a(��u) iff v� � a�u provided 0 � a(��u) */
ALGOP(powerineq25g) /* ��v � a iff a� � v provided a � 0 */
ALGOP(powerineq26g) /* u � v iff u� � v� (n odd, n � 0) */
ALGOP(powerineq27g) /* u � v iff u� � v� (n > 0 and 0 � u) */
ALGOP(posnum1g) /* u/v > 0 iff v > 0 provided u > 0 */
ALGOP(mulineqsqrt1g) /* change u/�v > 0 to uv > 0 */
ALGOP(mulineqbysquare1g) /* u/v > 0 iff uv > 0 */
ALGOP(mulineqsqrt2g) /* change 0 > u/�v to 0 > uv */
ALGOP(mulineqbysquare2g) /* 0 > u/v iff 0 > uv */
ALGOP(normalizelinear1g) /* 0 > ax � b iff 0 > a(x�b/a) */
ALGOP(reverselessthang) /* 0 > ax � b iff 0 > a(x�b/a) */
ALGOP(intervalsneg1g) /* 0 > (x-a)(x-b) iff a<x<b (where a<b) */
ALGOP(intervalspos1g) /* (x-a)(x-b) > 0 iff x<a or x>b (where a<b) */
ALGOP(posnum2g) /* u/v � 0 iff v � 0 provided u � 0 */
ALGOP(mulineqsqrt3g) /* u/�v � 0 iff uv � 0 */
ALGOP(mulineqbysquare3g) /* u/v � 0 iff uv > 0 or u = 0 */
ALGOP(mulineqsqrt4g) /* 0 � u/�v iff 0 � uv */
ALGOP(mulineqbysquare4g) /* 0 � u/v iff 0 > uv or u = 0 */
ALGOP(normalizelinear2g) /* 0 � ax � b iff 0 � a(x�b/a) */
ALGOP(intervalsneg2g) /* 0 � (x-a)(x-b) iff a�x�b (where a�b) */
ALGOP(intervalspos2g) /* (x-a)(x-b)�0 iff x�a or b�x (where a�b) */
ALGOP(squareineq3g) /* square both sides when one side is � 0 */
ALGOP(squareineq4g) /* square both sides when one side is � 0 */
ALGOP(evenpowerineq1g) /* x^2n > a is true if a < 0 */
ALGOP(evenpowerineq2g) /* x^2n � a is true if a � 0 */
ALGOP(evenpowerineq3g) /* x^2n < a is false if a � 0 */
ALGOP(evenpowerineq4g) /* x^2n � a is false if a < 0 */
ALGOP(recipineq11g) /* a > 1/x iff x<0 or x > 1/a provided a > 0 */
ALGOP(recipineq21g) /* 1/x > a iff 0 < x < 1/a provided a > 0 */
ALGOP(recipineq31g) /* -a > 1/x iff -1/a < x < 0 provided a > 0 */
ALGOP(recipineq41g) /* 1/x > -a iff x < -1/a or x > 0 provided a > 0 */
ALGOP(recipineq12g) /* a � 1/x iff x<0 or x � 1/a provided a > 0 */
ALGOP(recipineq22g) /* 1/x � a iff 0 < x � 1/a provided a > 0 */
ALGOP(recipineq32g) /* -a � 1/x iff -1/a � x < 0 provided a > 0 */
ALGOP(recipineq42g) /* 1/x � -a iff x � -1/a or x > 0 provided a > 0 */
ALGOP(squaretrue1g) /* x^2 > a is true if a < 0 */
ALGOP(squarefalse1g) /* a > x^2 is false if a <= 0 */
ALGOP(squaretrue2g) /* x^2 � a is true if a � 0 */
ALGOP(squarefalse2g) /* a � x^2 is false if a < 0 */
ALGOP(lnineq1g) /* u > v iff ln u > ln v provided v>0 */
ALGOP(logineq1g) /* u > v iff log u > log v provided v>0 */
ALGOP(lnrightineq1g) /* ln u > v iff u > e^v */
ALGOP(lnleftineq1g) /* u > ln v iff e^u > v */
ALGOP(logrightineq1g) /* log u > v iff u > 10^v */
ALGOP(logleftineq1g) /* u > log v iff 10^u > v */
ALGOP(expineq1g) /* u > v iff a^u > a^v if a > 0, takes arg in menu mode */
ALGOP(lnineq2g) /* u � v iff ln u � ln v provided u>0 */
ALGOP(logineq2g) /* u � v => log u � log v provided u>0 */
ALGOP(lnrightineq2g) /* ln u � v iff u � e^v */
ALGOP(lnleftineq2g) /* u � ln v iff e^u � v */
ALGOP(logrightineq2g) /* log u � v iff u � 10^v */
ALGOP(logleftineq1g) /* u � log v iff 10^u � v */
ALGOP(logleftineq2g) /* u � v iff a^u � a^v if a > 0, takes arg in menu mode */
ALGOP(expineq2g) /* u � v iff a^u � a^v if a > 0, takes arg in menu mode */
ALGOP(intervaltoabs1) /* -a <= u <= a iff |u| <= a */
ALGOP(intervaltoabs2) /* -a < u <= a iff |u| < a */
ALGOP(absevenpowerrev) /* u^(2n) = |u|^(2n) if u is real */
ALGOP(abspowerrev) /*|u|^n = |u^n| if n is real */
ALGOP(preparetocancel)
/* AUXILIARIES ___________________________________________________________*/
#define JUMPER(op) ( ((void *)op == (void *) choosesubstitution) \
|| ((void *)op == (void *) equatetoproblem) \
|| ((void *)op == (void *) selectmin) \
|| ((void *)op == (void *) selectmax) \
|| ((void *)op == (void *) tabulate) \
|| ((void *)op == (void *) tabulateexact) \
|| ((void *)op == (void *) integraltest) \
|| ((void *)op == (void *) roottest) \
|| ((void *)op == (void *) ratiotest) \
|| ((void *)op == (void *) divergencetest) \
|| ((void *)op == (void *) comparisontest1) \
|| ((void *)op == (void *) comparisontest2) \
|| ((void *)op == (void *) limitcomparisontest)\
|| ((void *)op == (void *) condensationtest) \
|| ((void *)op == (void *) finishintegraltest) \
|| ((void *)op == (void *) finishroottest) \
|| ((void *)op == (void *) finishratiotest) \
|| ((void *)op == (void *) finishdivergencetest) \
|| ((void *)op == (void *) finishcomparisontest1) \
|| ((void *)op == (void *) finishcomparisontest2) \
|| ((void *)op == (void *) finishlimitcomparisontest)\
|| ((void *)op == (void *) finishcondensationtest)) \
/* and here list every operator that can replace a line by a totally
different line */
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists