Skip to content
Snippets Groups Projects
Commit 1dce8766 authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

Bugfix: avoid infinite recursion

[[Imported from SVN: r9399]]
parent dc329fb5
No related branches found
No related tags found
No related merge requests found
#ifndef DUNE_GFE_ADOLC_NAMESPACE_INJECTIONS_HH #ifndef DUNE_GFE_ADOLC_NAMESPACE_INJECTIONS_HH
#define DUNE_GFE_ADOLC_NAMESPACE_INJECTIONS_HH #define DUNE_GFE_ADOLC_NAMESPACE_INJECTIONS_HH
adouble min_hack(const adouble& a, const adouble& b) {
return min(a,b);
}
adouble max_hack(const adouble& a, const adouble& b) {
return max(a,b);
}
adouble sqrt_hack(adouble a) { adouble sqrt_hack(adouble a) {
return sqrt(a); return sqrt(a);
} }
adouble abs_hack(adouble a) {
return fabs(a);
}
adouble pow_hack(const adouble& a, const adouble& b) { adouble pow_hack(const adouble& a, const adouble& b) {
return pow(a,b); return pow(a,b);
} }
...@@ -13,14 +25,27 @@ adouble pow_hack(const adouble& a, double b) { ...@@ -13,14 +25,27 @@ adouble pow_hack(const adouble& a, double b) {
return pow(a,b); return pow(a,b);
} }
adouble sin_hack(adouble a) {
return sin(a);
}
adouble cos_hack(adouble a) {
return cos(a);
}
adouble acos_hack(adouble a) {
return acos(a);
}
namespace std namespace std
{ {
adouble min(adouble a, adouble b) { adouble min(adouble a, adouble b) {
return fmin(a,b); return min_hack(a,b);
} }
adouble max(adouble a, adouble b) { adouble max(adouble a, adouble b) {
return fmax(a,b); return max_hack(a,b);
} }
adouble sqrt(adouble a) { adouble sqrt(adouble a) {
...@@ -28,13 +53,9 @@ namespace std ...@@ -28,13 +53,9 @@ namespace std
} }
adouble abs(adouble a) { adouble abs(adouble a) {
return fabs(a); return abs_hack(a);
} }
// adouble fabs(adouble a) {
// return fabs(a);
// }
adouble pow(const adouble& a, const adouble& b) { adouble pow(const adouble& a, const adouble& b) {
return pow_hack(a,b); return pow_hack(a,b);
} }
...@@ -44,15 +65,15 @@ namespace std ...@@ -44,15 +65,15 @@ namespace std
} }
adouble sin(adouble a) { adouble sin(adouble a) {
return sin(a); return sin_hack(a);
} }
adouble cos(adouble a) { adouble cos(adouble a) {
return cos(a); return cos_hack(a);
} }
adouble acos(adouble a) { adouble acos(adouble a) {
return acos(a); return acos_hack(a);
} }
bool isnan(adouble a) { bool isnan(adouble a) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment