pos_type: fix SPos(EPos)
This commit is contained in:
parent
2ca37810b2
commit
8b093baa8e
1 changed files with 22 additions and 12 deletions
|
@ -60,6 +60,10 @@ namespace CNORXZ
|
|||
template <class PosT>
|
||||
constexpr decltype(auto) SPos<N>::operator*(const PosT& a) const
|
||||
{
|
||||
if constexpr(is_epos_type<PosT>::value){
|
||||
return mkEPos<epos_size<PosT>::value>(*this,SPos<0>{}) * a;
|
||||
}
|
||||
else {
|
||||
if constexpr(N == 0) {
|
||||
return SPos<0>{};
|
||||
}
|
||||
|
@ -70,11 +74,16 @@ namespace CNORXZ
|
|||
return UPos(N*a.val());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
template <class PosT>
|
||||
constexpr decltype(auto) SPos<N>::operator()(const PosT& a) const
|
||||
{
|
||||
if constexpr(is_epos_type<PosT>::value){
|
||||
return mkEPos<epos_size<PosT>::value>(*this,SPos<0>{}) * a;
|
||||
}
|
||||
else {
|
||||
if constexpr(N == 0) {
|
||||
return SPos<0>{};
|
||||
}
|
||||
|
@ -85,6 +94,7 @@ namespace CNORXZ
|
|||
return UPos(N*a.val());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
template <class PosT>
|
||||
|
|
Loading…
Reference in a new issue