/** * {@inheritDoc} */ @Override public void increment(final IExpr d) { value = F.eval(F.Plus(value, d)); n++; }
private IAST assurePlus(final IExpr expr) { if (expr.isPlus()) { return (IAST) expr; } // if expr is not of the form Plus[...], generate Plus[expr] return F.Plus(expr); }
@Override public IExpr mean(IAST dist) { IExpr[] minMax = minmax(dist); if (minMax != null) { // (max + min)/2 return F.Times(F.C1D2, F.Plus(minMax[0], minMax[1])); } return F.NIL; }
@Override public IExpr mean(IAST dist) { IExpr[] minMax = minmax(dist); if (minMax != null) { // (max + min)/2 return F.Times(F.C1D2, F.Plus(minMax[0], minMax[1])); } return F.NIL; }
public void reset() { this.row = F.List(); for (int i = 1; i < vars.size(); i++) { row.add(F.C0); } this.value = F.Plus(); this.equationType = LINEAR; }
public void reset() { this.row = F.List(); for (int i = 1; i < vars.size(); i++) { row.add(F.C0); } this.value = F.Plus(); this.equationType = LINEAR; }
@Override public IExpr mean(IAST dist) { if (dist.isAST1()) { // -1 + 1/n IExpr n = dist.arg1(); return F.Plus(F.CN1, F.Power(n, F.CN1)); } return F.NIL; }
public static void main(String[] args) { IExpr expr = F.Plus(F.x, F.Times(F.Pi, F.Sin(F.y))); TreeNode<String> tn1 = convert(expr); // Print: // +-Plus // +-x // +-Times // | +-Pi // | +-Sin // | +-y System.out.println(asciiDisplay(tn1)); }
@Override public IExpr evaluateArg1(final IExpr arg1) { if (isNegativeExpression(arg1)) { return Plus(ArcSin(Times(CN1, arg1)), Times(C1D2, Pi)); } return null; }
private IAST expandTimesPlus(final IExpr expr1, final IAST plusAST) { // expr*(a+b+c) -> expr*a+expr*b+expr*c final IAST pList = Plus(); for (int i = 1; i < plusAST.size(); i++) { pList.add(F.Times(expr1, plusAST.get(i))); } return pList; }
@Override public IExpr variance(IAST dist) { if (dist.isAST2()) { IExpr n = dist.arg1(); IExpr m = dist.arg2(); // m^2*(-Gamma(1 + 1/n)^2 + Gamma(1 + 2/n)) return F.Times(F.Sqr(m), F.Plus(F.Negate(F.Sqr(F.Gamma(F.Plus(F.C1, F.Power(n, -1))))), F.Gamma(F.Plus(F.C1, F.Times(F.C2, F.Power(n, -1)))))); } return F.NIL; }
public static IExpr bartlettWindow(IExpr x) { return // [$ Piecewise({{1 - 2*x, 0 <= x <= 1/2}, {1 + 2*x, Inequality(-(1/2), LessEqual, x, Less, 0)}}, 0) // $] F.Piecewise(F.List(F.List(F.Plus(F.C1, F.Times(F.CN2, x)), F.LessEqual(F.C0, x, F.C1D2)), F.List(F.Plus(F.C1, F.Times(F.C2, x)), F.And(F.LessEqual(F.CN1D2, x), F.Less(x, F.C0)))), F.C0); // $$; }
@Override default IExpr subtract(IExpr that) { if (that.isZero()) { return this; } EvalEngine engine = EvalEngine.get(); if (engine.isTogetherMode() && (this.isPlusTimesPower() || that.isPlusTimesPower())) { return engine.evaluate(F.Together(F.Plus(this, F.Times(F.CN1, that)))); } return engine.evaluate(F.Plus(this, F.Times(F.CN1, that))); }
private IAST expandTimesPlus(final IAST plusAST0, final IAST plusAST1) { // (a+b)*(c+d) -> a*c+a*d+b*c+b*d final IAST pList = Plus(); for (int i = 1; i < plusAST0.size(); i++) { plusAST1.args().map(pList, Functors.replace2nd(Times(plusAST0.get(i), F.Null))); } return pList; }
@Override public IExpr variance(IAST dist) { if (dist.isAST1()) { IExpr n = dist.arg1(); return F.Piecewise(F.List(F.List(F.Divide(n, F.Plus(F.CN2, n)), F.Greater(n, F.C2))), F.Indeterminate); } return F.NIL; }
@Override public IExpr mean(IAST dist) { if (dist.isAST2()) { IExpr n = dist.arg1(); IExpr m = dist.arg2(); return // [$ Piecewise({{m/(-2 + m), m > 2}}, Indeterminate) $] F.Piecewise(F.List(F.List(F.Times(F.Power(F.Plus(F.CN2, m), -1), m), F.Greater(m, F.C2))), F.Indeterminate); // $$; } return F.NIL; }
public Vector plus(final Vector that) { if (that.size() != fAst.size()) { throw new DimensionException("Vector#plus([" + fAst.size() + "],[" + that.size() + "])"); } AST resultAST = createAST(fAst.size() - 1); fAst.map(resultAST, that.fAst, new BinaryMap(F.Plus())); return new Vector(resultAST); }
public static IExpr blackmanHarrisWindow(IExpr x) { return // [$ Piecewise({{(35875 + 48829*Cos(2*Pi*x) + 14128*Cos(4*Pi*x) + 1168*Cos(6*Pi*x))/100000, -(1/2) <= x <= // 1/2}}, 0) // $] F.Piecewise(F.List(F.List( F.Times(F.QQ(1L, 100000L), F.Plus(F.ZZ(35875L), F.Times(F.ZZ(48829L), F.Cos(F.Times(F.C2, F.Pi, x))), F.Times(F.ZZ(14128L), F.Cos(F.Times(F.C4, F.Pi, x))), F.Times(F.ZZ(1168L), F.Cos(F.Times(F.C6, F.Pi, x))))), F.LessEqual(F.CN1D2, x, F.C1D2))), F.C0); // $$; }