Sindbad~EG File Manager
/* prototypes of trig operators. Some are defined in algebra.dll
and some in trigcalc.dll. The former are prototyped with OP,
the latter with OP.
*/
#define OP(foo) int foo(term, term, term *, char *);
/* BINOMIAL THEOREM */
OP(binomialcoeftofactorials)
OP(defnoffactorial)
OP(factorialrecursion)
OP(cancelfactorial1)
OP(cancelfactorial2)
OP(cancelfactorial3)
OP(cancelfactorial1b)
OP(cancelfactorial2b)
OP(cancelfactorial3b)
/* SIGMA NOTATION */
OP(sigmaconstant) /* \sum 1=number of terms */
OP(minusoutofsigma) /* \sum (-u) = -\sum u */
OP(constantoutofsigma) /* \sum cu = c\sum u (c const) */
OP(constantintosigma) /*c\sum u (c const)= \sum cu */
OP(sigmasum) /* \sum (u\pm v) = \sum u \pm \sum v */
OP(sigmatosum)
OP(renameindexvariable)
OP(sumofi)
OP(sumofisquared)
OP(sumoficubed)
OP(sumofitothefourth)
OP(sumofallpowers)
OP(productofsigmas)
OP(evaluatesigmatorational)
OP(evaluatesigmatodecimal)
OP(evalpuresigmatorational)
OP(evalpuresigmatodecimal)
OP(evaluatefactorial)
OP(evaluatebinomialcoef)
OP(evaluatebernoulli)
OP(evaluateeulernumber)
OP(telescopingsum)
OP(showfirstterms)
OP(splitofflastterm)
OP(shiftindex)
OP(difsigma)
OP(intsigma)
OP(reversedifsigma)
OP(reverseintsigma)
OP(sumtodifofsums)
OP(sumtodifofsums0)
/*PROVE BY INDUCTION*/
OP(selectinductionvariable)
OP(basiscase)
OP(useinductionhyp)
OP(inductionstep)
OP(thereforeasdesired)
/*LOGARITHMS */
OP(loginexponent)
OP(loginexponent2)
OP(logofpowerof10)
OP(logofpower)
OP(logofproduct)
OP(logofreciprocal)
OP(logofquotient)
OP(logofone)
OP(logoften)
OP(logtoln)
OP(collectlogs)
OP(collectlogs2)
OP(attractlogs)
OP(logsqrt)
OP(logroot)
OP(logofpowerreverse)
OP(computelog)
OP(factornumberinlog)
OP(factoroutbase)
OP(factoroutbase10)
OP(factorlogbase)
OP(logrecip)
/*NATURAL LOGARITHMS */
OP(lninexponent)
OP(lninexponent2)
OP(lnofpowerofe)
OP(lnofpower)
OP(lnofproduct)
OP(lnofreciprocal)
OP(lnofquotient)
OP(lnofone)
OP(lnofe)
OP(collectlns)
OP(collectlns2)
OP(attractlns)
OP(lnsqrt)
OP(lnroot)
OP(lnofpowerreverse)
OP(computeln)
OP(introducelninexponent)
OP(introduceloginexponent)
OP(introducelogbinexponent)
OP(lnrecip)
/* LOGS TO ANY BASE */
OP(logbinexponent)
OP(logbinexponent2)
OP(logbofb)
OP(logbofpowerofb) /* logb b^n = n */
OP(logpowerofbofb)
OP(logbofpower) /* logb a^n = n logb a */
OP(logbofproduct)
OP(logbofreciprocal)
OP(logbofquotient)
OP(logbofone)
OP(factorinteger)
OP(collectlogb) /* log a + log b = log ab */
OP(collectlogb2) /* log a - log b = log a/b */
OP(attractlogb2) /* n log(b,x) = log(b,a^n ) */
OP(logbtolog) /* log(10,x) = log x*/
OP(logbtoln) /*log(e,x) = ln x */
OP(logbtolns) /*log(b,x) = ln x / ln b */
OP(logbtologs) /*log(b,x) = log x / log b */
OP(changebase) /* log(b,x) = log(a,x) / log(a,b) */
OP(lntolog) /* ln x = log x / log e */
OP(logbrecip)
/* TRIG */
OP(sinsquare1) /* sin^2 a + cos^2 a = 1 */
OP(sinsquare2) /* 1 - sin^2 a = cos^2 a */
OP(sinsquare3) /* 1 - cos^2 a = sin^2 a */
OP(makesinpower) /* (1-cos t)^n(1+cos t)^n = sin^2n t */
OP(makecospower) /* (1-sin t)^n(1+sin t)^n = cos^2n t */
OP(tansquare1) /* tan^2 a + 1 = sec^2 a */
OP(tansquare2) /* sec^2 a - 1 = tan^2 a */
OP(secsqminustansq) /* sec^2 a - tan^2 a = 1 */
OP(doublecos5) /* cos 2\theta + 1 = 2cos^2 \theta */
OP(doublecos6) /* cos 2\theta - 1 = - 2 sin^2 \theta */
OP(doublecos4) /* cos 2\theta = cos^2 \theta - sin^2 \theta (must be tried last in auto mode)*/
/* All the doublecos rules should be associated to '+' */
/* doublecos4 works on a sum which contains cos 2\theta ;
doublecos1 applies the same rule, but direcly to cos 2\theta */
/* The following four operations are not implemented */
OP(factorsinplussin) /* sin x + sin y = 2 sin (1/2)(x+y) cos (1/2)(x-y) */
OP(factorsinminussin) /* sin x - sin y = 2 cos (1/2)(x+y) sin (1/2)(x-y) */
OP(factorcospluscos) /* cos x + cos y = 2 cos (1/2)(x+y) cos (1/2)(x-y) */
OP(factorcosminuscos) /* cos x - cos y = -2 sin (1/2)(x+y) sin (1/2)(x-y) */
OP(secrule) /* sec x = 1 / cos x */
OP(cscrule) /* csc x = 1 / sin x */
OP(cottotan) /* cot x = 1/tan x */
OP(tanrule) /* tan x = sin x / cos x */
OP(tanrule2) /* sin x / cos x = tan x (not used in auto mode) */
OP(secrule2) /* 1/cos x = sec x */
OP(cscrule2) /* 1/sin x = csc x */
OP(tanrecip) /* 1/ tan x = cot x */
OP(tanrecip2) /* 1/ tan x = cos x/ sin x */
OP(cotrecip) /* 1/cot x = tan x */
OP(cotrecip2) /* 1/cot x = sin x / cos x */
OP(secrecip) /* 1/sec x = cos x */
OP(cscrecip) /* 1/csc x = sin x */
OP(cotrule2) /* cos x / sin x = cot x */
OP(costosec) /* cos x = 1/sec x */
OP(sintocsc) /* sin x = 1/csc x */
OP(tantodenom) /* tan x = 1/cot x */
OP(cottosincos) /* cot x = cos x / sin x */
OP(cottocscsec) /* cot x = csc x / sec x */
OP(doublesin) /* sin 2\theta = 2 sin \theta cos \theta */
OP(reversedoublesin) /* sin x cos x = (1/2)sin 2x */
OP(reversedoublesin2) /* 2 sin x cos x = sin 2x */
OP(reversedoublecos1) /* sin^2 x - cos^2 s = cos 2x */
OP(reversedoublecos2) /* 1 - 2 sin^2 \theta = cos(2\theta ) */
OP(reversedoublecos3) /* 2 cos^2 \theta - 1 = cos(2\theta ) */
OP(reversesinsq) /* 1-cos \theta = 2 sin^2(\theta /2) */
OP(doublecos1) /* cos 2\theta = cos^2 \theta - sin^2 \theta $ */
OP(doublecos2) /*cos 2\theta = 1 - 2 sin^2 \theta */
OP(doublecos3) /* cos 2\theta = 2 cos^2 \theta - 1*/
OP(sinsum) /* sin(u+v) = sin u cos v + cos u sin v */
OP(sindif) /* sin(u-v) = sin u cos v - cos u sin v */
OP(cossum) /* cos(u+v) = cos u cos v - sin u sin v */
OP(cosdif) /* cos(u-v)= cos u cos v + sin u sin v */
OP(tansum) /* tan(u+v) = (tan u + tan v)/ (1-tan u tan v) */
OP(tandif) /* tan(u+v) = (tan u - tan v)/ (1+tan u tan v) */
OP(doubletan) /* tan(2u) = (2 tan u)/(1-tan^2u) */
OP(cotsum)
OP(cotdif)
OP(doublecot)
OP(coseven) /* cos(-u) = cos u */
OP(sinodd) /* sin(-u) = -sin u */
OP(tanodd) /* tan(-u) = -tan u */
OP(cotodd) /* cot(-u) = -cot u */
OP(seceven) /* sec(-u) = sec u */
OP(cscodd) /* csc(-u) = - csc u */
OP(sinsqeven)
OP(cossqeven)
OP(tansqeven)
OP(cotsqeven)
OP(secsqeven)
OP(cscsqeven)
OP(sinperiodic) /* sin(u+2pi) = sin u */
OP(cosperiodic) /* cos(u+2pi) = cos u */
OP(tanperiodic) /* tan(u+pi) = tan u */
OP(cscperiodic) /* csc(u+2pi) = csc u */
OP(secperiodic) /* sec(u+2pi) = sec u */
OP(cotperiodic) /* cot(u+pi) = cot u */
OP(sinsqperiodic) /* sin^2(u+pi) = sin^2 u */
OP(cossqperiodic) /* cos^2(u+pi) = cos^2 u */
OP(secsqperiodic) /* sec^2(u+pi) = sec^2 u */
OP(cscsqperiodic) /* csc^2(u+pi) = csc^2 u */
OP(sinhalfperiod1) /* sin u = -sin(u-pi) */
OP(sinhalfperiod2) /* sin u = sin(pi-u) */
OP(coshalfperiod1) /* cos u = -cos(u-pi) */
OP(coshalfperiod2) /* cos u = -cos(pi-u) */
OP(decrementtrigarg) /*n\theta = (n-1)\theta + \theta */
OP(querytrigarg) /* n\theta = ?\theta +(n-?)\theta */
OP(triplesin) /* sin 3\theta = 3 sin \theta - 4 sin^3 \theta */
OP(triplecos) /* cos 3\theta = -3 cos \theta + 4 cos^3 \theta */
OP(expandsin) /* expand sin n\theta in sin \theta , cos \theta */
OP(expandcos) /* expand cos n\theta in sin \theta , cos \theta */
OP(costosin) /* cos(pi/2-\theta ) = sin \theta */
OP(sintocos) /* sin(pi/2-\theta ) = cos \theta */
OP(tantocot) /* tan(pi/2-\theta ) = cot \theta */
OP(seccomplement) /* sec(pi/2-\theta ) = csc \theta */
OP(csccomplement) /* csc(pi/2-\theta ) = sec \theta */
OP(cotcomplement) /* cot(pi/2-\theta ) = tan \theta */
OP(sintocos2)
OP(costosin2)
OP(tantocot2)
OP(cottotan2)
OP(sectocsc2)
OP(csctosec2)
OP(costosindeg) /* cos(90 \deg-\theta ) = sin \theta */
OP(sintocosdeg) /* sin(90 \deg-\theta ) = cos \theta */
OP(tantocotdeg) /* tan(90 \deg-\theta ) = cot \theta */
OP(seccomplementdeg) /* sec(90 \deg-\theta ) = csc \theta */
OP(csccomplementdeg) /* csc(90 \deg-\theta ) = sec \theta */
OP(cotcomplementdeg) /* cot(90 \deg-\theta ) = tan \theta */
OP(sintocos2deg)
OP(costosin2deg)
OP(tantocot2deg)
OP(cottotan2deg)
OP(sectocsc2deg)
OP(csctosec2deg)
OP(adddegrees)
OP(multdegrees)
OP(divdegrees)
OP(sinoddpower)
OP(cosoddpower)
OP(tanoddpower)
OP(secoddpower)
OP(cotoddpower)
OP(cscoddpower)
OP(sinsqhalf) /* sin^2(u/2) = (1-cos u)/2 */
OP(cossqhalf) /* cos^2(u/2) = (1+cos u)/2 */
OP(sinsqhalf2) /* sin^2(u) = (1-cos 2u)/2 */
OP(cossqhalf2) /* cos^2(u) = (1+cos 2u)/2 */
OP(sincossame) /* sin u cos u = (1/2) sin 2u */
OP(tanhalf1) /* tan(u/2) = sin u/(1+cos u) */
OP(tanhalf2) /* tan(u/2) = (1-cos u)/sin u */
OP(cothalf1) /* cot(\theta /2) = (1+cos \theta )/(sin \theta ) */
OP(cothalf2) /* cot(\theta /2) = sin \theta /(1-cos \theta ) */
OP(sinhalf1) /* sin(u/2) = \sqrt (1-cos u)/2 */
OP(sinhalf2) /* sin(u/2) = -\sqrt (1-cos u)/2 */
OP(coshalf1) /* cos(u/2) = \sqrt (1+cos u)/2 */
OP(coshalf2) /* cos(u/2) = -\sqrt (1+cos u)/2 */
OP(twicehalf) /* u = 2(u/2) */
OP(sincosop) /* sin x cos y = (1/2)[sin(x+y)+sin(x-y) */
OP(cossin) /* cos x sin y = (1/2)[sin(x+y)-sin(x-y) */
OP(sinsin) /* sin x sin y = (1/2)[cos(x-y)-cos(x+y) */
OP(coscos) /* cos x cos y = (1/2)[cos(x+y)+cos(x-y) */
OP(sin0) /* sin 0 = 0 */
OP(cos0) /* cos 0 = 1 */
OP(tan0) /* tan 0 = 1 */
OP(zeroesofsin) /* sin(k pi) = 0 */
OP(zeroesoftan) /* tan(k pi) = 0 */
OP(onesofcos) /* cos(2k pi) = 1 */
OP(mod360)
OP(mod2pi)
OP(sin90) /* angle is multiple of 90 \det */
OP(sin30) /* use 1-2-\sqrt 3 triangle */
OP(sin45) /* use 1-1-\sqrt 2 triangle */
OP(radtodeg) /* change radians to degrees */
OP(degtorad) /* change degrees to radians */
OP(combine3045) /* angle = a 30 \deg + b 45 \deg etc. */
OP(checknumerically)
OP(evalarccot)
OP(evalarcsec)
OP(evalarccsc)
OP(arcsinodd)
OP(arctanodd)
OP(arccosodd)
OP(sumofarctan) /* arctan x + arctan(1/x) = pi x/2|x| */
OP(sumofarcsin) /* arcsin x + arccos x = pi/2 (even if x is negative) */
OP(solvesin30)
OP(solvesin330)
OP(solvesin60)
OP(solvesin300)
OP(solvecos30)
OP(solvecos150)
OP(solvecos60)
OP(solvecos120)
OP(solvetan30)
OP(solvetan330)
OP(solvetan60)
OP(solvetan120)
OP(solvesin45)
OP(solvesin315)
OP(solvecos45)
OP(solvecos135)
OP(solvetan45)
OP(solvetan135)
OP(solvesin0)
OP(solvesin90)
OP(solvesin270)
OP(solvecos90)
OP(solvecos0)
OP(solvecos180)
OP(solvetan0)
OP(solvecot90)
OP(solvetan)
OP(solvecos)
OP(solvesin)
OP(solvesin2)
OP(periodicform)
OP(evalarcsin)
OP(evalarccos)
OP(evalarctan)
OP(rejectimpossiblesin)
OP(rejectimpossiblecos)
OP(sinsqtocossq)
OP(cossqtosinsq)
OP(tansqtosecsq)
OP(secsqtotansq)
OP(sumofsin)
OP(difofsin)
OP(trigsuminfraction)
OP(sumofcos)
OP(difofcos)
OP(eliminatesinsq)
OP(eliminatecossq)
OP(eliminatetansq)
OP(eliminatesecsq)
OP(factorbase)
OP(ssolveop)
OP(writeaspoly)
OP(sigmapoly)
OP(univariatepoly)
OP(monicpoly)
OP(tanasin)
OP(tanacos)
OP(tanatan)
OP(sinasin)
OP(sinacos)
OP(sinatan)
OP(cosasin)
OP(cosacos)
OP(cosatan)
OP(atantan)
OP(atantan2)
OP(acoscos)
OP(asinsin)
OP(secacos)
OP(secasin)
OP(secatan)
OP(cscsqminuscotsq) /* csc^2 u - cot^2 u = 1 */
OP(cotsquare1) /* cot^2 u + 1 = csc^2 u */
OP(cotsquare2) /* csc^2 u - 1 = csc^2 u */
OP(cscsqtocotsq) /* csc^2 u = cot^2 u + 1 */
OP(cotsqtocscsq) /* cot^2 u = csc^2 u - 1 */
OP(complexform) /* write in form x+yi */
OP(complexapart) /* (u+vi)/w = u/w+(v/w)i */
OP(sinsumrev) /* sin u cos v + cos u sin v = sin(u+v) */
OP(sindifrev) /* sin u cos v - cos u sin v = sin(u-v) */
OP(cossumrev) /* cos u cos v - sin u sin v = cos(u+v) */
OP(cosdifrev) /* cos u cos v + sin u sin v = cos(u-v) */
OP(tanhalf1rev) /* (sin \theta )/(1+cos \theta ) = tan(\theta /2) */
OP(tanhalf2rev) /* (1-cos \theta )/sin \theta = tan(\theta /2) */
OP(cothalf1rev) /* (1+cos \theta )/(sin \theta ) = cot(\theta /2) */
OP(cothalf2rev) /* sin \theta /(1-cos \theta ) = cot(\theta /2) */
OP(tansumrev) /* (tan u+tan v)/(1-tan u tan v) = tan(u+v) */
OP(tandifrev) /* (tan u-tan v)/(1+tan u tan v) = tan(u-v) */
OP(cotsumrev) /* (cot u cot v-1)/(cot u+cot v) = cot(u+v) */
OP(cotdifrev) /* (1+cot u cot v)/(cot v-cot u) = cot(u-v) */
OP(unitelogs) /* used only in auto mode */
OP(unitelns)
OP(unitelogs2)
OP(unitelns2)
int recip_aux(unsigned short,unsigned short,term, term *);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists