#include "diplib/distribution.h"
Sample class
One sample of a distribution.
Contents
A sample implicitly converts to dip::dfloat
, evaluating to the value of y for
the sample. For multi-valued samples, evaluates to the first y value.
Given a Sample
s
, s.X()
accesses the x-value of the sample, s.Y()
accesses
the (first) y-value, s.Y(ii)
accesses the (ii+1)
-th y value, and s.Y(ii,jj)
accesses
the element at (ii
,jj
). s.Y(ii,jj)
is equivalent to s.Y(ii+jj*nRows)
, where nRows
is the number of rows in the matrix. None of these accessors test for out-of-bounds accesses.
Constructors, destructors, assignment and conversion operators
- Sample() deleted
- Not default constructable
- Sample(dip::Distribution::Sample&& ) defaulted
- Move constructor
- Sample(dip::Distribution::Sample const& ) defaulted
- Copy constructor, references the same data. Careful!
- auto operator=(dip::Distribution::Sample&& other) -> dip::Distribution::Sample&
- Move assignment actually copies value over to sample referenced
- auto operator=(dip::Distribution::Sample const& other) -> dip::Distribution::Sample&
- Copy assignment, data is copied to sample referenced
Functions
- auto X() -> dip::Distribution::ValueType&
- Returns reference to sample’s x value.
- auto Y(dip::uint index = 0) -> dip::Distribution::ValueType&
- Returns reference to sample’s
(index+1)
-th y value. - auto Y(dip::uint row, dip::uint col) -> dip::Distribution::ValueType&
- Returns reference to sample’s y value at (
row
,col
). - void swap(dip::Distribution::Sample& other)
- Swaps two samples, copying the data from
other
to*this
, and that from*this
toother
. Both must have the same number of values.
Operators
- auto operator dfloat() const -> dip::dfloat
- Implicitly casts to sample’s first y value.