Skip to content
Snippets Groups Projects
Commit bab69dd1 authored by Christian Engwer's avatar Christian Engwer
Browse files

fix for ambiguous operator+

[[Imported from SVN: r4812]]
parent 3b89852e
No related branches found
No related tags found
No related merge requests found
......@@ -894,22 +894,6 @@ namespace Dune {
return *this;
}
#ifndef DUNE_EXPRESSIONTEMPLATES
//! Binary vector addition
FieldVector operator+ (const FieldVector& b) const
{
FieldVector z = *this;
return (z+=b);
}
//! Binary vector subtraction
FieldVector operator- (const FieldVector& b) const
{
FieldVector z = *this;
return (z-=b);
}
#endif
//! vector space add scalar to each comp
FieldVector& operator+= (const K& k)
{
......@@ -945,7 +929,6 @@ namespace Dune {
return *this;
}
//===== Euclidean scalar product
//! scalar product
......@@ -1021,6 +1004,57 @@ namespace Dune {
K p;
};
#ifndef DUNE_EXPRESSIONTEMPLATES
//! Binary vector addition
template<class K>
inline FieldVector<K,1> operator+ (const FieldVector<K,1>& a, const FieldVector<K,1>& b)
{
FieldVector<K,1> z = a;
return (z+=b);
}
//! Binary vector subtraction
template<class K>
inline FieldVector<K,1> operator- (const FieldVector<K,1>& a, const FieldVector<K,1>& b)
{
FieldVector<K,1> z = a;
return (z-=b);
}
//! Binary addition, when using FieldVector<K,1> like K
template<class K>
inline FieldVector<K,1> operator+ (const FieldVector<K,1>& a, const K b)
{
FieldVector<K,1> z = a;
return (z[0]+=b);
}
//! Binary subtraction, when using FieldVector<K,1> like K
template<class K>
inline FieldVector<K,1> operator- (const FieldVector<K,1>& a, const K b)
{
FieldVector<K,1> z = a;
return (z[0]-=b);
}
//! Binary addition, when using FieldVector<K,1> like K
template<class K>
inline FieldVector<K,1> operator+ (const K a, const FieldVector<K,1>& b)
{
FieldVector<K,1> z = a;
return (z[0]+=b);
}
//! Binary subtraction, when using FieldVector<K,1> like K
template<class K>
inline FieldVector<K,1> operator- (const K a, const FieldVector<K,1>& b)
{
FieldVector<K,1> z = a;
return (z[0]-=b);
}
#endif
/** @} end documentation */
} // end namespace
......
......@@ -50,23 +50,15 @@ public:
a = v + a;
a = v - a;
a = v * a;
a = v * a;
v = v + a;
v = v - a;
v = v * a;
v = v * a;
a = a + v;
a = a - v;
a = a * v;
a = a * v;
v = a + v;
v = a - v;
v = a * v;
v = a * v;
}
};
......
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