Skip to content

Commit 88d10f5

Browse files
authored
Merge pull request #643 from RcppCore/bugfix/issue640
Allow intel icc compilation of algorithm.h (closes 640)
2 parents d05d9c6 + 71dca72 commit 88d10f5

File tree

4 files changed

+42
-7
lines changed

4 files changed

+42
-7
lines changed

ChangeLog

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2017-01-31 Dirk Eddelbuettel <[email protected]>
2+
3+
* DESCRIPTION (Date, Version): Roll minor version
4+
5+
* inst/include/Rcpp/algorithm.h: Allow algorithm.h to be compiler under
6+
Intel's compiler, add copyright header and include guard
7+
18
2017-01-31 Nathan Russell <[email protected]>
29

310
* inst/include/Rcpp/sugar/matrix/upper_tri.h: Inherit from MatrixBase
@@ -548,7 +555,7 @@
548555

549556
2016-07-10 Nathan Russell <[email protected]>
550557

551-
* inst/include/Rcpp/algorithm.h: Accomdate clang compiler
558+
* inst/include/Rcpp/algorithm.h: Accomodate clang compiler
552559

553560
2016-07-03 Dirk Eddelbuettel <[email protected]>
554561

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: Rcpp
22
Title: Seamless R and C++ Integration
3-
Version: 0.12.9.1
4-
Date: 2017-01-17
3+
Version: 0.12.9.2
4+
Date: 2017-01-31
55
Author: Dirk Eddelbuettel, Romain Francois, JJ Allaire, Kevin Ushey, Qiang Kou,
66
Nathan Russell, Douglas Bates and John Chambers
77
Maintainer: Dirk Eddelbuettel <[email protected]>

inst/NEWS.Rd

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\newcommand{\ghpr}{\href{https://github.com/RcppCore/Rcpp/pull/#1}{##1}}
44
\newcommand{\ghit}{\href{https://github.com/RcppCore/Rcpp/issues/#1}{##1}}
55

6-
\section{Changes in Rcpp version 0.13.0 (2017-03-xx)}{
6+
\section{Changes in Rcpp version 0.12.10 (2017-03-xx)}{
77
\itemize{
88
\item Changes in Rcpp API:
99
\itemize{
@@ -14,6 +14,8 @@
1414
\itemize{
1515
\item Fixed sugar functions \code{upper_tri()} and \code{lower_tri()}
1616
(Nathan Russell in \ghpr{642} addressing \ghit{641}).
17+
\item The \code{algorithm.h} file now accomodates the Intel compiler
18+
(Dirk in \ghpr{643} addressing isue \ghit{640})
1719
}
1820
}
1921
}

inst/include/Rcpp/algorithm.h

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,28 @@
1-
#if __cplusplus >= 201103L
1+
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2+
//
3+
// algorithm.h: Rcpp R/C++ interface class library -- data frames
4+
//
5+
// Copyright (C) 2016 - 2017 Daniel C. Dillon
6+
//
7+
// This file is part of Rcpp.
8+
//
9+
// Rcpp is free software: you can redistribute it and/or modify it
10+
// under the terms of the GNU General Public License as published by
11+
// the Free Software Foundation, either version 2 of the License, or
12+
// (at your option) any later version.
13+
//
14+
// Rcpp is distributed in the hope that it will be useful, but
15+
// WITHOUT ANY WARRANTY; without even the implied warranty of
16+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
// GNU General Public License for more details.
18+
//
19+
// You should have received a copy of the GNU General Public License
20+
// along with Rcpp. If not, see <http://www.gnu.org/licenses/>.
21+
22+
#ifndef Rcpp__Algorithm_h
23+
#define Rcpp__Algorithm_h
24+
25+
#if __cplusplus >= 201103L || __INTEL_CXX11_MODE__ == 1
226
# define RCPP_CONSTEXPR constexpr
327
#else
428
# define RCPP_CONSTEXPR const
@@ -211,7 +235,7 @@ template< typename InputIterator >
211235
typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,
212236
typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type >::type
213237
sum(InputIterator begin, InputIterator end) {
214-
238+
215239
typedef typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type value_type;
216240
typedef typename helpers::rtype< value_type > rtype;
217241

@@ -236,7 +260,7 @@ template< typename InputIterator >
236260
typename traits::enable_if< helpers::decays_to_ctype< typename std::iterator_traits< InputIterator >::value_type >::value,
237261
typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type >::type
238262
sum_nona(InputIterator begin, InputIterator end) {
239-
263+
240264
typedef typename helpers::ctype< typename std::iterator_traits< InputIterator >::value_type >::type value_type;
241265
typedef typename helpers::rtype< value_type > rtype;
242266

@@ -465,3 +489,5 @@ void sqrt(InputIterator begin, InputIterator end, OutputIterator out) {
465489
} // namespace Rcpp
466490

467491
#undef RCPP_CONSTEXPR
492+
493+
#endif

0 commit comments

Comments
 (0)