https://github.com/liebranca/eljabr
https://github.com/liebranca/eljabr
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/liebranca/eljabr
- Owner: Liebranca
- License: gpl-3.0
- Created: 2023-12-09T23:09:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-13T19:41:17.000Z (over 1 year ago)
- Last Synced: 2025-02-14T19:20:21.395Z (3 months ago)
- Language: Perl
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: docs/README.md
Awesome Lists containing this project
README
# ELJABR
Custom classes for working with algebraic expressions.
# DEPS
- [avtomat](https://github.com/Liebranca/avtomat)
# SETUP
```bash
cd $ARPATH
git clone https://github.com/Liebranca/eljabr
eljabr/install.pl
eljabr/avto
```That will build the project into `$ARPATH/lib/eljabr/`.
# CHANGELOG
### v0.00.7b
- Fixed mistake in `*::con::ELEM_RE` that would consider capturing variable multipliers but not variables when applying distributive.
- Fixed mistake in `*::expr::_tex` that would sometimes turn negative variables positive when substracting from a constant.
### v0.00.6b
- Fixed mistake in `*::con` regexes `NUM_RE`, `VAR_RE` and `ZEROTIMES_RE` that caused `|X| lt 1` variable terms to be filtered out as a zero.
- Added `*::con::FPRES` global for setting decimal precision; fractional terms clamp to this settable number.
- Value of `*::con::EPS` is no longer read-only; it defaults to `1e-*::con::FPRES` and can be manually set.
- `*::import` method accepts `fpres` option for setting precision; `eps` for setting epsilon.
- `*::expr::distribute` no longer skips `1X` when the multiplier is implicit.
### v0.00.5b
- Fractional terms are now clamped to four decimals.
- Added `*::con::EPS` to do "loose" comparison between fractional terms rather than unviable strict equality.
- `*::expr::(combine|distribute)` initial support for multiplying and adding fractions.
- `*::plug` now correctly uses the first element in history array for solving.
- Added `*::check` for plugging and solving expressions.
### v0.00.4b
- Added `*::con::FRAC_RE` to detect terms with fractions.
- Added initial *barebones* support for clearing fractions with `*::over(1/x)`.
- `*::histc` no longer gets confused with fractional constants.
### v0.00.3b
- `*::expr` methods no longer run automatic `*::expr::update`.
- Running of `*::update` moved to `*::expr` wraps, ran by container.
- Wrapped `*::expr::update` adds a comment detailing the edit and pushes to a history array.
- `*::hist` method added for printing out container `*::update` history.
- `*::histc` for doing the same, but with colors ;>
### v0.00.2b
- Added `*::expr::over` method for term division as well as matching container wrapper.
- Simplified term-value extraction with `*::expr` guts `*::expr::_tex` and `*::expr::_texv` methods.
- `*::con::VAR` re now accounts for the variable multiplier.
### v0.00.1b
- Turned a literal scratch buffer into a repo.