Skip to main content

Test

Struct Test 

Source
pub struct Test {
Show 13 fields pub risk: f64, pub set: bool, pub ran: u64, pub control: u64, pub refused: u64, pub sessions: u64, pub kept: u64, pub by_k: Vec<Draws>, pub due: bool, pub due_checks: u64, pub due_sessions: u64, pub dilution: Vec<Estimate>, pub ask_free: Option<Estimate>,
}
Expand description

The randomised question-count test of the learned policy (select/policy.rs choose; docs/delivery.md “The question-count test”), all-time as the summary counts it (select/summary.rs Experiment), never recounted from the log. On a live check, of the k lessons below grade 3 the fixed rule delivers and that may go free, s drawn uniformly in 0..=k are asked and the rest handed over: nothing is withheld.

Fields§

§risk: f64

The share of the fixed rule’s value the gate may risk on it: the collective’s risk in collectives.json (select.rs risk_of), else select/policy.rs ALPHA. 0: the test is off.

§set: bool

Whether the collective sets risk (false: the default ALPHA).

§ran: u64

Checks the test drew a count for (played or refused by the gate), and of them the control arm’s (experiment_control: s is the fixed rule’s own count, so it routed as the fixed rule).

§control: u64§refused: u64

Of them, checks the gate refused it: the draw’s risk did not fit what the gate may still risk, so the fixed rule decided (source gate).

§sessions: u64

The sessions with a check the test drew a count for.

§kept: u64

Of ran, the drawn checks the summary still holds, which the readout’s estimates read (select/replay.rs TestReadout::kept): compaction drops the oldest checks, never the counts.

§by_k: Vec<Draws>

Per k, how often each s was drawn (draws[s], s from 0 to k) and the checks refused at that k.

§due: bool

The pre-registered readout (select/replay.rs test_readout): due after TEST_CHECKS checks drawn or TEST_SESSIONS sessions with one, and only then estimated, each with its session-bootstrap 95% interval: per number m ≥ 2 of the test’s questions asked, the test’s top lesson’s change rate against asked alone (dilution, unit points changed), and asking a grade 2 against handing it over (ask_free, unit points changed). Empty and None until due, or with no drawn check.

§due_checks: u64§due_sessions: u64§dilution: Vec<Estimate>§ask_free: Option<Estimate>

Implementations§

Source§

impl Test

Source

pub fn of(summary: &Summary, risk: Option<f64>) -> Test

The summary’s counts (select/summary.rs Experiment) and its readout (select/replay.rs test_readout), under the risk share risk the collective sets (None: ALPHA).

Trait Implementations§

Source§

impl Clone for Test

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 Test

Source§

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

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

impl Default for Test

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Test

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 Test

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 Test

Auto Trait Implementations§

§

impl Freeze for Test

§

impl RefUnwindSafe for Test

§

impl Send for Test

§

impl Sync for Test

§

impl Unpin for Test

§

impl UnsafeUnpin for Test

§

impl UnwindSafe for Test

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.