simplification

This commit is contained in:
conrad
2022-05-11 12:52:37 +10:00
parent be0cae30ce
commit 06a274ee41
2 changed files with 1 additions and 51 deletions
@@ -28,10 +28,6 @@ class arrayops
arma_inline static void
copy(eT* dest, const eT* src, const uword n_elem);
template<typename eT>
arma_cold inline static void
copy_small(eT* dest, const eT* src, const uword n_elem);
template<typename eT>
inline static void
fill_zeros(eT* dest, const uword n_elem);
+1 -47
View File
@@ -28,53 +28,7 @@ arrayops::copy(eT* dest, const eT* src, const uword n_elem)
{
if( (dest == src) || (n_elem == 0) ) { return; }
if(is_cx<eT>::no)
{
if(n_elem <= 9)
{
arrayops::copy_small(dest, src, n_elem);
}
else
{
std::memcpy(dest, src, n_elem*sizeof(eT));
}
}
else
{
std::memcpy(dest, src, n_elem*sizeof(eT));
}
}
template<typename eT>
arma_cold
inline
void
arrayops::copy_small(eT* dest, const eT* src, const uword n_elem)
{
switch(n_elem)
{
case 9: dest[ 8] = src[ 8];
// fallthrough
case 8: dest[ 7] = src[ 7];
// fallthrough
case 7: dest[ 6] = src[ 6];
// fallthrough
case 6: dest[ 5] = src[ 5];
// fallthrough
case 5: dest[ 4] = src[ 4];
// fallthrough
case 4: dest[ 3] = src[ 3];
// fallthrough
case 3: dest[ 2] = src[ 2];
// fallthrough
case 2: dest[ 1] = src[ 1];
// fallthrough
case 1: dest[ 0] = src[ 0];
// fallthrough
default: ;
}
std::memcpy(dest, src, n_elem*sizeof(eT));
}