Loading...
Searching...
No Matches
Go to the documentation of this file.
22#ifndef Rcpp__macros_unroll_h
23#define Rcpp__macros_unroll_h
25#define RCPP_LOOP_UNROLL_PTR(TARGET,SOURCE) \
26R_xlen_t __trip_count = n >> 2 ; \
28for ( ; __trip_count > 0 ; --__trip_count) { \
29 *TARGET++ = SOURCE[i++] ; \
30 *TARGET++ = SOURCE[i++] ; \
31 *TARGET++ = SOURCE[i++] ; \
32 *TARGET++ = SOURCE[i++] ; \
36 *TARGET++ = SOURCE[i++] ; \
38 *TARGET++ = SOURCE[i++] ; \
40 *TARGET++ = SOURCE[i++] ; \
47#define RCPP_LOOP_UNROLL(TARGET,SOURCE) \
48R_xlen_t __trip_count = n >> 2 ; \
50for ( ; __trip_count > 0 ; --__trip_count) { \
51 TARGET[i] = SOURCE[i] ; i++ ; \
52 TARGET[i] = SOURCE[i] ; i++ ; \
53 TARGET[i] = SOURCE[i] ; i++ ; \
54 TARGET[i] = SOURCE[i] ; i++ ; \
58 TARGET[i] = SOURCE[i] ; i++ ; \
60 TARGET[i] = SOURCE[i] ; i++ ; \
62 TARGET[i] = SOURCE[i] ; i++ ; \
68#define RCPP_LOOP_UNROLL_LHSFUN(TARGET,FUN,SOURCE) \
69R_xlen_t __trip_count = n >> 2 ; \
71for ( ; __trip_count > 0 ; --__trip_count) { \
72 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
73 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
74 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
75 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
79 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
81 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
83 TARGET[FUN(i)] = SOURCE[i] ; i++ ; \