Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

mir.ndslice.ndfield

This is a submodule of mir.ndslice.
NdField is a type with opIndex(size_t[N] index...) primitive. An ndslice can be created on top of a ndField using slicedNdField .

NdFields

NdField Name Used By
Cartesian cartesian 
Kronecker kronecker 
See Also:
License:
Authors:
Ilya Yaroshenko
struct Cartesian(NdFields...) if (NdFields.length > 1);
NdFields _fields;
const @property auto lightConst()();
immutable @property auto lightImmutable()();
const @property scope @safe size_t length(size_t d = 0)();
const @property scope @safe size_t[N] shape()();
const @property scope @safe size_t elementCount()();
auto opIndex(size_t[N] indices...);
struct Kronecker(alias fun, NdFields...) if (NdFields.length > 1 && allSatisfy!(templateOr!(hasShape, hasLength), NdFields[1 .. $]));
NdFields _fields;
const @property auto lightConst()();
immutable @property auto lightImmutable()();
const @property scope size_t length(size_t d = 0)();
const @property scope size_t[N] shape()();
const @property scope size_t elementCount()();
ref auto opIndex()(size_t[N] indices...);