public ASTNode createFunction(final IParserFactory factory, final ASTNode argument) { return factory.createFunction(factory.createSymbol("Times"), factory.createInteger(-1), argument); // alternatively we can introduce a Minus operator. // see http://code.google.com/p/symja/issues/detail?id=36 // return factory.createFunction(factory.createSymbol("Minus"), argument); } }
/** * {@inheritDoc} Creates the function. */ @Override public ASTNode createFunction( final IParserFactory factory, final ASTNode argument ) { return factory.createFunction( factory.createSymbol( "Times" ), factory.createInteger( -1 ), argument ); } }
/** * Method Declaration. * * @return * @see */ private ASTNode getNumber(final boolean negative) throws SyntaxError { ASTNode temp = null; final Object[] result = getNumberString(); String number = (String) result[0]; final int numFormat = ((Integer) result[1]).intValue(); try { if (negative) { number = '-' + number; } if (numFormat < 0) { temp = fFactory.createDouble(number); } else { temp = fFactory.createInteger(number, numFormat); } } catch (final Throwable e) { throwSyntaxError("Number format error: " + number, number.length()); } getNextToken(); return temp; }
/** * {@inheritDoc} Creates the function. */ @Override public ASTNode createFunction( final IParserFactory factory, final ASTNode lhs, final ASTNode rhs ) { return factory.createFunction( factory.createSymbol( "Plus" ), lhs, factory.createFunction( factory.createSymbol( "Times" ), factory.createInteger( -1 ), rhs ) ); } }
/** * Method Declaration. * * @param negative the negative * @return the number * @throws SyntaxError the syntax error * @see */ private ASTNode getNumber( final boolean negative ) throws SyntaxError { ASTNode temp = null; final Object[] result = getNumberString(); String number = (String) result[0]; final int numFormat = ((Integer) result[1]).intValue(); try { if ( negative ) { number = '-' + number; } if ( numFormat < 0 ) { temp = fFactory.createDouble( number ); } else { temp = fFactory.createInteger( number, numFormat ); } } catch ( final Throwable e ) { throwSyntaxError( "Number format error: " + number, number.length() ); } getNextToken(); return temp; }
public ASTNode createFunction(final IParserFactory factory, final ASTNode lhs, final ASTNode rhs) { return factory.createFunction(factory.createSymbol("Plus"), lhs, factory.createFunction(factory.createSymbol("Times"), factory .createInteger(-1), rhs)); // alternatively we can introduce a Subtract operator. // see http://code.google.com/p/symja/issues/detail?id=36 // return factory.createFunction(factory.createSymbol("Subtract"), lhs, // rhs); } }
/** * {@inheritDoc} Creates the function. */ @Override public ASTNode createFunction( final IParserFactory factory, final ASTNode lhs, final ASTNode rhs ) { if ( rhs instanceof IntegerNode ) { if ( lhs instanceof IntegerNode ) { return new FractionNode( (IntegerNode) lhs, (IntegerNode) rhs ); } return factory.createFunction( factory.createSymbol( "Times" ), lhs, new FractionNode( IntegerNode.C1, (IntegerNode) rhs ) ); } return factory.createFunction( factory.createSymbol( "Times" ), lhs, factory.createFunction( factory.createSymbol( "Power" ), rhs, factory.createInteger( -1 ) ) ); } }
public ASTNode createFunction(final IParserFactory factory, final ASTNode lhs, final ASTNode rhs) { if (rhs instanceof IntegerNode) { if (lhs instanceof IntegerNode) { return new FractionNode((IntegerNode) lhs, (IntegerNode) rhs); } return factory.createFunction(factory.createSymbol("Times"), lhs, new FractionNode(IntegerNode.C1, (IntegerNode) rhs)); } return factory.createFunction(factory.createSymbol("Times"), lhs, factory.createFunction(factory.createSymbol("Power"), rhs, factory.createInteger(-1))); } }
if ( fToken == TT_DIGIT ) { countPercent = getIntegerNumber(); out.add( fFactory.createInteger( countPercent ) ); return out; out.add( fFactory.createInteger( -countPercent ) ); return out; slot.add( fFactory.createInteger( 1 ) ); slotSequencce.add( fFactory.createInteger( 1 ) );
if (fToken == TT_DIGIT) { countPercent = getIntegerNumber(); out.add(fFactory.createInteger(countPercent)); return out; out.add(fFactory.createInteger(-countPercent)); return out; slot.add(getNumber(false)); } else { slot.add(fFactory.createInteger(1)); slotSequencce.add(getNumber(false)); } else { slotSequencce.add(fFactory.createInteger(1));