public static Series <K, U> ChunkInto <K, V, U>(this Series <K, V> series, int size, Func <Series <K, V>, U> reduce) { int num1 = size; FSharpFunc <Series <K, V>, U> g = (FSharpFunc <Series <K, V>, U>) new SeriesExtensions.ChunkInto <K, V, U>(reduce); Series <K, V> series1 = series; int num2 = num1; Boundary boundary = Boundary.Skip; FSharpFunc <DataSegment <Series <K, V> >, U> f = (FSharpFunc <DataSegment <Series <K, V> >, U>) new SeriesExtensions.ChunkInto <K, V, U>((FSharpFunc <DataSegment <Series <K, V> >, Series <K, V> >) new SeriesExtensions.ChunkInto <K, V>(), g); Series <K, V> series2 = series1; Tuple <int, Boundary> bounds = new Tuple <int, Boundary>(num2, boundary); Series <K, V> series3 = series2; Tuple <int, Boundary> tuple = bounds; Aggregation <K> aggregation = Aggregation <K> .NewChunkSize(tuple.Item1, tuple.Item2); Func <DataSegment <Series <K, V> >, K> keySelector = new Func <DataSegment <Series <K, V> >, K>(new SeriesExtensions.ChunkInto0 <K, V>(bounds).Invoke); Func <DataSegment <Series <K, V> >, OptionalValue <U> > valueSelector = new Func <DataSegment <Series <K, V> >, OptionalValue <U> >(new SeriesExtensions.ChunkInto3 <K, V, U>(f).Invoke); return(series3.Aggregate <K, U>(aggregation, keySelector, valueSelector)); }
public static Series <K, Series <K, V> > Chunk <K, V>(this Series <K, V> series, int size) { int num1 = size; Series <K, V> series1 = series; int num2 = num1; Boundary boundary = Boundary.Skip; Series <K, V> series2 = series1; Tuple <int, Boundary> tuple1 = new Tuple <int, Boundary>(num2, boundary); FSharpFunc <DataSegment <Series <K, V> >, Series <K, V> > f = (FSharpFunc <DataSegment <Series <K, V> >, Series <K, V> >) new SeriesExtensions.Chunk <K, V>(); Series <K, V> series3 = series2; Tuple <int, Boundary> bounds = new Tuple <int, Boundary>(tuple1.Item1, tuple1.Item2); Series <K, V> series4 = series3; Tuple <int, Boundary> tuple2 = bounds; Aggregation <K> aggregation = Aggregation <K> .NewChunkSize(tuple2.Item1, tuple2.Item2); Func <DataSegment <Series <K, V> >, K> keySelector = new Func <DataSegment <Series <K, V> >, K>(new SeriesExtensions.Chunk <K, V>(bounds).Invoke); Func <DataSegment <Series <K, V> >, OptionalValue <Series <K, V> > > valueSelector = new Func <DataSegment <Series <K, V> >, OptionalValue <Series <K, V> > >(new SeriesExtensions.Chunk <K, V>(f).Invoke); return(series4.Aggregate <K, Series <K, V> >(aggregation, keySelector, valueSelector)); }
public static Series <K2, U> ChunkInto <K1, V, K2, U>(this Series <K1, V> series, int size, Func <Series <K1, V>, KeyValuePair <K2, U> > selector) { return(series.Aggregate <K2, U>(Aggregation <K1> .NewChunkSize(size, Boundary.Skip), new Func <DataSegment <Series <K1, V> >, KeyValuePair <K2, OptionalValue <U> > >(new SeriesExtensions.ChunkInto <K1, V, K2, U>(selector).Invoke))); }