Hi all,
I don't have much expertise with MSVC, but I'm trying to build
pyviennacl, and I've got a couple of weird bugs. I've looked at the
source, but really have no idea what it's complaining about. Why can't
it resolve the type ambiguity here?
4>F:/src/viennacl/pyviennacl-dev/external/viennacl-dev\viennacl/linalg/bicgstab.hpp(149):
error C2668: 'fabs' : ambiguous call to overloaded function
4> E:\Microsoft Visual Studio 11.0\VC\INCLUDE\math.h(118): could be
'double fabs(double)'
4> E:\Microsoft Visual Studio 11.0\VC\INCLUDE\math.h(516): or
'float fabs(float)'
4> E:\Microsoft Visual Studio 11.0\VC\INCLUDE\math.h(564): or
'long double fabs(long double)'
4> while trying to match the argument list '(CPU_ScalarType)'
And here, I wish I knew what class it actually thinks its assigning..
4>F:/src/viennacl/pyviennacl-dev/external/viennacl-dev\viennacl/linalg/bicgstab.hpp(125):
error C2088: '-=' : illegal for class
Does the following patch suffice? The code now builds with only the error
above, and I imagine the effect should be the same.
Toby
diff --git a/viennacl/linalg/bicgstab.hpp b/viennacl/linalg/bicgstab.hpp
index 642b490..976d11b 100644
--- a/viennacl/linalg/bicgstab.hpp
+++ b/viennacl/linalg/bicgstab.hpp
@@ -121,8 +121,7 @@ namespace viennacl
{
if (restart_flag)
{
- residual = rhs;
- residual -= viennacl::linalg::prod(matrix, result);
+ residual = rhs - viennacl::linalg::prod(matrix, result);
p = residual;
r0star = residual;
ip_rr0star = viennacl::linalg::norm_2(residual);
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
ViennaCL-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-devel