Integration toolbox.

Diffusion expolit (master)

# Recent Commits

Recent Commits

Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|

5f68da4ee972 | frerot | detecting compiler from environment | Mar 2 2021 | ||||

a31a8ecdb3cd | frerot | updated copyright year | Feb 17 2021 | ||||

0cadc786764d | frerot | updated copyright years | May 5 2020 | ||||

9626661908d6 | frerot | removed Real as hardcoded type in main include | Jul 24 2019 | ||||

50c9ad3fc44c | frerot | compiling with clang | Feb 20 2019 | ||||

8e9487524e88 | frerot | made compatible with g++ 6 and c++14 | Jan 11 2019 | ||||

68316bd8d613 | frerot | removed warnings | Dec 20 2018 | ||||

c840265d2b99 | frerot | added benchmark for substitution integral | Dec 19 2018 | ||||

494e0422c6e3 | frerot | added some ignores | Dec 19 2018 | ||||

4093d6b1e050 | frerot | fixed integration with litterals | Dec 19 2018 | ||||

bcc1c649b320 | frerot | simpler substitution | Dec 18 2018 | ||||

67f3e97c607f | frerot | implemented differentiation of litterals | Dec 18 2018 | ||||

d590be3b61b1 | frerot | added litteral type for substitution | Dec 18 2018 | ||||

563e78bff9ec | frerot | added simple benchmark of integral evaluation | Dec 18 2018 | ||||

b8f48ca48ddd | frerot | added downcast to expression | Dec 17 2018 |

# README.md

README.md

## ExPolIt - Exponential/Polynomial Integration

This small header library is meant to integrate functions of the form `exp(qx)*p(x)` where `p` is a polynomial of any order. The code is designed so that the construction of the expression resulting from the integral is done at compile-time. There are however two limitations:

- if you use a coefficient type for the polynomial that cannot serve as a constant expression (
`constexpr`); - if the resulting expression contains an exponential, it cannot be numerically evaluated at compile time. However the integral expression is still built at compile time (provided the coefficient type can serve as
`constexpr`).

It's a header only library, so just put the `include` directory in your include path and make sure your compiler is C++17 compliant. You can compile tests in the `tests` directory with SCons and GoogleTest.

### License

This program is licensed under the GNU General Public License v3. A copy of the license is provided with the code.

c4science · Help