Skip to content

Commit d226e34

Browse files
committed
permitting algorithm.h to be build under icc
1 parent d05d9c6 commit d226e34

File tree

3 files changed

+33
-5
lines changed

3 files changed

+33
-5
lines changed

ChangeLog

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@
548548

549549
2016-07-10 Nathan Russell <[email protected]>
550550

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

553553
2016-07-03 Dirk Eddelbuettel <[email protected]>
554554

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)