| 765 | // then the argument is meant to be the size of the object. |
| 766 | template<typename T> |
| 767 | EIGEN_DEVICE_FUNC |
| 768 | EIGEN_STRONG_INLINE void _init1(Index size, typename internal::enable_if< (Base::SizeAtCompileTime!=1 || !internal::is_convertible<T, Scalar>::value) |
| 769 | && ((!internal::is_same<typename internal::traits<Derived>::XprKind,ArrayXpr>::value || Base::SizeAtCompileTime==Dynamic)),T>::type* = 0) |
| 770 | { |
| 771 | // NOTE MSVC 2008 complains if we directly put bool(NumTraits<T>::IsInteger) as the EIGEN_STATIC_ASSERT argument. |
| 772 | const bool is_integer = NumTraits<T>::IsInteger; |
| 773 | EIGEN_UNUSED_VARIABLE(is_integer); |
| 774 | EIGEN_STATIC_ASSERT(is_integer, |
| 775 | FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED) |
| 776 | resize(size); |
| 777 | } |
| 778 | |
| 779 | // We have a 1x1 matrix/array => the argument is interpreted as the value of the unique coefficient (case where scalar type can be implicitely converted) |
| 780 | template<typename T> |