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>(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 находится |
| 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>) |
Трансляция данных из |
| FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>) |
|
| FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T) |
|
| Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
|
| SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>) |
Определяет, равны ли две последовательности, сравнивая элементы с помощью IEquatable{T}. Equals(T). |
| SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>) |
Задает срез заданного объекта |
| Squeeze<T>(TensorSpan<T>) |
Удаляет все измерения длины одного из |
| SqueezeDimension<T>(TensorSpan<T>, Int32) |
Удаляет ось длины из |
| TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Передача данных из |
| 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) |
Выполняет логическую логическую смену тензора на месте. |