MonteCarloMeasurementUncertainty (MCMU) API
MonteCarloMeasurementUncertainty.AccumulatedSeries
MonteCarloMeasurementUncertainty.MonteCarloMeasurement
MonteCarloMeasurementUncertainty.TimeSeries
Base.eltype
Base.push!
Base.push!
Base.push!
Measurements.measurement
MonteCarloMeasurementUncertainty.binning_analysis
MonteCarloMeasurementUncertainty.binning_analysis
MonteCarloMeasurementUncertainty.name
MonteCarloMeasurementUncertainty.AccumulatedSeries
— TypeAccumulatedSeries{T}(::String = "") (default T == Float64)
AccumulatedSeries{T}(::String = "", [::Int]) (default T == Float64)
A type of MonteCarloMeasurement
that accumulates statistics for a given observable while performing an online binning analysis provided by OnlineLogBinning.jl
.
The pre-allocated AccumulatedSeries
takes a String
as the first argument and an Int
eger denoting the anticipated datastream length as the second.
MonteCarloMeasurementUncertainty.MonteCarloMeasurement
— TypeMonteCarloMeasurement
Abstract type that provides an interface for all MonteCarloMeasurement
s.
Required Interface Functions
The following functions must have methods
defined for each new MonteCarloMeasurement
.
push!
: Move a new measurement into theMonteCarloMeasurement
instance.
Default Interface Functions
The following functions have a default method
for any given MonteCarloMeasurement
.
name
: Define aname
for a givenMonteCarloMeasurement
instance.measurement
: Construct a measurement fromMeasurements.jl
.
MonteCarloMeasurementUncertainty.TimeSeries
— TypeTimeSeries{T <: Number} <: MonteCarloMeasurement
A type of MonteCarloMeasurement
that stores the measurements in a datastream::Vector{T}
. Statistics are not accumulated in an online way.
Base.eltype
— Methodeltype(meas::TimeSeries)
Base overload of eltype
. A wrapper around eltype(meas.datastream)
.
Base.push!
— Methodpush!(meas::AccumulatedSeries, value)
push!
a single value
or many value
s into a [AccumulatedSeries
] datastream
.
Base.push!
— Methodpush!(meas::TimeSeries, value)
push!
an iterable many value
s into a [TimeSeries
] datastream
.
Additional Information
If the values are sufficiently long, this will trigger the datastream
to be resize!
d which can have O(n)
complexity. It is preferred to preallocate the requisite memory with TimeSeries
(name, size)
.
Base.push!
— Methodpush!(meas::TimeSeries, single_value::Number)
push!
a single numerical value into the datastream. If the current datastream is full, meaning length(meas.datastream) == meas.current_index
, then the datastream is resize!
d when the value is pushed. Can result in O(n)
complexity.
Measurements.measurement
— Methodmeasurement(::MonteCarloMeasurement)
Dispatch on measurement
from Measurements.jl
for a MonteCarloMeasurement
. This will call a binning_analysis
on the datastream stored in the argument.
julia> acc = AccumulatedSeries("Measurement Test");
julia> for idx ∈ 1:Int(2^18) push!(acc, idx % 512) end;
julia> measurement(acc)
260.0 ± 150.0
MonteCarloMeasurementUncertainty.binning_analysis
— Methodbinning_analysis(meas::AccumulatedSeries)
Return the BinningAccumulator
from the AccumulatedSeries
.
MonteCarloMeasurementUncertainty.binning_analysis
— Methodbinning_analysis(meas::TimeSeries)
Construct a BinningAccumulator
and push!
the datastream into it. Then return the newly constructed BinningAccumulator
.
MonteCarloMeasurementUncertainty.name
— Methodname(meas::MonteCarloMeasurement)
Return the name
defined by the input MonteCarloMeasurement
.
julia> meas = TimeSeries("Walter White");
julia> name(meas)
"Walter White"