Skip to content

Commit bf238f3

Browse files
committed
Test Osc(subseq(X)) <= Osc(X) only for unique elements
1 parent b58cea1 commit bf238f3

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

docs/Measures-of-disorder.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,11 @@ Computes the *Oscillation* measure described by C. Levcopoulos and O. Petersson
305305

306306
`max_for_size`: it is reached when the values in $X$ are strongly oscillating, and equals $\frac{|X|(|X| - 2)}{2}$ when $|X|$ is even, and $\frac{|X|(|X| - 2) - 1}{2}$ when $|X|$ is odd.
307307

308-
**Note:** *Osc* does not respect Mannila's criterion 4: $Osc(\langle 0 \rangle) = 0$ and $Osc(\langle 3, 2, 1 \rangle) = 0$, but $Osc(\langle 0, 3, 2, 1 \rangle) = 2$.
308+
**Note:** *Osc* does not seem to respect Mannila's criterion 3 in the presence of *equivalent elements*.
309309

310-
**Note²:** *Osc* does not respect Mannila's criterion 5: $Osc(\langle 2, 4, 1, 3, 1, 3 \rangle) \not \le |\langle 4, 1, 3, 1, 3 \rangle| + Osc(\langle 4, 1, 3, 1, 3 \rangle)$, though it is possible that it only happens when equivalent elements are involved.
310+
**Note²:** *Osc* does not respect Mannila's criterion 4: $Osc(\langle 0 \rangle) = 0$ and $Osc(\langle 3, 2, 1 \rangle) = 0$, but $Osc(\langle 0, 3, 2, 1 \rangle) = 2$.
311+
312+
**Note³:** *Osc* does not respect Mannila's criterion 5: $Osc(\langle 2, 4, 1, 3, 1, 3 \rangle) \not \le |\langle 4, 1, 3, 1, 3 \rangle| + Osc(\langle 4, 1, 3, 1, 3 \rangle)$, though it is possible that it only happens when equivalent elements are involved.
311313

312314
### *Rem*
313315

tests/probes/every_probe_common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ TEMPLATE_TEST_CASE( "test M(subsequence(X)) <= M(X) for most probes M", "[probe]
171171
decltype(cppsort::probe::inv),
172172
decltype(cppsort::probe::max),
173173
decltype(cppsort::probe::mono),
174-
decltype(cppsort::probe::osc),
175174
decltype(cppsort::probe::rem),
176175
decltype(cppsort::probe::runs),
177176
decltype(cppsort::probe::spear),
@@ -189,6 +188,7 @@ TEMPLATE_TEST_CASE( "test M(subsequence(X)) <= M(X) for most probes M", "[probe]
189188
}
190189

191190
TEMPLATE_TEST_CASE( "test M(subsequence(X)) <= M(X) for most probes M (unique elements)", "[probe]",
191+
decltype(cppsort::probe::osc),
192192
decltype(cppsort::probe::block) )
193193
{
194194
// Same as above, but for probes that aren't well-behaved

0 commit comments

Comments
 (0)