Rcpp Version 0.12.12
sd.h
Go to the documentation of this file.
1 // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
2 //
3 // mean.h: Rcpp R/C++ interface class library -- mean
4 //
5 // Copyright (C) 2011 Dirk Eddelbuettel and Romain Francois
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__sugar__sd_h
23 #define Rcpp__sugar__sd_h
24 
25 namespace Rcpp{
26 namespace sugar{
27 
28 template <int RTYPE, bool NA, typename T>
29 class Sd : public Lazy< typename Rcpp::traits::storage_type<RTYPE>::type , Sd<RTYPE,NA,T> > {
30 public:
33 
34  Sd( const VEC_TYPE& object_ ) : object(object_){}
35 
36  STORAGE get() const {
37  return ::sqrt( var(object).get() ) ;
38  }
39 private:
40  const VEC_TYPE& object ;
41 } ;
42 
43 } // sugar
44 
45 template <bool NA, typename T>
47  return sugar::Sd<REALSXP,NA,T>( t ) ;
48 }
49 
50 
51 } // Rcpp
52 #endif
53 
void sqrt(InputIterator begin, InputIterator end, OutputIterator out)
Definition: algorithm.h:479
sugar::Var< REALSXP, NA, T > var(const VectorBase< REALSXP, NA, T > &t)
Definition: var.h:74
Rcpp::traits::storage_type< RTYPE >::type STORAGE
Definition: sd.h:32
Sd(const VEC_TYPE &object_)
Definition: sd.h:34
Rcpp::VectorBase< RTYPE, NA, T > VEC_TYPE
Definition: sd.h:31
const VEC_TYPE & object
Definition: sd.h:40
sugar::Sd< REALSXP, NA, T > sd(const VectorBase< REALSXP, NA, T > &t)
Definition: sd.h:46
Rcpp API.
Definition: algo.h:28