14 ": does not support derivation for the delta dependency");
18 throw Exception (
"Numerical derivation of expression is not configured: define the node "
19 "providing the delta value, and choose a computation type.");
24 template class CWiseApply<MatrixLik, MatrixLik, TransitionFunction>;
26 template class CWiseAdd<double, std::tuple<double, double>>;
27 template class CWiseAdd<ExtendedFloat, std::tuple<ExtendedFloat, ExtendedFloat>>;
28 template class CWiseAdd<VectorLik, std::tuple<VectorLik, VectorLik>>;
29 template class CWiseAdd<RowLik, std::tuple<RowLik, RowLik>>;
30 template class CWiseAdd<MatrixLik, std::tuple<MatrixLik, MatrixLik>>;
31 template class CWiseAdd<TransitionFunction, std::tuple<TransitionFunction, TransitionFunction>>;
33 template class CWiseAdd<RowLik, MatrixLik>;
34 template class CWiseAdd<VectorLik, MatrixLik>;
35 template class CWiseAdd<DataLik, VectorLik>;
36 template class CWiseAdd<DataLik, RowLik>;
38 template class CWiseAdd<double, ReductionOf<double>>;
39 template class CWiseAdd<ExtendedFloat, ReductionOf<ExtendedFloat>>;
40 template class CWiseAdd<VectorLik, ReductionOf<VectorLik>>;
41 template class CWiseAdd<RowLik, ReductionOf<RowLik>>;
42 template class CWiseAdd<MatrixLik, ReductionOf<MatrixLik>>;
43 template class CWiseAdd<TransitionFunction, ReductionOf<TransitionFunction>>;
45 template class CWiseMean<VectorLik, ReductionOf<VectorLik>, ReductionOf<double>>;
46 template class CWiseMean<RowLik, ReductionOf<RowLik>, ReductionOf<double>>;
47 template class CWiseMean<MatrixLik, ReductionOf<MatrixLik>, ReductionOf<double>>;
48 template class CWiseMean<double, ReductionOf<double>, ReductionOf<double>>;
49 template class CWiseMean<ExtendedFloat, ReductionOf<ExtendedFloat>, ReductionOf<double>>;
51 template class CWiseMean<VectorLik, ReductionOf<VectorLik>, Eigen::VectorXd>;
52 template class CWiseMean<RowLik, ReductionOf<RowLik>, Eigen::VectorXd>;
53 template class CWiseMean<MatrixLik, ReductionOf<MatrixLik>, Eigen::VectorXd>;
54 template class CWiseMean<VectorLik, ReductionOf<VectorLik>, Eigen::RowVectorXd>;
55 template class CWiseMean<RowLik, ReductionOf<RowLik>, Eigen::RowVectorXd>;
56 template class CWiseMean<MatrixLik, ReductionOf<MatrixLik>, Eigen::RowVectorXd>;
58 template class CWiseSub<double, std::tuple<double, double>>;
59 template class CWiseSub<ExtendedFloat, std::tuple<ExtendedFloat, ExtendedFloat>>;
60 template class CWiseSub<VectorLik, std::tuple<VectorLik, VectorLik>>;
61 template class CWiseSub<RowLik, std::tuple<RowLik, RowLik>>;
62 template class CWiseSub<MatrixLik, std::tuple<MatrixLik, MatrixLik>>;
64 template class CWiseSub<VectorLik, std::tuple<VectorLik, DataLik>>;
65 template class CWiseSub<RowLik, std::tuple<RowLik, DataLik>>;
67 template class CWiseMul<double, std::tuple<double, double>>;
68 template class CWiseMul<double, std::tuple<double, uint>>;
69 template class CWiseMul<ExtendedFloat, std::tuple<ExtendedFloat, ExtendedFloat>>;
70 template class CWiseMul<ExtendedFloat, std::tuple<ExtendedFloat, uint>>;
71 template class CWiseMul<VectorLik, std::tuple<VectorLik, VectorLik>>;
72 template class CWiseMul<RowLik, std::tuple<RowLik, RowLik>>;
73 template class CWiseMul<MatrixLik, std::tuple<MatrixLik, MatrixLik>>;
75 template class CWiseMul<RowLik, std::tuple<RowLik, Eigen::RowVectorXi>>;
76 template class CWiseMul<VectorLik, std::tuple<VectorLik, Eigen::RowVectorXi>>;
77 template class CWiseMul<VectorLik, std::tuple<DataLik, VectorLik>>;
78 template class CWiseMul<RowLik, std::tuple<DataLik, RowLik>>;
79 template class CWiseMul<MatrixLik, std::tuple<DataLik, MatrixLik>>;
80 template class CWiseMul<TransitionFunction, std::tuple<TransitionFunction, TransitionFunction>>;
81 template class CWiseMul<TransitionFunction, std::tuple<double, TransitionFunction>>;
83 template class CWiseMul<double, ReductionOf<double>>;
84 template class CWiseMul<ExtendedFloat, ReductionOf<ExtendedFloat>>;
85 template class CWiseMul<VectorLik, ReductionOf<VectorLik>>;
86 template class CWiseMul<RowLik, ReductionOf<RowLik>>;
87 template class CWiseMul<MatrixLik, ReductionOf<MatrixLik>>;
89 template class CWiseNegate<double>;
90 template class CWiseNegate<ExtendedFloat>;
91 template class CWiseNegate<VectorLik>;
92 template class CWiseNegate<RowLik>;
93 template class CWiseNegate<MatrixLik>;
95 template class CWiseInverse<double>;
96 template class CWiseInverse<ExtendedFloat>;
97 template class CWiseInverse<VectorLik>;
98 template class CWiseInverse<RowLik>;
99 template class CWiseInverse<MatrixLik>;
101 template class CWiseLog<double>;
102 template class CWiseLog<ExtendedFloat>;
103 template class CWiseLog<VectorLik>;
104 template class CWiseLog<RowLik>;
105 template class CWiseLog<MatrixLik>;
107 template class CWiseExp<double>;
108 template class CWiseExp<ExtendedFloat>;
109 template class CWiseExp<VectorLik>;
110 template class CWiseExp<RowLik>;
111 template class CWiseExp<MatrixLik>;
113 template class CWiseConstantPow<double>;
114 template class CWiseConstantPow<ExtendedFloat>;
115 template class CWiseConstantPow<VectorLik>;
116 template class CWiseConstantPow<RowLik>;
117 template class CWiseConstantPow<MatrixLik>;
119 template class ScalarProduct<DataLik, VectorLik, VectorLik>;
120 template class ScalarProduct<DataLik, RowLik, RowLik>;
122 template class LogSumExp<DataLik, VectorLik, Eigen::VectorXd>;
123 template class LogSumExp<DataLik, RowLik, Eigen::RowVectorXd>;
125 template class SumOfLogarithms<VectorLik>;
126 template class SumOfLogarithms<RowLik>;
128 template class MatrixProduct<ExtendedFloatRowVectorXd, Eigen::RowVectorXd, ExtendedFloatMatrixXd>;
129 template class MatrixProduct<Eigen::RowVectorXd, Eigen::RowVectorXd, Eigen::MatrixXd>;
130 template class MatrixProduct<MatrixLik, Eigen::MatrixXd, MatrixLik>;
131 template class MatrixProduct<MatrixLik, Transposed<Eigen::MatrixXd>,
MatrixLik>;
133 template class ShiftDelta<double>;
134 template class ShiftDelta<VectorLik>;
135 template class ShiftDelta<RowLik>;
136 template class ShiftDelta<MatrixLik>;
138 template class CombineDeltaShifted<double>;
139 template class CombineDeltaShifted<VectorLik>;
140 template class CombineDeltaShifted<RowLik>;
141 template class CombineDeltaShifted<MatrixLik>;
142 template class CombineDeltaShifted<TransitionFunction>;
Defines the basic types of data flow nodes.
ExtendedFloatMatrixXd MatrixLik
void failureDeltaNotDerivable(const std::type_info &contextNodeType)
std::string prettyTypeName(const std::type_info &ti)
Debug: return a readable name for a C++ type descriptor (from typeid operator).
void failureNumericalDerivationNotConfigured()