Fix random again

This commit is contained in:
Charles Schlosser
2024-03-29 21:49:27 +00:00
parent f75e2297db
commit e63d9f6ccb
7 changed files with 380 additions and 274 deletions

View File

@@ -26,24 +26,10 @@ struct MovableScalar : public Base {
operator Scalar() const { return this->size() > 0 ? this->back() : Scalar(); }
};
template <>
struct NumTraits<MovableScalar<float>> : GenericNumTraits<float> {};
namespace internal {
template <typename T>
struct random_impl<MovableScalar<T>> {
using MoveableT = MovableScalar<T>;
using Impl = random_impl<T>;
static EIGEN_DEVICE_FUNC inline MoveableT run(const MoveableT& x, const MoveableT& y) {
T result = Impl::run(x, y);
return MoveableT(result);
}
static EIGEN_DEVICE_FUNC inline MoveableT run() {
T result = Impl::run();
return MoveableT(result);
}
template <typename Scalar>
struct NumTraits<MovableScalar<Scalar>> : GenericNumTraits<Scalar> {
enum { RequireInitialization = 1 };
};
} // namespace internal
} // namespace Eigen