Skip to content

Commit 8c65254

Browse files
committed
Merge pull request #478 from dcdillon/master
Fixing const'ness of min and max
2 parents 56993ec + de6df10 commit 8c65254

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

inst/include/Rcpp/sugar/functions/max.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,22 @@ namespace sugar{
3232

3333
Max( const T& obj_) : obj(obj_) {}
3434

35-
operator STORAGE() {
36-
max_ = obj[0] ;
37-
if( Rcpp::traits::is_na<RTYPE>( max_ ) ) return max_ ;
35+
operator STORAGE() const {
36+
STORAGE max, current ;
37+
max = obj[0] ;
38+
if( Rcpp::traits::is_na<RTYPE>( max ) ) return max ;
3839

3940
R_xlen_t n = obj.size() ;
4041
for( R_xlen_t i=1; i<n; i++){
4142
current = obj[i] ;
4243
if( Rcpp::traits::is_na<RTYPE>( current ) ) return current;
43-
if( current > max_ ) max_ = current ;
44+
if( current > max ) max = current ;
4445
}
45-
return max_ ;
46+
return max ;
4647
}
4748

4849
private:
4950
const T& obj ;
50-
STORAGE min_, max_, current ;
5151
} ;
5252

5353
// version for NA = false
@@ -58,20 +58,20 @@ namespace sugar{
5858

5959
Max( const T& obj_) : obj(obj_) {}
6060

61-
operator STORAGE() {
62-
max_ = obj[0] ;
61+
operator STORAGE() const {
62+
STORAGE max, current ;
63+
max = obj[0] ;
6364

6465
R_xlen_t n = obj.size() ;
6566
for( R_xlen_t i=1; i<n; i++){
6667
current = obj[i] ;
67-
if( current > max_ ) max_ = current ;
68+
if( current > max ) max = current ;
6869
}
69-
return max_ ;
70+
return max ;
7071
}
7172

7273
private:
7374
const T& obj ;
74-
STORAGE max_, current ;
7575
} ;
7676

7777

inst/include/Rcpp/sugar/functions/min.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,21 @@ namespace sugar{
3232

3333
Min( const T& obj_) : obj(obj_) {}
3434

35-
operator STORAGE() {
36-
min_ = obj[0] ;
37-
if( Rcpp::traits::is_na<RTYPE>( min_ ) ) return min_ ;
35+
operator STORAGE() const {
36+
STORAGE min, current ;
37+
min = obj[0] ;
38+
if( Rcpp::traits::is_na<RTYPE>( min ) ) return min ;
3839

3940
R_xlen_t n = obj.size() ;
4041
for( R_xlen_t i=1; i<n; i++){
4142
current = obj[i] ;
4243
if( Rcpp::traits::is_na<RTYPE>( current ) ) return current;
43-
if( current < min_ ) min_ = current ;
44+
if( current < min ) min = current ;
4445
}
45-
return min_ ;
46+
return min ;
4647
}
4748

4849
const T& obj ;
49-
STORAGE min_, max_, current ;
5050
} ;
5151

5252
// version for NA = false
@@ -57,19 +57,19 @@ namespace sugar{
5757

5858
Min( const T& obj_) : obj(obj_) {}
5959

60-
operator STORAGE() {
61-
min_ = obj[0] ;
60+
operator STORAGE() const {
61+
STORAGE min, current ;
62+
min = obj[0] ;
6263

6364
R_xlen_t n = obj.size() ;
6465
for( R_xlen_t i=1; i<n; i++){
6566
current = obj[i] ;
66-
if( current < min_ ) min_ = current ;
67+
if( current < min ) min = current ;
6768
}
68-
return min_ ;
69+
return min ;
6970
}
7071

7172
const T& obj ;
72-
STORAGE min_, current ;
7373
} ;
7474

7575

0 commit comments

Comments
 (0)