Поделиться через


TensorSpan<T> Структура

Определение

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

generic <typename T>
public value class TensorSpan : System::Numerics::Tensors::IReadOnlyTensor<System::Numerics::Tensors::TensorSpan<T>, T>, System::Numerics::Tensors::ITensor<System::Numerics::Tensors::TensorSpan<T>, T>
public readonly ref struct TensorSpan<T> : System.Numerics.Tensors.IReadOnlyTensor<System.Numerics.Tensors.TensorSpan<T>,T>, System.Numerics.Tensors.ITensor<System.Numerics.Tensors.TensorSpan<T>,T>
type TensorSpan<'T> = struct
    interface ITensor<TensorSpan<'T>, 'T>
    interface ITensor
    interface IReadOnlyTensor
    interface IReadOnlyTensor<TensorSpan<'T>, 'T>
Public Structure TensorSpan(Of T)
Implements IReadOnlyTensor(Of TensorSpan(Of T), T), ITensor(Of TensorSpan(Of T), T)

Параметры типа

T

Тип элементов в диапазоне тензоров.

Наследование
TensorSpan<T>
Реализации

Конструкторы

Имя Описание
TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Создает новое над TensorSpan<T> предоставленным Array с помощью указанных смещений, длин и успехов.

TensorSpan<T>(Array)

Создает новое TensorSpan<T> над предоставленным Array. Новый TensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Array.

TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Создает новое поверх TensorSpan<T> предоставленного Span<T> с помощью указанных длин и успехов.

TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>)

Создает новый тензорный диапазон по целевому диапазону с использованием указанной длины.

TensorSpan<T>(Span<T>)

Создает новое TensorSpan<T> над предоставленным Span<T>. Новый TensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Span<T>.

TensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Создает новый диапазон по части целевого массива, начиная с индекса start и заканчивая индексом end (эксклюзивным).

TensorSpan<T>(T[], ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Создает новый тензор над частью целевого массива, начиная с указанного начального индекса и используя указанные длины и шаги.

TensorSpan<T>(T[], ReadOnlySpan<IntPtr>)

Создает новый тензор над частью целевого массива с помощью указанных длин.

TensorSpan<T>(T[])

Создает новый диапазон по всему целевому массиву.

TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Создает новый диапазон по целевому неуправляемого буфера.

TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>)

Создает новый тензорный диапазон по целевому неуправляемым буферу с использованием указанных длин.

TensorSpan<T>(T*, IntPtr)

Создает новый диапазон по целевому неуправляемого буфера.

Свойства

Имя Описание
Empty

Возвращает пустое TensorSpan<T>

FlattenedLength

Количество элементов в диапазоне.

HasAnyDenseDimensions

Возвращает значение, указывающее, имеет ли текущий тензор любой диапазон измерений, где IsDense находится true.

IsDense

Возвращает значение, указывающее, является ли текущий тензор плотным.

IsEmpty

Возвращает значение, указывающее, является ли это TensorSpan<T> пустым.

IsPinned

Возвращает значение, указывающее, закреплен ли базовый буфер.

Item[ReadOnlySpan<IntPtr>]

Возвращает ссылку на указанный элемент TensorSpan.

Item[ReadOnlySpan<NIndex>]

Возвращает ссылку на указанный элемент TensorSpan.

Item[ReadOnlySpan<NRange>]

Возвращает срез TensorSpan.

Lengths

Возвращает длину каждого измерения в этом TensorSpan<T>.

Rank

Получает ранг, ака количество измерений, из этого TensorSpan<T>.

Strides

Получает шаги этого TensorSpan<T>

Методы

Имя Описание
AsReadOnlyTensorSpan()

Создает новый тензор чтения по тензору.

AsReadOnlyTensorSpan(ReadOnlySpan<IntPtr>)

Создает новый тензор чтения по части тензора, начиная с указанной позиции до конца тензора.

AsReadOnlyTensorSpan(ReadOnlySpan<NIndex>)

Создает диапазон тензоров только для чтения для указанных начальных индексов.

AsReadOnlyTensorSpan(ReadOnlySpan<NRange>)

Создает новый тензор чтения по части тензора, определенной указанным диапазоном.

Clear()

Очищает содержимое этого диапазона.

CopyTo(TensorSpan<T>)

Копирует содержимое тензора в целевой тензорный диапазон.

Equals(Object)
Устаревшие..

Этот метод не поддерживается, так как диапазоны нельзя упаковать. Чтобы сравнить два диапазона, используйте оператор ==.

Fill(T)

Заполняет содержимое этого диапазона заданным значением.

FlattenTo(Span<T>)

Неструктурирует содержимое этого диапазона в предоставленный Span<T>.

GetDimensionSpan(Int32)

Возвращает диапазон, который можно использовать для доступа к неструктурированным элементам для заданного измерения.

GetEnumerator()

Возвращает перечислитель для диапазона тензоров.

GetHashCode()
Устаревшие..

Этот метод не поддерживается, так как диапазоны нельзя упаковать.

GetPinnableReference()

