Skip to content

Commit 2aea1f4

Browse files
authored
refactor: add _ to large, small, sowds (#418)
1 parent a133f08 commit 2aea1f4

File tree

5 files changed

+40
-33
lines changed

5 files changed

+40
-33
lines changed

docs/usage/accumulators.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ WeightedMean
132132
This accumulator is contained in the WeightedMean storage, and supports Views.
133133
It provides four values; ``.sum_of_weights``, ``sum_of_weights_squared``,
134134
``.value``, and ``.variance``. Internally, the variance is stored as
135-
``sum_of_weighted_deltas_squared``, which is used to compute ``variance``.
135+
``_sum_of_weighted_deltas_squared``, which is used to compute ``variance``.
136136

137137
For example, you could compute the mean of the following values::
138138

include/bh_python/accumulators/weighted_mean.hpp

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@ struct weighted_mean {
3737
: sum_of_weights(wsum)
3838
, sum_of_weights_squared(wsum2)
3939
, value(mean)
40-
, sum_of_weighted_deltas_squared(
40+
, _sum_of_weighted_deltas_squared(
4141
variance * (sum_of_weights - sum_of_weights_squared / sum_of_weights)) {}
4242

4343
weighted_mean(const value_type& wsum,
4444
const value_type& wsum2,
4545
const value_type& mean,
46-
const value_type& sum_of_weighted_deltas_squared,
46+
const value_type& _sum_of_weighted_deltas_squared,
4747
bool /* tag to trigger Python internal constructor */)
4848
: sum_of_weights(wsum)
4949
, sum_of_weights_squared(wsum2)
5050
, value(mean)
51-
, sum_of_weighted_deltas_squared(sum_of_weighted_deltas_squared) {}
51+
, _sum_of_weighted_deltas_squared(_sum_of_weighted_deltas_squared) {}
5252

5353
void operator()(const value_type& x) { operator()(boost::histogram::weight(1), x); }
5454

@@ -58,7 +58,7 @@ struct weighted_mean {
5858
sum_of_weights_squared += w.value * w.value;
5959
const auto delta = x - value;
6060
value += w.value * delta / sum_of_weights;
61-
sum_of_weighted_deltas_squared += w.value * delta * (x - value);
61+
_sum_of_weighted_deltas_squared += w.value * delta * (x - value);
6262
}
6363

6464
weighted_mean& operator+=(const weighted_mean& rhs) {
@@ -68,27 +68,28 @@ struct weighted_mean {
6868
sum_of_weights_squared += rhs.sum_of_weights_squared;
6969
value = tmp / sum_of_weights;
7070
}
71-
sum_of_weighted_deltas_squared += rhs.sum_of_weighted_deltas_squared;
71+
_sum_of_weighted_deltas_squared += rhs._sum_of_weighted_deltas_squared;
7272
return *this;
7373
}
7474

7575
weighted_mean& operator*=(const value_type& s) {
7676
value *= s;
77-
sum_of_weighted_deltas_squared *= s * s;
77+
_sum_of_weighted_deltas_squared *= s * s;
7878
return *this;
7979
}
8080

8181
bool operator==(const weighted_mean& rhs) const noexcept {
8282
return sum_of_weights == rhs.sum_of_weights
8383
&& sum_of_weights_squared == rhs.sum_of_weights_squared
8484
&& value == rhs.value
85-
&& sum_of_weighted_deltas_squared == rhs.sum_of_weighted_deltas_squared;
85+
&& _sum_of_weighted_deltas_squared
86+
== rhs._sum_of_weighted_deltas_squared;
8687
}
8788

8889
bool operator!=(const weighted_mean rhs) const noexcept { return !operator==(rhs); }
8990

9091
value_type variance() const {
91-
return sum_of_weighted_deltas_squared
92+
return _sum_of_weighted_deltas_squared
9293
/ (sum_of_weights - sum_of_weights_squared / sum_of_weights);
9394
}
9495

@@ -97,14 +98,14 @@ struct weighted_mean {
9798
ar& boost::make_nvp("sum_of_weights", sum_of_weights);
9899
ar& boost::make_nvp("sum_of_weights_squared", sum_of_weights_squared);
99100
ar& boost::make_nvp("value", value);
100-
ar& boost::make_nvp("sum_of_weighted_deltas_squared",
101-
sum_of_weighted_deltas_squared);
101+
ar& boost::make_nvp("_sum_of_weighted_deltas_squared",
102+
_sum_of_weighted_deltas_squared);
102103
}
103104

104105
value_type sum_of_weights{};
105106
value_type sum_of_weights_squared{};
106107
value_type value{};
107-
value_type sum_of_weighted_deltas_squared{};
108+
value_type _sum_of_weighted_deltas_squared{};
108109
};
109110

110111
} // namespace accumulators

src/boost_histogram/_internal/view.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,15 @@ def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
125125
"sum_of_weights",
126126
"sum_of_weights_squared",
127127
"value",
128-
"sum_of_weighted_deltas_squared",
128+
"_sum_of_weighted_deltas_squared",
129129
)
130130
class WeightedMeanView(View):
131131
__slots__ = ()
132132
_PARENT = WeightedMean
133133

