[Rcpp-devel] [Rcpp-commits] r368 - in pkg: inst src src/Rcpp
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Jan 13 08:50:10 CET 2010
Author: romain
Date: 2010-01-13 08:50:10 +0100 (Wed, 13 Jan 2010)
New Revision: 368
Modified:
pkg/inst/ChangeLog
pkg/src/IntegerVector.cpp
pkg/src/LogicalVector.cpp
pkg/src/NumericVector.cpp
pkg/src/RawVector.cpp
pkg/src/Rcpp/IntegerVector.h
pkg/src/Rcpp/LogicalVector.h
pkg/src/Rcpp/NumericVector.h
pkg/src/Rcpp/RawVector.h
Log:
more inlining
Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/inst/ChangeLog 2010-01-13 07:50:10 UTC (rev 368)
@@ -6,10 +6,12 @@
Environment env("package:stats") ;
Function f = env["rnorm"] ;
- * src/Rcpp/NumericVector.h: operator[] is promoted to inline
+ * src/Rcpp/NumericVector.h: operator[], begiun and end are
+ promoted to inline member functions
+ * src/Rcpp/IntegerVector.h: idem
+ * src/Rcpp/RawVector.h: idem
+ * src/Rcpp/LogicalVector.h: idem
-
-
2010-01-12 Dirk Eddelbuettel <edd at debian.org>
* DESCRIPTION: Release 0.7.2
Modified: pkg/src/IntegerVector.cpp
===================================================================
--- pkg/src/IntegerVector.cpp 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/IntegerVector.cpp 2010-01-13 07:50:10 UTC (rev 368)
@@ -60,15 +60,4 @@
}
#endif
-int& IntegerVector::operator[]( int i ) const throw(index_out_of_bounds) {
- if( i < 0 || i >= length() ) throw index_out_of_bounds() ;
- return INTEGER(m_sexp)[i] ;
-}
-int* IntegerVector::begin() const {
- return INTEGER(m_sexp) ;
-}
-int* IntegerVector::end() const {
- return INTEGER(m_sexp) + LENGTH(m_sexp);
-}
-
} // namespace
Modified: pkg/src/LogicalVector.cpp
===================================================================
--- pkg/src/LogicalVector.cpp 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/LogicalVector.cpp 2010-01-13 07:50:10 UTC (rev 368)
@@ -66,15 +66,4 @@
}
#endif
-int& LogicalVector::operator[]( int i ) const throw(index_out_of_bounds){
- if( i<0 || i>=length()) throw index_out_of_bounds() ;
- return LOGICAL(m_sexp)[i] ;
-}
-int* LogicalVector::begin() const {
- return LOGICAL(m_sexp) ;
-}
-int* LogicalVector::end() const {
- return LOGICAL(m_sexp) + LENGTH(m_sexp);
-}
-
} // namespace
Modified: pkg/src/NumericVector.cpp
===================================================================
--- pkg/src/NumericVector.cpp 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/NumericVector.cpp 2010-01-13 07:50:10 UTC (rev 368)
@@ -59,11 +59,4 @@
}
#endif
-double* NumericVector::begin() const {
- return REAL(m_sexp) ;
-}
-double* NumericVector::end() const {
- return REAL(m_sexp) + LENGTH(m_sexp);
-}
-
} // namespace
Modified: pkg/src/RawVector.cpp
===================================================================
--- pkg/src/RawVector.cpp 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/RawVector.cpp 2010-01-13 07:50:10 UTC (rev 368)
@@ -62,15 +62,4 @@
}
#endif
-Rbyte& RawVector::operator[]( int i ) const throw(index_out_of_bounds){
- if( i<0 || i>= length() ) throw index_out_of_bounds() ;
- return RAW(m_sexp)[i] ;
-}
-Rbyte* RawVector::begin() const {
- return RAW(m_sexp) ;
-}
-Rbyte* RawVector::end() const {
- return RAW(m_sexp) + LENGTH(m_sexp);
-}
-
} // namespace
Modified: pkg/src/Rcpp/IntegerVector.h
===================================================================
--- pkg/src/Rcpp/IntegerVector.h 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/Rcpp/IntegerVector.h 2010-01-13 07:50:10 UTC (rev 368)
@@ -53,9 +53,9 @@
*/
inline int size() const { return Rf_length( m_sexp ) ; }
- int& operator[]( int i ) const throw(index_out_of_bounds) ;
- int* begin() const ;
- int* end() const ;
+ inline int& operator[]( int i ) const{ return INTEGER(m_sexp)[i] } ;
+ inline int* begin() const { return INTEGER(m_sexp) ; }
+ inline int* end() const { return INTEGER(m_sexp) + LENGTH(m_sexp) ; }
typedef int* iterator ;
Modified: pkg/src/Rcpp/LogicalVector.h
===================================================================
--- pkg/src/Rcpp/LogicalVector.h 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/Rcpp/LogicalVector.h 2010-01-13 07:50:10 UTC (rev 368)
@@ -54,12 +54,11 @@
*/
inline int size() const { return Rf_length( m_sexp ) ; }
- typedef Rboolean* iterator ;
- typedef Rboolean value_type ;
+ typedef int* iterator ;
- int& operator[]( int i ) const throw(index_out_of_bounds) ;
- int* begin() const ;
- int* end() const ;
+ inline int& operator[]( int i ) const { return LOGICAL(m_sexp)[i] ;}
+ inline int* begin() const { return LOGICAL(m_sexp) ; }
+ inline int* end() const { return LOGICAL(m_sexp) + LENGTH(m_sexp); }
} ;
Modified: pkg/src/Rcpp/NumericVector.h
===================================================================
--- pkg/src/Rcpp/NumericVector.h 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/Rcpp/NumericVector.h 2010-01-13 07:50:10 UTC (rev 368)
@@ -56,8 +56,8 @@
inline double& operator[]( const int& i ) { return REAL(m_sexp)[i]; }
inline const double& operator[]( const int& i ) const { return REAL(m_sexp)[i]; }
- double* begin() const ;
- double* end() const ;
+ inline double* begin() const { return REAL(m_sexp) ; }
+ inline double* end() const { return REAL(m_sexp)+LENGTH(m_sexp);}
typedef double* iterator ;
Modified: pkg/src/Rcpp/RawVector.h
===================================================================
--- pkg/src/Rcpp/RawVector.h 2010-01-13 07:42:18 UTC (rev 367)
+++ pkg/src/Rcpp/RawVector.h 2010-01-13 07:50:10 UTC (rev 368)
@@ -53,9 +53,9 @@
*/
inline int size() const { return Rf_length( m_sexp ) ; }
- Rbyte& operator[]( int i ) const throw(index_out_of_bounds) ;
- Rbyte* begin() const ;
- Rbyte* end() const ;
+ inline Rbyte& operator[]( int i ) const { return RAW(m_sexp)[i] ; }
+ inline Rbyte* begin() const { return RAW(m_sexp) ; }
+ inline Rbyte* end() const { return RAW(m_sexp) + LENGTH(m_sexp) ; }
typedef Rbyte* iterator ;
_______________________________________________
Rcpp-commits mailing list
Rcpp-commits at lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-commits
More information about the Rcpp-devel
mailing list