mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-14 12:46:00 +08:00
Workaround nbcc+msvc compiler bug
This commit is contained in:
parent
9d318b92c6
commit
118520f04a
@ -39,6 +39,12 @@ inline Index get_runtime_reshape_size(AutoSize_t /*size*/, Index other, Index to
|
|||||||
return total/other;
|
return total/other;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <int Flags, int Order>
|
||||||
|
struct get_compiletime_reshape_order
|
||||||
|
{
|
||||||
|
enum { value = Order==AutoOrder ? Flags & RowMajorBit : Order };
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace Eigen
|
} // end namespace Eigen
|
||||||
|
@ -105,13 +105,13 @@ EIGEN_DEVICE_FUNC
|
|||||||
inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
|
inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
|
||||||
internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
|
internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
|
||||||
internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
|
internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
|
||||||
(Order==AutoOrder?Flags&RowMajorBit:Order)>
|
internal::get_compiletime_reshape_order<Flags,Order>::value>
|
||||||
reshaped(NRowsType nRows, NColsType nCols) EIGEN_RESHAPED_METHOD_CONST
|
reshaped(NRowsType nRows, NColsType nCols) EIGEN_RESHAPED_METHOD_CONST
|
||||||
{
|
{
|
||||||
return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
|
return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived,
|
||||||
internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
|
internal::get_compiletime_reshape_size<NRowsType,NColsType,SizeAtCompileTime>::value,
|
||||||
internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
|
internal::get_compiletime_reshape_size<NColsType,NRowsType,SizeAtCompileTime>::value,
|
||||||
(Order==AutoOrder?Flags&RowMajorBit:Order)>
|
internal::get_compiletime_reshape_order<Flags,Order>::value>
|
||||||
(derived(),
|
(derived(),
|
||||||
internal::get_runtime_reshape_size(nRows,internal::get_runtime_value(nCols),size()),
|
internal::get_runtime_reshape_size(nRows,internal::get_runtime_value(nCols),size()),
|
||||||
internal::get_runtime_reshape_size(nCols,internal::get_runtime_value(nRows),size()));
|
internal::get_runtime_reshape_size(nCols,internal::get_runtime_value(nRows),size()));
|
||||||
@ -128,11 +128,13 @@ reshaped() EIGEN_RESHAPED_METHOD_CONST
|
|||||||
|
|
||||||
template<int Order>
|
template<int Order>
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1, (Order==AutoOrder?Flags&RowMajorBit:Order)>
|
inline Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1,
|
||||||
|
internal::get_compiletime_reshape_order<Flags,Order>::value>
|
||||||
reshaped() EIGEN_RESHAPED_METHOD_CONST
|
reshaped() EIGEN_RESHAPED_METHOD_CONST
|
||||||
{
|
{
|
||||||
EIGEN_STATIC_ASSERT(Order==RowMajor || Order==ColMajor || Order==AutoOrder, INVALID_TEMPLATE_PARAMETER);
|
EIGEN_STATIC_ASSERT(Order==RowMajor || Order==ColMajor || Order==AutoOrder, INVALID_TEMPLATE_PARAMETER);
|
||||||
return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1, (Order==AutoOrder?Flags&RowMajorBit:Order)>
|
return Reshaped<EIGEN_RESHAPED_METHOD_CONST Derived, SizeAtCompileTime, 1,
|
||||||
|
internal::get_compiletime_reshape_order<Flags,Order>::value>
|
||||||
(derived(), size(), 1);
|
(derived(), size(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user