TensorSpan<T> Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
TensorSpan представляет собой смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.
generic <typename T>
public value class TensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct TensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type TensorSpan<'T> = struct
Public Structure TensorSpan(Of T)
Параметры типа
- T
- Наследование
- Атрибуты
Конструкторы
TensorSpan<T>(Array) |
Создает новый TensorSpan<T> над предоставленным Array. Новый TensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Array. |
TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый TensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый TensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
TensorSpan<T>(Span<T>) |
Создает новый TensorSpan<T> над предоставленным Span<T>. Новый TensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Span<T>. |
TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый TensorSpan<T> над предоставленным Span<T> с помощью указанных длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
TensorSpan<T>(T*, IntPtr) |
Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, длина не проверяется. Но если это создание правильно, то все последующие использования правильны. |
TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, потому что длина не проверяется. Но если это создание правильно, то все последующие использования правильны. |
TensorSpan<T>(T[]) |
Создает новый диапазон по всему целевому массиву. |
TensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по части целевого массива, начиная с индекса start и заканчивая индексом end (эксклюзивным). |
TensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по части целевого массива, начиная с индекса start и заканчивая индексом end (эксклюзивным). |
Свойства
Empty |
Возвращает пустую TensorSpan<T> |
FlattenedLength |
Количество элементов в диапазоне. |
IsEmpty |
Возвращает значение, указывающее, является ли этот TensorSpan<T> пустым. |
Item[ReadOnlySpan<IntPtr>] |
Возвращает ссылку на указанный элемент TensorSpan. |
Item[ReadOnlySpan<NIndex>] |
Возвращает ссылку на указанный элемент TensorSpan. |
Item[ReadOnlySpan<NRange>] |
Возвращает срез TensorSpan. |
Lengths |
Возвращает длину каждого измерения в этом TensorSpan<T>. |
Rank |
Получает ранг, а также количество измерений этого TensorSpan<T>. |
Strides |
Получает шаги этого TensorSpan<T> |
Методы
Clear() |
Очищает содержимое этого диапазона. |
CopyTo(TensorSpan<T>) |
Копирует содержимое этого диапазона в целевой диапазон. Если источник и назначения перекрываются, этот метод ведет себя так, как если исходные значения во временном расположении перед назначением перезаписываются. |
Equals(Object) |
Устаревшие..
Этот метод не поддерживается, так как диапазоны нельзя упаковать. Чтобы сравнить два диапазона, используйте оператор==. |
Fill(T) |
Заполняет содержимое этого диапазона заданным значением. |
FlattenTo(Span<T>) |
Неструктурирует содержимое этого диапазона в предоставленный Span<T>. |
GetEnumerator() |
Возвращает перечислитель для этого диапазона. |
GetHashCode() |
Устаревшие..
Этот метод не поддерживается, так как диапазоны нельзя упаковать. |
GetPinnableReference() |
Возвращает ссылку на 0-й элемент TensorSpan. Если TensorSpan пуст, возвращает ссылку NULL. Его можно использовать для закрепления и требуется для поддержки использования диапазона в фиксированной инструкции. |
Slice(ReadOnlySpan<NIndex>) |
Возвращает ссылку на указанный элемент TensorSpan. |
Slice(ReadOnlySpan<NRange>) |
Формирует срез из заданного диапазона |
ToString() |
Для Span<T>возвращает новый экземпляр строки, представляющий символы, на которые указывает диапазон. В противном случае возвращает String с именем типа и количеством элементов. |
TryCopyTo(TensorSpan<T>) |
Копирует содержимое этого диапазона в целевой диапазон. Если источник и назначения перекрываются, этот метод ведет себя так, как если исходные значения во временном расположении перед назначением перезаписываются. |
TryFlattenTo(Span<T>) |
Неструктурирует содержимое этого диапазона в предоставленный Span<T>. |
Операторы
Equality(TensorSpan<T>, TensorSpan<T>) |
Возвращает значение true, если левая и правая точка в той же памяти и имеют ту же длину. Обратите внимание, что это |
Implicit(T[] to TensorSpan<T>) |
TensorSpan представляет собой смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти. |
Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>) |
Преобразует TensorSpan<T> в ReadOnlyTensorSpan<T>. |
Inequality(TensorSpan<T>, TensorSpan<T>) |
Возвращает значение false, если левая и правая точка в той же памяти и имеют ту же длину. Обратите внимание, что это |
Методы расширения
BroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Передача данных из |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T) |
Обновляет |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<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) |
Удаляет ось длины из |
ToString<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
Создает String представление TensorSpan<T>." /> |
TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Передача данных из |
Unsqueeze<T>(TensorSpan<T>, Int32) |
Вставьте новое измерение длины 1, которое будет отображаться в позиции измерения. |