private void registerDefaultSymbols() { registerSymbol(SymbolFactory.createConstant("PI", Math.PI)); registerSymbol(SymbolFactory.createConstant("E", Math.E)); registerSymbol(SymbolFactory.createConstant("NaN", Double.NaN)); }
private static void registerConstant(WritableNamespace namespace, final String symbolName, Object propertyValue) { final Class getterType = propertyValue.getClass(); if (getterType.equals(Double.class) || getterType.equals(Float.class)) { namespace.registerSymbol(SymbolFactory.createConstant(symbolName, ((Number) propertyValue).doubleValue())); } else if (getterType.equals(Byte.class) || getterType.equals(Short.class) || getterType.equals(Integer.class) || getterType.equals(Long.class)) { namespace.registerSymbol(SymbolFactory.createConstant(symbolName, ((Number) propertyValue).intValue())); } else if (getterType.equals(Boolean.class)) { namespace.registerSymbol( SymbolFactory.createConstant(symbolName, (Boolean) propertyValue)); } }
private Namespace createNamespace() { WritableNamespace namespace = BandArithmetic.createDefaultNamespace(sourceProducts, 0, new SourceProductPrefixProvider()); if (variables != null) { for (Variable variable : variables) { if (ProductData.isFloatingPointType(ProductData.getType(variable.type))) { Symbol symbol = SymbolFactory.createConstant(variable.name, Double.parseDouble(variable.value)); namespace.registerSymbol(symbol); } else if (ProductData.isIntType(ProductData.getType(variable.type))) { Symbol symbol = SymbolFactory.createConstant(variable.name, Long.parseLong(variable.value)); namespace.registerSymbol(symbol); } else if ("boolean".equals(variable.type)) { Symbol symbol = SymbolFactory.createConstant(variable.name, Boolean.parseBoolean(variable.value)); namespace.registerSymbol(symbol); } } } return namespace; }
final WritableNamespace namespace = BandArithmetic.createDefaultNamespace(products, defaultProductIndex); namespace.registerSymbol(SymbolFactory.createConstant(paramName.getValueAsText(), 0)); final Term term = new ParserImpl(namespace, false).parse(expression); if (!term.isB()) {