Go to the source code of this file.
◆ RCPP_LOOP_UNROLL
#define RCPP_LOOP_UNROLL |
( |
|
TARGET, |
|
|
|
SOURCE |
|
) |
| |
Value:R_xlen_t __trip_count = n >> 2 ; \
R_xlen_t i = 0 ; \
for ( ; __trip_count > 0 ; --__trip_count) { \
TARGET[i] = SOURCE[i] ; i++ ; \
TARGET[i] = SOURCE[i] ; i++ ; \
TARGET[i] = SOURCE[i] ; i++ ; \
TARGET[i] = SOURCE[i] ; i++ ; \
} \
switch (n - i){ \
case 3: \
TARGET[i] = SOURCE[i] ; i++ ; \
case 2: \
TARGET[i] = SOURCE[i] ; i++ ; \
case 1: \
TARGET[i] = SOURCE[i] ; i++ ; \
case 0: \
default: \
{} \
}
Definition at line 47 of file unroll.h.
◆ RCPP_LOOP_UNROLL_LHSFUN
#define RCPP_LOOP_UNROLL_LHSFUN |
( |
|
TARGET, |
|
|
|
FUN, |
|
|
|
SOURCE |
|
) |
| |
Value:R_xlen_t __trip_count = n >> 2 ; \
R_xlen_t i = 0 ; \
for ( ; __trip_count > 0 ; --__trip_count) { \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
} \
switch (n - i){ \
case 3: \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
case 2: \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
case 1: \
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
case 0: \
default: \
{} \
}
Definition at line 68 of file unroll.h.
◆ RCPP_LOOP_UNROLL_PTR
#define RCPP_LOOP_UNROLL_PTR |
( |
|
TARGET, |
|
|
|
SOURCE |
|
) |
| |
Value:R_xlen_t __trip_count = n >> 2 ; \
R_xlen_t i = 0 ; \
for ( ; __trip_count > 0 ; --__trip_count) { \
*TARGET++ = SOURCE[i++] ; \
*TARGET++ = SOURCE[i++] ; \
*TARGET++ = SOURCE[i++] ; \
*TARGET++ = SOURCE[i++] ; \
} \
switch (n - i){ \
case 3: \
*TARGET++ = SOURCE[i++] ; \
case 2: \
*TARGET++ = SOURCE[i++] ; \
case 1: \
*TARGET++ = SOURCE[i++] ; \
case 0: \
default: \
{} \
}
Definition at line 25 of file unroll.h.