accumulator

積分器です。 積分するサンプル量が大きい場合の使用に適しています。

  1. auto accumulator(size_t integN)
    accumulator
    (
    E
    )
    (
    size_t integN
    )
  2. auto accumulator(Sg sg, size_t bufSize)
  3. auto accumulator(Sg sg, E[] buffer)

Examples

scope(failure) {writefln("Unittest failure :%s(%s)", __FILE__, __LINE__); stdout.flush();}
scope(success) {writefln("Unittest success :%s(%s)", __FILE__, __LINE__); stdout.flush();}

auto acc = accumulator!int(4);
static assert(isOutputStream!(typeof(acc), int));

assert(acc.write([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]).empty);
assert(equal(acc[], [0+1+2+3, 4+5+6+7]));

acc.write([10, 11]);
assert(equal(acc[], [0+1+2+3, 4+5+6+7, 8+9+10+11]));

Meta