134134
@property
135135
def variance(self):
136-
return self["sum_of_weighted_deltas_squared"] / (
136+
return self["_sum_of_weighted_deltas_squared"] / (
137137
self["sum_of_weights"]
138138
- self["sum_of_weights_squared"] / self["sum_of_weights"]
139139
)

src/register_accumulators.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ void register_accumulators(py::module& accumulators) {
167167
"value"_a,
168168
"Run over an array with the accumulator")
169169

170-
.def_property_readonly("small", &sum::small)
171-
.def_property_readonly("large", &sum::large)
170+
.def_property_readonly("_small", &sum::small)
171+
.def_property_readonly("_large", &sum::large)
172172

173173
;
174174

@@ -177,7 +177,7 @@ void register_accumulators(py::module& accumulators) {
177177
sum_of_weights,
178178
sum_of_weights_squared,
179179
value,
180-
sum_of_weighted_deltas_squared);
180+
_sum_of_weighted_deltas_squared);
181181

182182
register_accumulator<weighted_mean>(
183183
accumulators, "WeightedMean", py::buffer_protocol())
@@ -193,8 +193,8 @@ void register_accumulators(py::module& accumulators) {
193193
.def_readonly("sum_of_weights", &weighted_mean::sum_of_weights)
194194
.def_readonly("sum_of_weights_squared", &weighted_mean::sum_of_weights_squared)
195195
.def_readonly("value", &weighted_mean::value)
196-
.def_readonly("sum_of_weighted_deltas_squared",
197-
&weighted_mean::sum_of_weighted_deltas_squared)
196+
.def_readonly("_sum_of_weighted_deltas_squared",
197+
&weighted_mean::_sum_of_weighted_deltas_squared)
198198

199199
.def_property_readonly("variance", &weighted_mean::variance)
200200

@@ -223,13 +223,13 @@ void register_accumulators(py::module& accumulators) {
223223
return self.sum_of_weights;
224224
else if(key.equal(py::str("sum_of_weights_squared")))
225225
return self.sum_of_weights_squared;
226-
else if(key.equal(py::str("sum_of_weighted_deltas_squared")))
227-
return self.sum_of_weighted_deltas_squared;
226+
else if(key.equal(py::str("_sum_of_weighted_deltas_squared")))
227+
return self._sum_of_weighted_deltas_squared;
228228
else
229229
throw py::key_error(
230230
py::str(
231231
"{0} not one of value, sum_of_weights, "
232-
"sum_of_weights_squared, sum_of_weighted_deltas_squared")
232+
"sum_of_weights_squared, _sum_of_weighted_deltas_squared")
233233
.format(key));
234234
})
235235
.def("__setitem__",
@@ -240,13 +240,13 @@ void register_accumulators(py::module& accumulators) {
240240
self.sum_of_weights = value;
241241
else if(key.equal(py::str("sum_of_weights_squared")))
242242
self.sum_of_weights_squared = value;
243-
else if(key.equal(py::str("sum_of_weighted_deltas_squared")))
244-
self.sum_of_weighted_deltas_squared = value;
243+
else if(key.equal(py::str("_sum_of_weighted_deltas_squared")))
244+
self._sum_of_weighted_deltas_squared = value;
245245
else
246246
throw py::key_error(
247247
py::str(
248248
"{0} not one of value, sum_of_weights, "
249-
"sum_of_weights_squared, sum_of_weighted_deltas_squared")
249+
"sum_of_weights_squared, _sum_of_weighted_deltas_squared")
250250
.format(key));
251251
})
252252

