Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
 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)));
 }