Fixed some compiler bugs in NVCC, now compiles with CUDA.
(chtz: Manually joined sevaral commits to keep the history clean)
diff --git a/doc/snippets/compile_snippet.cpp.in b/doc/snippets/compile_snippet.cpp.in
index 82ae891..fdae39b 100644
--- a/doc/snippets/compile_snippet.cpp.in
+++ b/doc/snippets/compile_snippet.cpp.in
@@ -1,6 +1,11 @@
#include <Eigen/Eigen>
#include <iostream>
+#ifndef M_PI
+#define M_PI 3.1415926535897932384626433832795
+#endif
+
+
using namespace Eigen;
using namespace std;