src/share/vm/utilities/numberSeq.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-gc-remove-define_num_seq Sdiff src/share/vm/utilities

src/share/vm/utilities/numberSeq.cpp

Print this page




  98 }
  99 
 100 double AbsSeq::dsd() const {
 101   double var = dvariance();
 102   guarantee( var >= 0.0, "variance should not be negative" );
 103   return sqrt(var);
 104 }
 105 
 106 NumberSeq::NumberSeq(double alpha) :
 107   AbsSeq(alpha), _maximum(0.0), _last(0.0) {
 108 }
 109 
 110 bool NumberSeq::check_nums(NumberSeq *total, int n, NumberSeq **parts) {
 111   for (int i = 0; i < n; ++i) {
 112     if (parts[i] != NULL && total->num() != parts[i]->num())
 113       return false;
 114   }
 115   return true;
 116 }
 117 
 118 NumberSeq::NumberSeq(NumberSeq *total, int n, NumberSeq **parts) {
 119   guarantee(check_nums(total, n, parts), "all seq lengths should match");
 120   double sum = total->sum();
 121   for (int i = 0; i < n; ++i) {
 122     if (parts[i] != NULL)
 123       sum -= parts[i]->sum();
 124   }
 125 
 126   _num = total->num();
 127   _sum = sum;
 128 
 129   // we do not calculate these...
 130   _sum_of_squares = -1.0;
 131   _maximum = -1.0;
 132   _davg = -1.0;
 133   _dvariance = -1.0;
 134 }
 135 
 136 void NumberSeq::add(double val) {
 137   AbsSeq::add(val);
 138 
 139   _last = val;
 140   if (_num == 0) {
 141     _maximum = val;
 142   } else {
 143     if (val > _maximum)
 144       _maximum = val;
 145   }
 146   _sum += val;
 147   _sum_of_squares += val * val;
 148   ++_num;
 149 }
 150 
 151 
 152 TruncatedSeq::TruncatedSeq(int length, double alpha):
 153   AbsSeq(alpha), _length(length), _next(0) {
 154   _sequence = NEW_C_HEAP_ARRAY(double, _length);
 155   for (int i = 0; i < _length; ++i)




  98 }
  99 
 100 double AbsSeq::dsd() const {
 101   double var = dvariance();
 102   guarantee( var >= 0.0, "variance should not be negative" );
 103   return sqrt(var);
 104 }
 105 
 106 NumberSeq::NumberSeq(double alpha) :
 107   AbsSeq(alpha), _maximum(0.0), _last(0.0) {
 108 }
 109 
 110 bool NumberSeq::check_nums(NumberSeq *total, int n, NumberSeq **parts) {
 111   for (int i = 0; i < n; ++i) {
 112     if (parts[i] != NULL && total->num() != parts[i]->num())
 113       return false;
 114   }
 115   return true;
 116 }
 117 


















 118 void NumberSeq::add(double val) {
 119   AbsSeq::add(val);
 120 
 121   _last = val;
 122   if (_num == 0) {
 123     _maximum = val;
 124   } else {
 125     if (val > _maximum)
 126       _maximum = val;
 127   }
 128   _sum += val;
 129   _sum_of_squares += val * val;
 130   ++_num;
 131 }
 132 
 133 
 134 TruncatedSeq::TruncatedSeq(int length, double alpha):
 135   AbsSeq(alpha), _length(length), _next(0) {
 136   _sequence = NEW_C_HEAP_ARRAY(double, _length);
 137   for (int i = 0; i < _length; ++i)


src/share/vm/utilities/numberSeq.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File