Skip to main content

TestReadout

Struct TestReadout 

Source
pub struct TestReadout {
    pub due: bool,
    pub checks: u64,
    pub control: u64,
    pub refused: u64,
    pub sessions: u32,
    pub kept: u64,
    pub by_asked: Vec<(u16, Estimate)>,
    pub ask_free: Option<Estimate>,
}
Expand description

The question-count test’s readout (module doc), from the summary’s fold (select/summary.rs Experiment, Check::xk): its checks that drew a count (randomised), of them the control arm’s, those the gate refused (the fixed rule played) and the sessions with a drawn one, all-time; once due (TEST_CHECKS, TEST_SESSIONS), and only then, its estimates over the drawn checks the summary still holds (kept: compaction drops the oldest checks, select/summary.rs compact, never the counts), refused ones included, each with its session’s bootstrap 95% interval (ope::snips). Each a Horvitz–Thompson mean over every unit that could go either way, so a unit’s outcome y·ω (unit_outcome) counts even when it is 0: a verdict weighed by its inverse chance of one (policy.rs judged, the monitor’s), a lesson never delivered 0 (it changed nothing), one closed without a verdict 0 (its route’s judged ones stand in for it), one still open out until it closes.

  • by_asked, dilution, per m ≥ 2: the test’s top lesson (the first of select/policy.rs tested, asked at every s ≥ 1) asked with m of the test’s questions against asked alone, over the drawn checks with k ≥ m: Σ (k + 1)·([s = m] − [s = 1])·y·ω / n. s is uniform in 0..=k, so the same lesson’s two draws differ in the number asked alone (grade mix, the 3s and k do not enter); by the drawn s, a count the gate refused played as the fixed rule (intention to treat).
  • ask_free, asking a 2 against handing it over: Σ([asked]·y·ω/p − [free]·y·ω/pf)/n over the 2s that could go either way (0 < p, pf; the logged propensities are the draw’s, a refused count’s routes the fixed rule’s, select/policy.rs choose), a difference of change rates.

Fields§

§due: bool§checks: u64§control: u64§refused: u64§sessions: u32§kept: u64

The drawn checks the summary still holds, which the estimates read.

§by_asked: Vec<(u16, Estimate)>§ask_free: Option<Estimate>

Trait Implementations§

Source§

impl Clone for TestReadout

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TestReadout

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for TestReadout

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for TestReadout

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TestReadout

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.