MonteCarloMeasurementUncertainty (MCMU) API
MonteCarloMeasurementUncertainty.AccumulatedSeriesMonteCarloMeasurementUncertainty.MonteCarloMeasurementMonteCarloMeasurementUncertainty.TimeSeriesBase.eltypeBase.push!Base.push!Base.push!Measurements.measurementMonteCarloMeasurementUncertainty.binning_analysisMonteCarloMeasurementUncertainty.binning_analysisMonteCarloMeasurementUncertainty.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 Integer denoting the anticipated datastream length as the second.
MonteCarloMeasurementUncertainty.MonteCarloMeasurement — TypeMonteCarloMeasurementAbstract type that provides an interface for all MonteCarloMeasurements.
Required Interface Functions
The following functions must have methods defined for each new MonteCarloMeasurement.
push!: Move a new measurement into theMonteCarloMeasurementinstance.
Default Interface Functions
The following functions have a default method for any given MonteCarloMeasurement.
name: Define anamefor a givenMonteCarloMeasurementinstance.measurement: Construct a measurement fromMeasurements.jl.
MonteCarloMeasurementUncertainty.TimeSeries — TypeTimeSeries{T <: Number} <: MonteCarloMeasurementA 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 values into a [AccumulatedSeries] datastream.
Base.push! — Methodpush!(meas::TimeSeries, value)push! an iterable many values 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.0MonteCarloMeasurementUncertainty.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"