pub struct Measurement {
pub timestamp: f64,
pub wpm: Wpm,
pub ipm: Ipm,
pub accuracy: Accuracy,
pub consistency: Consistency,
}Expand description
Point-in-time snapshot of all typing performance metrics
Measurements are taken at regular intervals during typing to track performance changes over time and calculate consistency.
Fields§
§timestamp: f64When this measurement was taken (seconds from session start)
wpm: WpmWords per minute at this point in time
ipm: IpmInputs per minute at this point in time
accuracy: AccuracyTyping accuracy at this point in time
consistency: ConsistencyTyping consistency up to this point in time
Implementations§
Source§impl Measurement
impl Measurement
Sourcepub fn new(
timestamp: f64,
input_len: usize,
previous_measurements: &[Measurement],
input_history: &[Input],
adds: usize,
errors: usize,
corrections: usize,
) -> Self
pub fn new( timestamp: f64, input_len: usize, previous_measurements: &[Measurement], input_history: &[Input], adds: usize, errors: usize, corrections: usize, ) -> Self
Create a new measurement snapshot from current session data
Calculates all performance metrics based on the current state of the typing session. Consistency is calculated using all previous measurements plus the current one.
§Performance
- Time complexity: O(m) where m = number of previous measurements
- Space complexity: O(m) for temporary Vec of WPM values during consistency calculation
- Dominated by Welford’s algorithm for standard deviation calculation
§Parameters
timestamp- Current time in seconds from session startinput_len- Current length of the typed inputprevious_measurements- All measurements taken so far in this sessioninput_history- Complete history of keystrokesadds- Total number of characters added (not including deletions)errors- Total number of errors madecorrections- Total number of corrections made
Trait Implementations§
Source§impl Clone for Measurement
impl Clone for Measurement
impl Copy for Measurement
Source§impl Debug for Measurement
impl Debug for Measurement
Source§impl PartialEq for Measurement
impl PartialEq for Measurement
impl StructuralPartialEq for Measurement
Auto Trait Implementations§
impl Freeze for Measurement
impl RefUnwindSafe for Measurement
impl Send for Measurement
impl Sync for Measurement
impl Unpin for Measurement
impl UnsafeUnpin for Measurement
impl UnwindSafe for Measurement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more