@@ -29,47 +29,47 @@ namespace sugar{
29
29
template <int RTYPE, bool NA, typename T>
30
30
class Var : public Lazy < double , Var<RTYPE,NA,T> > {
31
31
public:
32
- typedef typename Rcpp::VectorBase<RTYPE,NA,T> VEC_TYPE ;
32
+ typedef typename Rcpp::VectorBase<RTYPE,NA,T> VEC_TYPE ;
33
33
34
- Var ( const VEC_TYPE& object_ ) : object(object_){}
34
+ Var ( const VEC_TYPE& object_ ) : object(object_){}
35
35
36
- double get () const {
36
+ double get () const {
37
37
double
38
38
m = mean (object).get (),
39
39
ssq = sum ( pow (object, 2.0 ) ).get ();
40
- return (ssq - m * m * object.size ()) / (object.size () - 1 );
41
- }
40
+ return (ssq - m * m * object.size ()) / (object.size () - 1 );
41
+ }
42
42
43
43
private:
44
- const VEC_TYPE& object ;
44
+ const VEC_TYPE& object ;
45
45
} ;
46
46
47
47
template <bool NA, typename T>
48
48
class Var <CPLXSXP,NA,T> : public Lazy< double , Var<CPLXSXP,NA,T> > {
49
49
public:
50
50
typedef typename Rcpp::VectorBase<CPLXSXP,NA,T> VEC_TYPE ;
51
51
52
- Var ( const VEC_TYPE& object_ ) : object(object_){}
52
+ Var ( const VEC_TYPE& object_ ) : object(object_){}
53
53
54
- double get () const {
54
+ double get () const {
55
55
double sq = 0 , ssq = 0 ;
56
56
for (int i = 0 ;i < object.size ();i++) {
57
57
Rcomplex z = object[i];
58
58
sq += z.r ;
59
59
ssq += z.r * z.r ;
60
60
}
61
- return (ssq - sq * sq / object.size ()) / (object.size () - 1 );
62
- }
61
+ return (ssq - sq * sq / object.size ()) / (object.size () - 1 );
62
+ }
63
63
64
64
private:
65
- const VEC_TYPE& object ;
65
+ const VEC_TYPE& object ;
66
66
} ;
67
67
68
68
} // sugar
69
69
70
70
template <bool NA, typename T>
71
71
inline sugar::Var<REALSXP,NA,T> var ( const VectorBase<REALSXP,NA,T>& t){
72
- return sugar::Var<REALSXP,NA,T>( t ) ;
72
+ return sugar::Var<REALSXP,NA,T>( t ) ;
73
73
}
74
74
75
75
template <bool NA, typename T>
0 commit comments