@@ -255,7 +255,7 @@ void register_accumulators(py::module& accumulators) {
255255
return py::make_tuple("value",
256256
"sum_of_weights",
257257
"sum_of_weights_squared",
258-
"sum_of_weighted_deltas_squared");
258+
"_sum_of_weighted_deltas_squared");
259259
})
260260

261261
;

tests/test_storage.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,9 @@ def test_setting_weighted_profile():
153153
assert b["value"][0] == h[0].value
154154
assert b["sum_of_weights"][0] == h[0].sum_of_weights
155155
assert b["sum_of_weights_squared"][0] == h[0].sum_of_weights_squared
156-
assert b["sum_of_weighted_deltas_squared"][0] == h[0].sum_of_weighted_deltas_squared
156+
assert (
157+
b["_sum_of_weighted_deltas_squared"][0] == h[0]._sum_of_weighted_deltas_squared
158+
)
157159

158160
h[0] = bh.accumulators.WeightedMean(
159161
sum_of_weights=6, sum_of_weights_squared=12, value=3, variance=2
@@ -165,25 +167,29 @@ def test_setting_weighted_profile():
165167
assert h[0].variance == 2
166168
assert h[0].sum_of_weights == 6
167169
assert h[0].sum_of_weights_squared == 12
168-
assert h[0].sum_of_weighted_deltas_squared == 8
170+
assert h[0]._sum_of_weighted_deltas_squared == 8
169171

170172
assert b["value"][0] == h[0].value
171173
assert b["sum_of_weights"][0] == h[0].sum_of_weights
172174
assert b["sum_of_weights_squared"][0] == h[0].sum_of_weights_squared
173-
assert b["sum_of_weighted_deltas_squared"][0] == h[0].sum_of_weighted_deltas_squared
175+
assert (
176+
b["_sum_of_weighted_deltas_squared"][0] == h[0]._sum_of_weighted_deltas_squared
177+
)
174178

175179
assert b[0]["value"] == a[0]["value"]
176180
assert b[0]["sum_of_weights"] == a[0]["sum_of_weights"]
177181
assert b[0]["sum_of_weights_squared"] == a[0]["sum_of_weights_squared"]
178182
assert (
179-
b[0]["sum_of_weighted_deltas_squared"] == a[0]["sum_of_weighted_deltas_squared"]
183+
b[0]["_sum_of_weighted_deltas_squared"]
184+
== a[0]["_sum_of_weighted_deltas_squared"]
180185
)
181186

182187
assert b[0]["value"] == a["value"][0]
183188
assert b[0]["sum_of_weights"] == a["sum_of_weights"][0]
184189
assert b[0]["sum_of_weights_squared"] == a["sum_of_weights_squared"][0]
185190
assert (
186-
b[0]["sum_of_weighted_deltas_squared"] == a["sum_of_weighted_deltas_squared"][0]
191+
b[0]["_sum_of_weighted_deltas_squared"]
192+
== a["_sum_of_weighted_deltas_squared"][0]
187193
)
188194

189195
assert_array_equal(a.view().value, b.view()["value"])
@@ -192,6 +198,6 @@ def test_setting_weighted_profile():
192198
a.view().sum_of_weights_squared, b.view()["sum_of_weights_squared"]
193199
)
194200
assert_array_equal(
195-
a.view().sum_of_weighted_deltas_squared,
196-
b.view()["sum_of_weighted_deltas_squared"],
201+
a.view()._sum_of_weighted_deltas_squared,
202+
b.view()["_sum_of_weighted_deltas_squared"],
197203
)

0 commit comments

Comments
 (0)