JUK1
AutoDifferentiation.hpp File Reference
#include <array>
#include <concepts>
#include <tuple>
#include <cmath>
#include <functional>
#include <iostream>
Include dependency graph for AutoDifferentiation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 AutoDifferentiation
 a namespace to hold the messiness of my auto-differentiator
 

Functions

template<typename ValType , size_t NumVars>
 AutoDifferentiation::requires (std::is_arithmetic< ValType >::value &&NumVars >=0) struct DiffVar
 
template<typename ValType , size_t NumVars, typename F1 , typename F2 >
 AutoDifferentiation::requires (std::is_arithmetic< ValType >::value &&NumVars >=0) const expr auto diffFunc(const DiffVar< ValType
 
 AutoDifferentiation::while (it1 !=toRet.diffVars.end() &&it2 !=arg.diffVars.end())
 
DiffVar< ValType, NumVars > AutoDifferentiation::toRet (derivEval)
 
template<typename ValType , size_t NumVars, typename OT >
 AutoDifferentiation::requires (std::is_arithmetic< ValType >::value &&NumVars >=0) &&(!std
 
DiffVar< ValType, NumVars > AutoDifferentiation::toRet (func(arg.var, exponent.var))
 
DiffVar< ValType, NumVars > AutoDifferentiation::toRet (funcResult)
 

Variables

template<typename RT , typename LT , typename OT >
concept AutoDifferentiation::MultipliableResult
 
template<typename RT , typename LT , typename OT >
concept AutoDifferentiation::AddableResult
 
template<typename RT , typename LT , typename OT >
concept AutoDifferentiation::SubtractableResult
 
template<typename RT , typename LT , typename OT >
concept AutoDifferentiation::DivisableResult
 
NumVars & AutoDifferentiation::arg
 
NumVars F1 AutoDifferentiation::func
 
NumVars F1 F2 AutoDifferentiation::deriv
 
auto AutoDifferentiation::it1 = toRet.diffVars.begin()
 
auto AutoDifferentiation::it2 = arg.diffVars.begin()
 
auto AutoDifferentiation::derivEval = deriv(arg.var)
 
return AutoDifferentiation::toRet
 
toRet AutoDifferentiation::var = derivEval
 
NumVars DiffVar< ValType, NumVars > AutoDifferentiation::exponent
 
auto AutoDifferentiation::it3 = exponent.diffVars.begin()