41 _surv_rate_pred(NULL), |
41 _surv_rate_pred(NULL), |
42 _stats_arrays_length(0) { |
42 _stats_arrays_length(0) { |
43 reset(); |
43 reset(); |
44 if (summary_surv_rates_len > 0) { |
44 if (summary_surv_rates_len > 0) { |
45 size_t length = summary_surv_rates_len; |
45 size_t length = summary_surv_rates_len; |
46 _summary_surv_rates = NEW_C_HEAP_ARRAY(NumberSeq*, length); |
46 _summary_surv_rates = NEW_C_HEAP_ARRAY(NumberSeq*, length, mtGC); |
47 for (size_t i = 0; i < length; ++i) { |
47 for (size_t i = 0; i < length; ++i) { |
48 _summary_surv_rates[i] = new NumberSeq(); |
48 _summary_surv_rates[i] = new NumberSeq(); |
49 } |
49 } |
50 } |
50 } |
51 |
51 |
88 if (_region_num > _stats_arrays_length) { |
88 if (_region_num > _stats_arrays_length) { |
89 double* old_surv_rate = _surv_rate; |
89 double* old_surv_rate = _surv_rate; |
90 double* old_accum_surv_rate_pred = _accum_surv_rate_pred; |
90 double* old_accum_surv_rate_pred = _accum_surv_rate_pred; |
91 TruncatedSeq** old_surv_rate_pred = _surv_rate_pred; |
91 TruncatedSeq** old_surv_rate_pred = _surv_rate_pred; |
92 |
92 |
93 _surv_rate = NEW_C_HEAP_ARRAY(double, _region_num); |
93 _surv_rate = NEW_C_HEAP_ARRAY(double, _region_num, mtGC); |
94 _accum_surv_rate_pred = NEW_C_HEAP_ARRAY(double, _region_num); |
94 _accum_surv_rate_pred = NEW_C_HEAP_ARRAY(double, _region_num, mtGC); |
95 _surv_rate_pred = NEW_C_HEAP_ARRAY(TruncatedSeq*, _region_num); |
95 _surv_rate_pred = NEW_C_HEAP_ARRAY(TruncatedSeq*, _region_num, mtGC); |
96 |
96 |
97 for (size_t i = 0; i < _stats_arrays_length; ++i) { |
97 for (size_t i = 0; i < _stats_arrays_length; ++i) { |
98 _surv_rate_pred[i] = old_surv_rate_pred[i]; |
98 _surv_rate_pred[i] = old_surv_rate_pred[i]; |
99 } |
99 } |
100 for (size_t i = _stats_arrays_length; i < _region_num; ++i) { |
100 for (size_t i = _stats_arrays_length; i < _region_num; ++i) { |
102 } |
102 } |
103 |
103 |
104 _stats_arrays_length = _region_num; |
104 _stats_arrays_length = _region_num; |
105 |
105 |
106 if (old_surv_rate != NULL) { |
106 if (old_surv_rate != NULL) { |
107 FREE_C_HEAP_ARRAY(double, old_surv_rate); |
107 FREE_C_HEAP_ARRAY(double, old_surv_rate, mtGC); |
108 } |
108 } |
109 if (old_accum_surv_rate_pred != NULL) { |
109 if (old_accum_surv_rate_pred != NULL) { |
110 FREE_C_HEAP_ARRAY(double, old_accum_surv_rate_pred); |
110 FREE_C_HEAP_ARRAY(double, old_accum_surv_rate_pred, mtGC); |
111 } |
111 } |
112 if (old_surv_rate_pred != NULL) { |
112 if (old_surv_rate_pred != NULL) { |
113 FREE_C_HEAP_ARRAY(TruncatedSeq*, old_surv_rate_pred); |
113 FREE_C_HEAP_ARRAY(TruncatedSeq*, old_surv_rate_pred, mtGC); |
114 } |
114 } |
115 } |
115 } |
116 |
116 |
117 for (size_t i = 0; i < _stats_arrays_length; ++i) { |
117 for (size_t i = 0; i < _stats_arrays_length; ++i) { |
118 _surv_rate[i] = 0.0; |
118 _surv_rate[i] = 0.0; |