Search in sources :

Example 1 with LogIntegral

use of edu.jas.integrate.LogIntegral in project symja_android_library by axkr.

the class JASConvert method integral2Expr.

/**
	 * Convert a jas <code>Integral</code> into a matheclipse expression
	 * 
	 * @param integral
	 *            the JAS Integral
	 * @return
	 */
public IAST integral2Expr(Integral<BigRational> integral) {
    IAST sum = F.Plus();
    GenPolynomial<BigRational> pol = integral.pol;
    List<GenPolynomial<BigRational>> rational = integral.rational;
    List<LogIntegral<BigRational>> logarithm = integral.logarithm;
    if (!pol.isZERO()) {
        sum.append(rationalPoly2Expr(pol));
    }
    if (rational.size() != 0) {
        int i = 0;
        while (i < rational.size()) {
            sum.append(F.Times(rationalPoly2Expr(rational.get(i++)), F.Power(rationalPoly2Expr(rational.get(i++)), F.CN1)));
        }
    }
    if (logarithm.size() != 0) {
        for (LogIntegral<BigRational> pf : logarithm) {
            sum.append(logIntegral2Expr(pf));
        }
    }
    return sum;
}
Also used : GenPolynomial(edu.jas.poly.GenPolynomial) BigRational(edu.jas.arith.BigRational) IAST(org.matheclipse.core.interfaces.IAST) LogIntegral(edu.jas.integrate.LogIntegral)

Example 2 with LogIntegral

use of edu.jas.integrate.LogIntegral in project symja_android_library by axkr.

the class JASConvert method quotIntegral2Expr.

/**
	 * Convert a jas <code>Integral</code> into a matheclipse expression
	 * 
	 * @param integral
	 *            the JAS Integral
	 * @return
	 */
public IAST quotIntegral2Expr(QuotIntegral<BigRational> integral) {
    IAST sum = F.Plus();
    List<Quotient<BigRational>> rational = integral.rational;
    List<LogIntegral<BigRational>> logarithm = integral.logarithm;
    if (rational.size() != 0) {
        Quotient<BigRational> qTemp;
        GenPolynomial<BigRational> qNum;
        GenPolynomial<BigRational> qDen;
        for (int i = 0; i < rational.size(); i++) {
            qTemp = rational.get(i);
            qNum = qTemp.num;
            qDen = qTemp.den;
            sum.append(F.Times(rationalPoly2Expr(qNum), F.Power(rationalPoly2Expr(qDen), F.CN1)));
        }
    }
    if (logarithm.size() != 0) {
        for (LogIntegral<BigRational> pf : logarithm) {
            sum.append(logIntegral2Expr(pf));
        }
    }
    return sum;
}
Also used : BigRational(edu.jas.arith.BigRational) IAST(org.matheclipse.core.interfaces.IAST) LogIntegral(edu.jas.integrate.LogIntegral) Quotient(edu.jas.ufd.Quotient)

Aggregations

BigRational (edu.jas.arith.BigRational)2 LogIntegral (edu.jas.integrate.LogIntegral)2 IAST (org.matheclipse.core.interfaces.IAST)2 GenPolynomial (edu.jas.poly.GenPolynomial)1 Quotient (edu.jas.ufd.Quotient)1