<commit_before># Mathie
## Description
Mathie is a mathematical expression framework. It creates expression graphs (http://gerritdrost.com/2013/09/mathematical-expression-graphs) and provides an easy way to interface with them. With Mathie you can set up a framework of expressions sharing variables and quickly recalculate their values while the variables change.
## Little boiler-plate!
Using annotations and some injection code, Mathie makes it possible to use expressions in a class without writing lots of boilerplate code.
## Quick
Mathie's focus is quick (re-)evaluation, not fast parsing(although that's still pretty quick as well).
## Extendable
Need a function or operator not implemented? You can easily extend Mathie to do so!
# Examples
## Bare java
```java
public class MathieTest {

	public MathieTest() {
		ExpressionEnvironment t = new ExpressionEnvironment();

		Expression e = t.getExpression("2*x");

		// when variables are initialized, they are set to 1.0
		System.out.println(e);

		// let's get that variable object
		Variable x = t.getVariable("x");
		x.set(5.0);
<commit_msg>More readme tweaking<commit_after># Mathie
## Description
Mathie is a mathematical expression framework. It creates expression graphs (http://gerritdrost.com/2013/09/mathematical-expression-graphs) and provides an easy way to interface with them. With Mathie you can set up a framework of expressions sharing variables and quickly recalculate their values while the variables change.
### Little boiler-plate!
Using annotations and some injection code, Mathie makes it possible to use expressions in a class without writing lots of boilerplate code.
### Quick
Mathie's focus is quick (re-)evaluation, not fast parsing(although that's still pretty quick as well).
### Extendable
Need a function or operator not implemented? You can easily extend Mathie to do so!
# Examples
## Bare java
```java
public class MathieTest {

	public MathieTest() {
		ExpressionEnvironment t = new ExpressionEnvironment();

		Expression e = t.getExpression("2*x");

		// when variables are initialized, they are set to 1.0
		System.out.println(e);

		// let's get that variable object
		Variable x = t.getVariable("x");
		x.set(5.0);

{'fraction_non_alphanumeric': 0.08001808318264014, 'fraction_numerical': 0.009945750452079566, 'mean_word_length': 4.718346253229974, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2027149', 'n_tokens_mistral': 617, 'n_tokens_neox': 558, 'n_words': 270}