docs/notes/autodiff_status.md
The listings might be incomplete. If something is missing, it is not supported. Algorithmic differentiation is applied via the autodiff metafunction. Maybe the planned features are added in 2026. Do not wait for them. The autodif feature is a proof of concept implementation.
** Reverse mode algorithmic differentiation is very experimental. Expect it to break. **
| Description | Status forward | Status reverse |
|---|---|---|
| Type definitions (structures) | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Member values | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Member functions | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Function arguments | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Function return arguments | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Addition and multiplication | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Prefix addition and subtraction | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Static member function calls | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Member function calls | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Function calls | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Math functions (sin, cos, exp, sqrt) | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| If else | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Return statement | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Intermediate variables | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Passive variables | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| While loop | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| Do while loop | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> |
| For loop | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> |
| Template arguments | <span style="color:gray">Planned</span> | <span style="color:gray">Planned</span> |
| Lambda functions | <span style="color:gray">Planned</span> | <span style="color:gray">Planned</span> |