1 #ifndef CPPAD_CG_LANG_LATEX_CUSTOM_VAR_NAME_GEN_INCLUDED 2 #define CPPAD_CG_LANG_LATEX_CUSTOM_VAR_NAME_GEN_INCLUDED 33 const std::vector<std::string> depNames_;
35 const std::vector<std::string> indepNames_;
39 const std::vector<std::string>& indepNames,
40 const std::string& depName =
"y",
41 const std::string& indepName =
"x",
42 const std::string& tmpName =
"v",
43 const std::string& tmpArrayName =
"\\mathbf{a}",
44 const std::string& tmpSparseArrayName =
"\\mathbf{s}") :
47 indepNames_(indepNames) {
53 if (index < depNames_.size() && !depNames_[index].empty()) {
54 return depNames_[index];
62 size_t index =
id - 1;
63 if (index < indepNames_.size() && !indepNames_[index].empty()) {
64 return indepNames_[index];
73 size_t idSecond)
override {
74 size_t index1 = idFirst - 1;
75 size_t index2 = idSecond - 1;
77 if ((index1 > indepNames_.size() || indepNames_[index1].empty()) &&
78 (index2 > indepNames_.size() || indepNames_[index2].empty())) {
79 return index1 + 1 == index2;
88 size_t id2)
override {
89 size_t index1 = id1 - 1;
90 size_t index2 = id2 - 1;
92 return (index1 > indepNames_.size() || indepNames_[index1].empty()) &&
93 (index2 > indepNames_.size() || indepNames_[index2].empty());
std::string generateIndependent(const OperationNode< Base > &independent, size_t id) override
std::string generateDependent(size_t index) override
std::string generateDependent(size_t index) override
std::string generateIndependent(const OperationNode< Base > &independent, size_t id) override
bool isConsecutiveInIndepArray(const OperationNode< Base > &indepFirst, size_t idFirst, const OperationNode< Base > &indepSecond, size_t idSecond) override
bool isInSameIndependentArray(const OperationNode< Base > &indep1, size_t id1, const OperationNode< Base > &indep2, size_t id2) override