Add support for NVCC5: most of the Core and part of LU are callable from CUDA code.
Still a lot to do.
Make it compile without nvcc
NVCC: EIGEN_NO_DEBUG must be defined before including Macro.h
Port SelfCwiseBinaryOp and Dot.h to nvcc, fix portability issue with std::min/max
actually assertion are incompatible with nvcc even on host code
merge with default branch
Add nvcc support for normalize, initializers, and fuzzy comparisons
Workarounf nvcc not being able to find RowMajor when declaring a Matrix<...> inside another namespace.
merge with main branch
Extend support for nvcc to Array objects and wrappers
Disable some shortcuts with nvcc
Add nvcc support for small eigenvalues decompositions and workaround lack of support for std::swap and std::numeric_limits
merge with default branch
Allow calling attributes of dynamic size objects from device
Add minimalistic unit tests for NVCC support
Split the huge Functors.h file

--HG--
rename : Eigen/src/Core/Functors.h => Eigen/src/Core/functors/BinaryFunctors.h
rename : Eigen/src/Core/Functors.h => Eigen/src/Core/functors/NullaryFunctors.h
rename : Eigen/src/Core/Functors.h => Eigen/src/Core/functors/StlFunctors.h
rename : Eigen/src/Core/Functors.h => Eigen/src/Core/functors/UnaryFunctors.h
Fix static/inline order
Bug 99: refactor assignment and compound assignment mechanism through "assignment functors" and "assignement kernels".
The former is very low level and generic. The later abstarct the former for dense expressions. This refactoring permits
to get rid of the very ugly SwapWrapper and SelfCwiseBinaryOp classes.
In the future, this will also permit to simplify all these evaluation loops and perhaps to reuse them for reduxions.
That will also permit to specialize for operations like expr1 += expr2 outside Eigen, and so for any kind
of expressions (dense, sparse, tensor, etc.)