Rcpp Version 0.9.10
unroll.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define RCPP_LOOP_UNROLL(TARGET, SOURCE)
#define RCPP_LOOP_UNROLL_LHSFUN(TARGET, FUN, SOURCE)

Define Documentation

#define RCPP_LOOP_UNROLL (   TARGET,
  SOURCE 
)
Value:
int __trip_count = n >> 2 ;                       \
int 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 25 of file unroll.h.

Referenced by MatrixColumn< RTYPE >::operator=().

#define RCPP_LOOP_UNROLL_LHSFUN (   TARGET,
  FUN,
  SOURCE 
)
Value:
int __trip_count = n >> 2 ;                       \
int 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 46 of file unroll.h.

Referenced by MatrixRow< RTYPE >::operator=().

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines