lib/integral.js
function(expr, context) {
      if(expr.type === 'OperatorNode' && expr.op === '^') {
        if(context.isConstant(expr.args[0]) && expr.args[1].equals(context.variable)) {
          return new OperatorNode('/', 'divide', [
            expr,
            new FunctionNode('log', [expr.args[0]])
          ]);
        }
      }
    }
function(expr, context) {
      if(expr.type === 'OperatorNode' && expr.op === '^') {
        if(context.isConstant(expr.args[0]) && expr.args[1].equals(context.variable)) {
          return new OperatorNode('/', 'divide', [
            expr,
            new FunctionNode('log', [expr.args[0]])
          ]);
        }
      }
    }
function ( expr , context ) { if ( expr . type === 'OperatorNode' && expr . op === '^' ) { if ( context . isConstant ( expr . args [ 0 ] ) && expr . args [ 1 ] . equals ( context . variable ) ) { return new OperatorNode ( '/' , 'divide' , [ expr , new FunctionNode ( 'log' , [ expr . args [ 0 ] ] ) ] ) ; } } }
integral(c^x, x) = c^x / log(c)
integral ( c^x x ) = c^x / log ( c )