23 const std::string &data_column_key,
24 const std::string &reference_column_key,
26 const unsigned int dim)
32 if (rate_mode ==
none)
39 const std::vector<internal::TableEntry> &entries =
40 columns[data_column_key].entries;
41 const std::vector<internal::TableEntry> &ref_entries =
42 columns[reference_column_key].entries;
43 std::string rate_key = data_column_key +
"...";
45 const unsigned int n = entries.size();
46 const unsigned int n_ref = ref_entries.size();
49 std::vector<double> values(n);
50 std::vector<double> ref_values(n_ref);
52 for (
unsigned int i = 0; i < n; ++i)
54 values[i] = entries[i].get_numeric_value();
55 ref_values[i] = ref_entries[i].get_numeric_value();
58 unsigned int no_rate_entries = 0;
64 rate_key +=
"red.rate";
65 no_rate_entries =
columns[rate_key].entries.size();
67 for (
unsigned int i = no_rate_entries; i < n; ++i)
77 values[i - 1] / values[i] * ref_values[i] /
83 rate_key +=
"red.rate.log2";
84 no_rate_entries =
columns[rate_key].entries.size();
86 for (
unsigned int i = no_rate_entries; i < n; ++i)
96 dim *
std::log(std::fabs(values[i - 1] / values[i])) /
98 std::fabs(ref_values[i] / ref_values[i - 1])));
110 const std::string &superkey = data_column_key;
118 if (no_rate_entries == 0)
136 const std::vector<internal::TableEntry> &entries =
137 columns[data_column_key].entries;
138 std::string rate_key = data_column_key +
"...";
140 const unsigned int n = entries.size();
142 std::vector<double> values(n);
143 for (
unsigned int i = 0; i < n; ++i)
144 values[i] = entries[i].get_numeric_value();
146 unsigned int no_rate_entries = 0;
154 rate_key +=
"red.rate";
155 no_rate_entries =
columns[rate_key].entries.size();
157 for (
unsigned int i = no_rate_entries; i < n; ++i)
166 add_value(rate_key, values[i - 1] / values[i]);
172 rate_key +=
"red.rate.log2";
173 no_rate_entries =
columns[rate_key].entries.size();
175 for (
unsigned int i = no_rate_entries; i < n; ++i)
185 std::log(std::fabs(values[i - 1] / values[i])) /
200 const std::string &superkey = data_column_key;
210 if (no_rate_entries == 0)