Sindbad~EG File Manager

Current Path : /usr/home/beeson/MathXpert/
Upload File :
Current File : /usr/home/beeson/MathXpert/trig.h

/* 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