The OpenD Programming Language

rcUnionSeries

Merges multiple (time) series into one.

  1. auto rcUnionSeries(Series!(IndexIterator, Iterator, N, kind) a, Series!(IndexIterator, Iterator, N, kind) b)
  2. auto rcUnionSeries(Series!(IndexIterator, Iterator, N, kind) a, Series!(IndexIterator, Iterator, N, kind) b, Series!(IndexIterator, Iterator, N, kind) c)
    @safe
    rcUnionSeries
    (
    IndexIterator
    Iterator
    size_t N
    SliceKind kind
    )
    (
    Series!(IndexIterator, Iterator, N, kind) a
    ,
    Series!(IndexIterator, Iterator, N, kind) b
    ,
    Series!(IndexIterator, Iterator, N, kind) c
    )
  3. auto rcUnionSeries(Series!(IndexIterator, Iterator, N, kind) a, Series!(IndexIterator, Iterator, N, kind) b, Series!(IndexIterator, Iterator, N, kind) c, Series!(IndexIterator, Iterator, N, kind) d)

Return Value

Type: auto

sorted manually allocated series. See_also unionSeries

Examples

import mir.rc.array;

//////////////////////////////////////
// Constructs two time-series.
//////////////////////////////////////
auto index0 = [1,3,4];

auto data0 = [1.0, 3, 4];
auto series0 = index0.series(data0);

auto index1 = [1,2,5];

auto data1 = [10.0, 20, 50];
auto series1 = index1.series(data1);

//////////////////////////////////////
// Merges multiple series into one.
//////////////////////////////////////

Series!(RCI!int, RCI!double) m0 = rcUnionSeries(series0, series1);
Series!(RCI!int, RCI!double) m1 = rcUnionSeries(series1, series0); // order is matter

assert(m0.index == m1.index);
assert(m0.data == [ 1, 20,  3,  4, 50]);
assert(m1.data == [10, 20,  3,  4, 50]);

Meta