public Builder(@Nonnull IConstant iConstant) { this.name = iConstant.getName(); this.value = iConstant.getValue(); this.system = iConstant.isSystem(); this.description = iConstant.getDescription(); if (iConstant.isIdDefined()) { this.id = iConstant.getId(); } }
@Nonnull public static String toString(@Nonnull IConstant constant) { final Double doubleValue = constant.getDoubleValue(); if (doubleValue == null) { final String stringValue = constant.getValue(); if (!Strings.isEmpty(stringValue)) { return constant.getName() + " = " + stringValue; } else { return constant.getName(); } } else { return constant.getName() + " = " + doubleValue; } }
@Override public void copy(@Nonnull MathEntity that) { this.constant.copy(that); if (that instanceof IConstant) { this.description = ((IConstant) that).getDescription(); this.value = ((IConstant) that).getValue(); } if (that instanceof ExtendedConstant) { this.javaString = ((ExtendedConstant) that).javaString; } }
@Override public boolean apply(@Nullable IConstant constant) { if (constant != null) { if (localValue.equals(constant.getDoubleValue())) { if (!constant.getName().equals(Constants.PI_INV.getName())) { if (!constant.getName().equals(Constants.PI.getName()) || JsclMathEngine.getInstance().getAngleUnits() == AngleUnit.rad) { return true; } } } } return false; } });
final IConstant var = Locator.getInstance().getEngine().getVarsRegistry().get(varName); if (var != null) { if (!var.isDefined()) { undefinedVars.add(var); result.append(varName); offset = varName.length(); } else { final String value = var.getValue(); assert value != null; if (var.getDoubleValue() != null) {
@Override public String getDescription(@Nonnull String mathEntityName) { final IConstant var = get(mathEntityName); if (var != null && !var.isSystem()) { return var.getDescription(); } else { return super.getDescription(mathEntityName); } }
@Nonnull public static Set<Constant> getNotSystemConstants(@Nonnull Generic expression) { final Set<Constant> notSystemConstants = new HashSet<Constant>(); for (Constant constant : expression.getConstants()) { IConstant var = Locator.getInstance().getEngine().getVarsRegistry().get(constant.getName()); if (var != null && !var.isSystem() && !var.isDefined()) { notSystemConstants.add(constant); } } return notSystemConstants; }
@Override public boolean isInCategory(@Nonnull IConstant var) { return var.isSystem(); } },
public String toJava() { final IConstant constantFromRegistry = JsclMathEngine.getInstance().getConstantsRegistry().get(getName()); if (constantFromRegistry != null) { return constantFromRegistry.toJava(); } final StringBuilder result = new StringBuilder(); result.append(name); if (prime != 0) { if (prime <= PRIME_CHARS) result.append(underscores(prime)); else result.append("_").append(prime); } for (Generic subscript : subscripts) { result.append("[").append(subscript.integerValue().intValue()).append("]"); } return result.toString(); }
if (piInv != null && value.equals(piInv.getDoubleValue())) { constant = piInv; return constant.getName();
@Override public boolean isInCategory(@Nonnull IConstant var) { return !var.isSystem(); } };
public void copy(@Nonnull MathEntity o) { if (o instanceof IConstant) { final IConstant that = ((IConstant) o); this.name = that.getName(); this.value = that.getValue(); this.description = that.getDescription(); this.system = that.isSystem(); if (that.isIdDefined()) { this.id = that.getId(); } } else { throw new IllegalArgumentException("Trying to make a copy of unsupported type: " + o.getClass()); } }
public NumericWrapper(@Nonnull Constant constant) { final IConstant constantFromRegistry = JsclMathEngine.getInstance().getConstantsRegistry().get(constant.getName()); if (constantFromRegistry != null) { if (constantFromRegistry.getName().equals(Constants.I.getName())) { content = Complex.I; } else { if (constantFromRegistry.getValue() != null) { final Double value = constantFromRegistry.getDoubleValue(); if (value == null) { throw new ArithmeticException("Constant " + constant.getName() + " has invalid definition: " + constantFromRegistry.getValue()); } else { content = Real.valueOf(value); } } else { throw new ArithmeticException("Could not create numeric wrapper: constant in registry doesn't have specified value: " + constant.getName()); } } } else { throw new ArithmeticException("Could not create numeric wrapper: constant is not registered in constants registry: " + constant.getName()); } }