std::enable_if -> thrust::detail::enable_if
dupplicated license
using thrust::begin/end
transform_reduce default parameters
added new tests