Add infinity() support to numext::numeric_limits, use it in lgamma. This makes the infinity access a __device__ function, removing nvcc warnings.
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.