Jep

Java math expression parser
Download

Jep Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Shareware
  • Price:
  • USD 550.00 | BUY the full version
  • Publisher Name:
  • Singular Systems
  • Publisher web site:
  • http://www.singularsys.com/index.html
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 2.2 MB

Jep Tags


Jep Description

Java math expression parser Jep is a Java library for parsing and evaluating mathematical expressions. Jep allows users to enter an arbitrary formula as a string, and instantly evaluate it. Jep supports user defined constants, functions and variables. A number of common mathematical functions and constants are included. Here are some key features of "Jep": · Small size (only 210KB as jar archive) · Fast evaluation · High precision using BigDecimals · Includes common math functions and operators · Supports Boolean expressions · Extendable and configurable architecture · Support for strings, vectors and complex numbers · Support for implicit multiplication · Allows declared or undeclared variables · Java 1.5 compatible · Supports Unicode characters · Extensive documentation · Includes JavaCC grammar from which the main classes are generated Requirements: · Java What's New in This Release: Core Jep changes: · New default evaluator FastEvaluator which achieves a 2x-3x speed improvement using the new interfaces. StandardEvaluator is still available for compatibility purposes. · New constructor Jep(JepComponent... comp) which makes it easier to construct Jep with a specific set of components. For example new Jep(new StandardConfigurableParser()). · New version of the operator table OperatorTable2 which uses enums to specify keys. Methods that are common to all operator tables are declared in a new interface OperatorTableI. Note that Jep.getOperatorTable() now returns OperatorTableI which may break some code. · Node now defines default implementations for getName(), getValue() making it easier to extract values without a cast. · Node now defines methods setHook(), getHook() allowing annotation of nodes with key-value pairs. · Unit tests converted to use JUnit 4. Functions: · New functions Switch, Case, Left, Right, Mid, Substring, LowerCase, UpperCase, Length, Trim. · New base classes UnaryFunction, BinaryFunction, NaryFunction, and NaryBinaryFunction simplifying interface for defining user functions. For example, a BinaryFunction just needs to define an Object eval(Object l, Object r) method. · New exception class IllegalParameterException sub-classing EvaluationException provides standardised error messages, for the common case of wrong arguments being passed to user functions. · PostfixMathCommand defines convenience methods such as int asInt() to convert arguments to a specified type. · New optional functions IsNull, IsNaN, IsInfinite, IsType for testing the value and type of arguments. These are not included by default. Examples: · Enhanced FunctionPlotter applet allowing zooming and translation. · New ParametrisedPlotter and PolarPlotter. · New SpeedTest application for comparing different configurations.


Jep Related Software