- Add Gradle management
- Package CASprzak into
core
,parsing
andcommandui
- Publish to Maven central repository
- Add the ability to perform various logarithm simplifications and expansions
- Add methods for simplification of various logarithm operations
- Add Legrende, Hermite, and Laguerre polynomials
- Add
LogInterface
andPowInterface
to generalizeLogb, Ln
andPow, Exp
respectively
- Rename various escape-related settings
- Update emails in
CODE_OF_CONDUCT.md
andCONTRIBUTING.md
to the 'ezkz' domain - New
defaults
subpackage created fordefaultFunctions
and other defaults - Default special constants are now stored in
Constant
through the private mapdefaultSpecialConstants
- Fix
Differential
comparison causingNullPointerException
s - Fix inputs like
sinner
being parsed to the variable\sinner
rather than a product - Fix inconsistent variable names in the tutorial
- Fix CASDemo automatically simplifying expressions in the SIMP section
- Fix
NullPointerException
caused by callinggetSpecialConstant
on a non-special string - Fix
reset
inKeywordInterface
not clearing the stored errorprevException
- Fix
TaylorSeries
returning polynomials of wrong degree specified
- Add 'v' to the version string of the
version
command - Add
v
alias forversion
in KeywordInterface
- Fix malformed whitespace in the
help
command - Fix expressions like
d/d\Gamma
causing parsing errors - Fix evaluation using
LaTeX
replacements such aseval 2\Gamma \Gamma=3
causing parsing errors
- Integer division (with
//
), modulo, lcm, and gcd operations - Floor, ceiling, rounding, and random operations
- New abstract classes for new integer operations
- Settings to enforce functions' domain and range when simplifying using inverse functions
- Array indexing to retrieve values from methods like
solve
- Make parsing errors more descriptive
- Port parsing to use operation maps rather than operation lists
- New test class for integer operations
- Many new exceptions for improved error handling
- Support for
_
inevaluate
(used aseval x^2 x=_
when_
is aDouble
) - Better handling of
ArrayIndexOutOfBoundsExceptions
in the keyword interface err
command to improve error reportingversion
commandreset
command
- Restrict variable and function names to a regex of valid names to improve multi-character name support
- Change
equals
to check if two functions are exactly equal and implementequalsSimplified
to check if they are equal when simplified - Make
substitute
/sub
more powerful in the keyword interface by allowing the substitution of multiple expressions simultaneously - Make
def
andsub
in automatically perform aminimalSimplify
- Move
SettingsParser
functionality directly toSettings
- Rename
SpecialFunction
toEndpointFunction
- Improve exit logic from all interfaces
- Fix
toInteger
error message using the wrong margin fromSettings
- Fix bad rounding in
ParsingTools.toInteger
andParsingTools.isAlmostInteger
- Fix the evaluation of several arctrig functions
- Fix parsing of non-escaped expressions with spaces such as
1 + sin(x)
- Fix
defconstant
not LaTeX-escaping constant names - Add an exception when user attempts to use nested quotes in keyword interface
- Fix division by decimals such as
1/.2
not working properly
- Fix properties not being read on launch for binaries
- Improves support for carriage returns
- Fix bug that caused CASDemo to exit on entry if it had been previously completed
- Make TaylorSeries use SingleVariableDefault and not "x"
- Storage of functions in an artificial data type
- Expression simplification
- Differentiation of functions
- Storing derivatives as new functions
- Evaluation of functions
- Various solver tools
- Finding zeroes of functions using Newton's or Halley's Method
- Finding the local maxima or minima of functions on a range
- Generating Taylor Series from functions
- Numerical integration via Simpson's rule
- Basic symbolic integration using only "derivative divides" substitution
- Parsing and storing infix expressions like
x^2-3y+sin(1/z)
- Command-line interface in
CommandUI
- Definition and storage of functions
- Evaluating, differentiating, and numerically integrating functions
- Solving for zeroes and extrema of functions
- Substituting stored functions into variables
- Generating taylor series of functions from a point
- Defining special constants
- Defining and removing variables
- Demo - to start the demo, run
CommandUI
and inputdemo