Возвращает ссылку на 0-й элемент TensorSpan. Если TensorSpan пуст, возвращает ссылку NULL. Его можно использовать для закрепления и требуется для поддержки использования диапазона в фиксированной инструкции.

GetSpan(ReadOnlySpan<IntPtr>, Int32)

Возвращает диапазон, начинающийся с указанного индекса и содержащий указанное количество элементов.

GetSpan(ReadOnlySpan<NIndex>, Int32)

Возвращает диапазон, начинающийся с указанного индекса и содержащий указанное количество элементов.

Slice(ReadOnlySpan<IntPtr>)

Формирует срез из текущего тензора, начинающегося с указанного индекса.

Slice(ReadOnlySpan<NIndex>)

Возвращает ссылку на указанный элемент TensorSpan.

Slice(ReadOnlySpan<NRange>)

Формирует срез из заданного диапазона.

ToString()

Для Span<T>этого возвращает новый экземпляр строки, представляющий символы, на которые указывает диапазон. В противном случае возвращает имя String типа и количество элементов.

ToString(ReadOnlySpan<IntPtr>)

String Создает представление тензора.

TryCopyTo(TensorSpan<T>)

Пытается скопировать содержимое этого тензора в диапазон тензора назначения и возвращает значение, указывающее, выполнена ли операция успешно.

TryFlattenTo(Span<T>)

Неструктурирует содержимое этого диапазона в предоставленный Span<T>.

TryGetSpan(ReadOnlySpan<IntPtr>, Int32, ReadOnlySpan<T>)

Пытается вернуть диапазон, начинающийся с указанного индекса, и содержит указанное количество элементов.

TryGetSpan(ReadOnlySpan<IntPtr>, Int32, Span<T>)

Пытается вернуть диапазон, начинающийся с указанного индекса, и содержит указанное количество элементов.

TryGetSpan(ReadOnlySpan<NIndex>, Int32, ReadOnlySpan<T>)

Пытается вернуть диапазон, начинающийся с указанного индекса, и содержит указанное количество элементов.

TryGetSpan(ReadOnlySpan<NIndex>, Int32, Span<T>)

Пытается вернуть диапазон, начинающийся с указанного индекса, и содержит указанное количество элементов.

Операторы

Имя Описание
Equality(TensorSpan<T>, TensorSpan<T>)

Возвращает значение, указывающее, равны ли два тензора.

Implicit(T[] to TensorSpan<T>)

Определяет неявное преобразование массива в диапазон тензоров.

Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>)

Определяет неявное преобразование тензора в диапазон тензора для чтения.

Inequality(TensorSpan<T>, TensorSpan<T>)

Возвращает значение, указывающее, не равны ли два тензорных диапазона.

Явные реализации интерфейса

Имя Описание
IReadOnlyTensor.Item[ReadOnlySpan<IntPtr>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor.Item[ReadOnlySpan<NIndex>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.CopyTo(TensorSpan<T>)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.GetDimensionSpan(Int32)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.GetPinnableReference()

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.GetSpan(ReadOnlySpan<IntPtr>, Int32)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.GetSpan(ReadOnlySpan<NIndex>, Int32)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.Item[ReadOnlySpan<IntPtr>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.Item[ReadOnlySpan<NIndex>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.ToDenseTensor()

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

IReadOnlyTensor<TensorSpan<T>,T>.TryCopyTo(TensorSpan<T>)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor.Fill(Object)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor.IsReadOnly

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor.Item[ReadOnlySpan<IntPtr>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor.Item[ReadOnlySpan<NIndex>]

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.AsTensorSpan()

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.AsTensorSpan(ReadOnlySpan<IntPtr>)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.AsTensorSpan(ReadOnlySpan<NIndex>)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.AsTensorSpan(ReadOnlySpan<NRange>)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.CreateFromShape(ReadOnlySpan<IntPtr>, Boolean)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.CreateFromShape(ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>, Boolean)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.CreateFromShapeUninitialized(ReadOnlySpan<IntPtr>, Boolean)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

ITensor<TensorSpan<T>,T>.CreateFromShapeUninitialized(ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>, Boolean)

Представляет смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.

Методы расширения

Имя Описание
BroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

Трансляция данных из sourcedestination.

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>)

tensor Обновляет тензор с valuesfilter указанным значением true. Если измерения не совпадают, создается исключение.

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T)

tensor Обновляет тензор с valuefilter указанным значением true.

Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>)

tensor Изменяет тензор на указанныйlengths. Если одна из длин равна -1, она будет вычисляться автоматически. Не изменяет длину базовой памяти и не выделяет новую память. Если новая фигура несовместима со старой фигурой, создается исключение.

SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>)

Определяет, равны ли две последовательности, сравнивая элементы с помощью IEquatable{T}. Equals(T).

SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>)

Задает срез заданного объекта tensor с предоставленным values для заданного ranges

Squeeze<T>(TensorSpan<T>)

Удаляет все измерения длины одного из tensor.

SqueezeDimension<T>(TensorSpan<T>, Int32)

