22//
33// unroll.h: Rcpp R/C++ interface class library -- loop unrolling macro
44//
5- // Copyright (C) 2010 - 2011 Dirk Eddelbuettel and Romain Francois
5+ // Copyright (C) 2010 - 2017 Dirk Eddelbuettel and Romain Francois
66//
77// This file is part of Rcpp.
88//
2323#define Rcpp__macros_unroll_h
2424
2525#define RCPP_LOOP_UNROLL_PTR (TARGET,SOURCE ) \
26- int __trip_count = n >> 2 ; \
27- int i = 0 ; \
26+ R_xlen_t __trip_count = n >> 2 ; \
27+ R_xlen_t i = 0 ; \
2828for ( ; __trip_count > 0 ; --__trip_count) { \
2929 *TARGET++ = SOURCE[i++] ; \
3030 *TARGET++ = SOURCE[i++] ; \
@@ -45,8 +45,8 @@ switch (n - i){ \
4545
4646
4747#define RCPP_LOOP_UNROLL (TARGET,SOURCE ) \
48- int __trip_count = n >> 2 ; \
49- int i = 0 ; \
48+ R_xlen_t __trip_count = n >> 2 ; \
49+ R_xlen_t i = 0 ; \
5050for ( ; __trip_count > 0 ; --__trip_count) { \
5151 TARGET[i] = SOURCE[i] ; i++ ; \
5252 TARGET[i] = SOURCE[i] ; i++ ; \
@@ -65,22 +65,22 @@ switch (n - i){ \
6565 {} \
6666}
6767
68- #define RCPP_LOOP_UNROLL_LHSFUN (TARGET,FUN,SOURCE ) \
69- int __trip_count = n >> 2 ; \
70- int i = 0 ; \
68+ #define RCPP_LOOP_UNROLL_LHSFUN (TARGET,FUN,SOURCE ) \
69+ R_xlen_t __trip_count = n >> 2 ; \
70+ R_xlen_t i = 0 ; \
7171for ( ; __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++ ; \
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++ ; \
7676} \
7777switch (n - i){ \
7878 case 3 : \
79- TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
79+ TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
8080 case 2 : \
81- TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
81+ TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
8282 case 1 : \
83- TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
83+ TARGET[FUN (i)] = SOURCE[i] ; i++ ; \
8484 case 0 : \
8585 default : \
8686 {} \
0 commit comments