# WolfCube software and hardware

# Projects

WolfCalc is a C++ library with a simple goal in mind: it parses strings and evaluate its contents.
For example a string such as `"1+2"`

will output 3.

Of course, many more functions are implemented, for example, functions and constants are possible. Have a look at this code:

```
long double result = wolfcalc::evaluate("1+sin(p)")
printf("%Lf", result);
```

This will print 1.

Also, with this library you can add very easily your own functions and operators, just like this:

```
op *addition = //class op (operator)
{
"+", //the string of the operator
1, //its priority to other operators (0 is max)
OPERATOR { return p1 + p2; } //OPERATOR is a macro that defines the heading of a lambda function
//p1 and p2 are the two addends
//more information in the documentation
};
wolfcalc::op::add( addition );
```

The same thing goes for functions:

```
function *sine = //class function
{
"sin", //the string of the function
FUNCTION { return sinl(v[0]); } //FUNCTION is another macro just like OPERATOR
//v is the vector of the function arguments
//more information in the documentation
};
wolfcalc::function::add( sine );
```

You can download the library here