/** Implements <i>(exp(f(x)))' = exp(f(x)) * f'(x)</i>. */ public OpNode getDerivative(String variable) { if (getMaxAbsPowerOfVariable(variable) == 0) return new NumberOp(m_numberClass, 0); OpNode unchangedExpOp = new ExpOp(m_numberClass); OpNode derivedChild = m_children[0].getDerivative(variable); unchangedExpOp.setChildren(new OpNode[] {(OpNode) m_children[0].clone()}); MultOp derivedExpOp = new MultOp(m_numberClass); derivedExpOp.setChildren(new OpNode[] {unchangedExpOp, derivedChild}); return deriveNode(derivedExpOp); }
public RelNode getNodeDefinedRel(OpNode operand) { return new AndRel( new RelNode[] { new SimpleRel(new Operation((OpNode) operand.clone()), "-1", Relation.GREATER_OR_EQUAL), new SimpleRel(new Operation((OpNode) operand.clone()), "1", Relation.LESS_OR_EQUAL) }); }
public RelNode getZeroRel(OpNode operand) { return new SimpleRel(new Operation((OpNode) operand.clone()), Relation.EQUAL); }
public RelNode getZeroRel(OpNode operand) { return operand.getZeroRel(); }
public RelNode getMonotonicIncreasingRel(OpNode operand) { return operand.getMonotonicIncreasingRel(); }