The OpenD Programming Language

categoricalCDF

Computes the Categorical cumulative distribution function (CDF).

  1. sumType!(Slice!(Iterator, 1, kind)) categoricalCDF(size_t x, Slice!(Iterator, 1, kind) p)
    @safe pure nothrow @nogc
    sumType!(Slice!(Iterator, 1, kind))
    categoricalCDF
    (
    Iterator
    SliceKind kind
    )
    (
    const size_t x
    ,
    scope const Slice!(Iterator, 1, kind) p
    )
    if (
    isFloatingPoint!(elementType!(Slice!(Iterator, 1, kind)))
    )
  2. T categoricalCDF(size_t x, T[] p)

Parameters

x size_t

value to evaluate CDF

p Slice!(Iterator, 1, kind)

slice containing the probability associated with the Categorical Distribution

Examples

import mir.ndslice.slice: sliced;
import mir.test: shouldApprox;

static immutable x = [0.1, 0.5, 0.4];
auto p = x.sliced;

0.categoricalCDF(p).shouldApprox == 0.1;
1.categoricalCDF(p).shouldApprox == 0.6;
2.categoricalCDF(p).shouldApprox == 1.0;

Can also use dynamic array

import mir.test: shouldApprox;

double[] p = [0.1, 0.5, 0.4];

0.categoricalCDF(p).shouldApprox == 0.1;
1.categoricalCDF(p).shouldApprox == 0.6;
2.categoricalCDF(p).shouldApprox == 1.0;

See Also

Meta