Logo Deedle

VectorConstruction Type

A "mini-DSL" that describes construction of a vector. Vector can be constructed from various range operations (relocate, drop, slicing, appending), by combination of two vectors or by taking a vector from a list of variables. Notably, vectors can only be constructed from other vectors of the same type (the `Combine` operation requires this - even though that one could be made more general). This is an intentional choice to make the representation simpler. Logically, when we apply some index operation, we should get back a polymorphic vector construction (`\forall T. VectorConstruction`) that can be applied to variuous different vector types. That would mean adding some more types, so we just model vector construction as an untyped operation and the typing is resquired by the `Build` method of the vector builder.

Union cases

Union case Description

Append two vectors after each other

Item1 : VectorConstruction
Item2 : VectorConstruction

AsyncCustomCommand(VectorConstruction list, IVector list -> Async<IVector>)

Full Usage: AsyncCustomCommand(VectorConstruction list, IVector list -> Async<IVector>)

Parameters:

Same as `CustomCommand` with the difference that the resulting vector is returned asynchronously (this is useful for lazy loading and it is used by `AsyncBuild`).

Item1 : VectorConstruction list
Item2 : IVector list -> Async<IVector>

Combine(Lazy<int64>, VectorConstruction list, VectorListTransform)

Full Usage: Combine(Lazy<int64>, VectorConstruction list, VectorListTransform)

Parameters:

Combine N aligned vectors. The `IVectorValueListTransform` object specifies how to merge values (in case there is a value at a given address in more than one of the vectors).

Item1 : Lazy<int64>
Item2 : VectorConstruction list
Item3 : VectorListTransform

CustomCommand(VectorConstruction list, IVector list -> IVector)

Full Usage: CustomCommand(VectorConstruction list, IVector list -> IVector)

Parameters:

Apply a custom command to a vector - this can be used by special indices (e.g. index for a lazy vector) to provide a custom operations to be used. The first parameter is a list of sub-vectors to be combined (if as in e.g. `Append`) and the second argument is a function that will be called with evaluated vectors and is supposed to create the new vector.

Item1 : VectorConstruction list
Item2 : IVector list -> IVector

Drop the specified range of addresses from the vector and return a new vector that excludes the range

Item1 : VectorConstruction
Item2 : RangeRestriction<Address>

Empty int64

Full Usage: Empty int64

Parameters:
    Item : int64

Creates an empty vector of the requested type and size The returned vector is filled with missing values.

Item : int64

Create a vector that has missing values filled using the specified direction (forward means that n-th value will contain (n-i)-th value where (n-i) is the first index that contains a value).

Item1 : VectorConstruction
Item2 : VectorFillMissing

Get the specified range of addresses from the vector and return it as a new vector

Item1 : VectorConstruction
Item2 : RangeRestriction<Address>

Relocate(VectorConstruction, int64, (Address * Address) seq)

Full Usage: Relocate(VectorConstruction, int64, (Address * Address) seq)

Parameters:

Reorders elements of the vector. Carries a new required vector length and a list of relocations (each pair of addresses specifies that an element at a new address should be filled with an element from an old address). The addresses may be out of range!

Item1 : VectorConstruction
Item2 : int64
Item3 : (Address * Address) seq

Return VectorHole

Full Usage: Return VectorHole

Parameters:

When constructing vectors, we get an array of vectors to be used as "variables" - this element represent getting one of the variables.

Item : VectorHole

Instance members

Instance member Description

this.IsAppend

Full Usage: this.IsAppend

Returns: bool
Returns: bool

this.IsAsyncCustomCommand

Full Usage: this.IsAsyncCustomCommand

Returns: bool
Returns: bool

this.IsCombine

Full Usage: this.IsCombine

Returns: bool
Returns: bool

this.IsCustomCommand

Full Usage: this.IsCustomCommand

Returns: bool
Returns: bool

this.IsDropRange

Full Usage: this.IsDropRange

Returns: bool
Returns: bool

this.IsEmpty

Full Usage: this.IsEmpty

Returns: bool
Returns: bool

this.IsFillMissing

Full Usage: this.IsFillMissing

Returns: bool
Returns: bool

this.IsGetRange

Full Usage: this.IsGetRange

Returns: bool
Returns: bool

this.IsRelocate

Full Usage: this.IsRelocate

Returns: bool
Returns: bool

this.IsReturn

Full Usage: this.IsReturn

Returns: bool
Returns: bool

Type something to start searching.