Удаляет ось длины из tensor заданного.dimension Если измерение не имеет длины, это приведет к возникновению исключения.

TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

Передача данных из tensor наименьшей широковещательной фигуры, совместимой с destination и хранит ее в destination том случае, если фигуры несовместимы, возвращается значение false.

Unsqueeze<T>(TensorSpan<T>, Int32)

Вставьте новое измерение длины 1, которое будет отображаться в позиции измерения.

Операторы расширения

Имя Описание
Addition(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет умное добавление элементов между двумя тензорами.

Addition(TensorSpan<TScalar>, TScalar)

Выполняет умное добавление элементов между тензором и скалярным.

Addition(TScalar, TensorSpan<TScalar>)

Выполняет умное добавление элементов между тензором и скалярным.

AdditionAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет в месте добавление элементов между двумя тензорами.

AdditionAssignment(TScalar)

Выполняет тензорное и скалярное добавление элементов на месте.

BitwiseAnd(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет побитовую и между двумя тензорами.

BitwiseAnd(TensorSpan<TScalar>, TScalar)

Выполняет побитовую и между тензором и скалярной.

BitwiseAnd(TScalar, TensorSpan<TScalar>)

Выполняет побитовую и между тензором и скалярной.

BitwiseAndAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет побитовую побитовую и между двумя тензорами.

BitwiseAndAssignment(TScalar)

Выполняет побитовую побитовую и между тензором и скалярной.

BitwiseOr(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет побитовую или между двумя тензорами.

BitwiseOr(TensorSpan<TScalar>, TScalar)

Выполняет побитовое или между тензором и скалярным.

BitwiseOr(TScalar, TensorSpan<TScalar>)

Выполняет побитовое или между тензором и скалярным.

BitwiseOrAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет побитовую или между двумя тензорами.

BitwiseOrAssignment(TScalar)

Выполняет побитовую побитовую или между тензором и скалярным.

DecrementAssignment

Выполняет декремент на месте на тензоре.

Division(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет деление между двумя тензорами.

Division(TensorSpan<TScalar>, TScalar)

Выполняет деление по элементам между тензором и скалярным.

Division(TScalar, TensorSpan<TScalar>)

Выполняет деление по элементам между тензором и скалярным.

DivisionAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет разделение между двумя тензорами на месте.

DivisionAssignment(TScalar)

Выполняет деление на месте между тензором и скалярным.

ExclusiveOr(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет монопольное или между двумя тензорами.

ExclusiveOr(TensorSpan<TScalar>, TScalar)

Выполняет монопольное или между тензором и скалярным.

ExclusiveOr(TScalar, TensorSpan<TScalar>)

Выполняет монопольное или между тензором и скалярным.

ExclusiveOrAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет эксклюзивную или между двумя тензорами.

ExclusiveOrAssignment(TScalar)

Выполняет эксклюзивную или между тензором и скалярной.

IncrementAssignment

Выполняет добавочное увеличение на тензоре.

LeftShift(TensorSpan<TScalar>, Int32)

Выполняет смену тензора влево с помощью элемента.

LeftShiftAssignment(Int32)

Выполняет смену тензора влево с помощью элемента в месте.

MultiplicationAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет умножение на месте между двумя тензорами.

MultiplicationAssignment(TScalar)

Выполняет умножение на месте между тензором и скалярным.

Multiply(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет умножение элементов между двумя тензорами.

Multiply(TensorSpan<TScalar>, TScalar)

Выполняет умножение элементов между тензором и скалярным.

Multiply(TScalar, TensorSpan<TScalar>)

Выполняет умножение элементов между тензором и скалярным.

OnesComplement(TensorSpan<TScalar>)

Выполняет дополнение к тензору.

RightShift(TensorSpan<TScalar>, Int32)

Выполняет арифметическую арифметическую смену элемента вправо на тензор.

RightShiftAssignment(Int32)

Выполняет арифметические сдвиги вправо на месте на тензоре.

Subtraction(TensorSpan<TScalar>, TensorSpan<TScalar>)

Выполняет вычитание элементов между двумя тензорами.

Subtraction(TensorSpan<TScalar>, TScalar)

Выполняет вычитание с помощью элементов между тензором и скалярным.

Subtraction(TScalar, TensorSpan<TScalar>)

Выполняет вычитание с помощью элементов между тензором и скалярным.

SubtractionAssignment(ReadOnlyTensorSpan<TScalar>)

Выполняет вычитание между двумя тензорами на месте.

SubtractionAssignment(TScalar)

Выполняет вычитание на месте между тензором и скалярным.

UnaryNegation(TensorSpan<TScalar>)

Выполняет унарное отрицание элемента на тензоре.

UnaryPlus(TensorSpan<TScalar>)

Выполняет унарный элемент, а также тензор.

UnsignedRightShift(TensorSpan<TScalar>, Int32)

Выполняет логическую смену в тензоре.

UnsignedRightShiftAssignment(Int32)

Выполняет логическую логическую смену тензора на месте.

Применяется к