Пример #1
0
            internal static Range FromTextLoaderRange(TextLoader.Range range)
            {
                Contracts.Assert(range.Max.HasValue);

                var dbRange = new Range(range.Min, range.Max.Value);

                dbRange.ForceVector = range.ForceVector;
                return(dbRange);
            }
Пример #2
0
        private TextLoader.Column GetColumn(string name, ColumnType type, int?start)
        {
            DataKind?kind;
            KeyRange keyRange = null;

            if (type.ItemType.IsKey)
            {
                var key = type.ItemType.AsKey;
                if (!key.Contiguous)
                {
                    keyRange = new KeyRange(key.Min, contiguous: false);
                }
                else if (key.Count == 0)
                {
                    keyRange = new KeyRange(key.Min);
                }
                else
                {
                    Contracts.Assert(key.Count >= 1);
                    keyRange = new KeyRange(key.Min, key.Min + (ulong)(key.Count - 1));
                }
                kind = key.RawKind;
            }
            else
            {
                kind = type.ItemType.RawKind;
            }

            TextLoader.Range[] source = null;

            TextLoader.Range range = null;
            int minValue           = start ?? -1;

            if (type.IsKnownSizeVector)
            {
                range = new TextLoader.Range {
                    Min = minValue, Max = minValue + type.ValueCount - 1, ForceVector = true
                }
            }
            ;
            else if (type.IsVector)
            {
                range = new TextLoader.Range {
                    Min = minValue, VariableEnd = true
                }
            }
            ;
            else
            {
                range = new TextLoader.Range {
                    Min = minValue
                }
            };
            source = new TextLoader.Range[1] {
                range
            };
            return(new TextLoader.Column()
            {
                Name = name, KeyRange = keyRange, Source = source, Type = kind
            });
        }
Пример #3
0
 internal static Range FromTextLoaderRange(TextLoader.Range range)
 {
     Contracts.Assert(range.Max.HasValue);
     return(new Range(range.Min, range.Max.Value));
 }
 internal static Range FromTextLoaderRange(TextLoader.Range range)
 {
     return(new Range(range.Min, range.Max));
 }