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


TensorSpan<T> Конструкторы

Определение

Перегрузки

TensorSpan<T>(Array)

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

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

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

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

Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, потому что длина не проверяется. Но если это создание правильно, то все последующие использования правильны.

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>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

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

TensorSpan<T>(T*, IntPtr)

Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, длина не проверяется. Но если это создание правильно, то все последующие использования правильны.

TensorSpan<T>(T[])

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

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>(Array)

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(Array ^ array);
public TensorSpan (Array? array);
new System.Numerics.Tensors.TensorSpan<'T> : Array -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As Array)

Параметры

array
Array

Целевой массив.

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

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

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(cli::array <T> ^ array, int start, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
public TensorSpan (T[]? array, int start, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
new System.Numerics.Tensors.TensorSpan<'T> : 'T[] * int * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As T(), start As Integer, lengths As ReadOnlySpan(Of IntPtr), strides As ReadOnlySpan(Of IntPtr))

Параметры

array
T[]

Целевой массив.

start
Int32

Индекс, с которого начинается диапазон.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина измерений. Если по умолчанию предполагается, что имеется 1 измерение с длиной, равной длине данных.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Шаги каждого измерения. Если задано значение по умолчанию или диапазон длиной 0, то шаги будут автоматически вычисляться.

Исключения

Возникает, когда array является ковариантным и типом массива не совсем T[].

Создается, если указанный start или конечный индекс не находится в диапазоне (<0 или >FlattenedLength).

Комментарии

Возвращает значение по умолчанию, если array имеет значение NULL.

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

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

Исходный код:
TensorSpan.cs

Важно!

Этот API несовместим с CLS.

Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, потому что длина не проверяется. Но если это создание правильно, то все последующие использования правильны.

public:
 TensorSpan(T* data, IntPtr dataLength, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
[System.CLSCompliant(false)]
public TensorSpan (T* data, IntPtr dataLength, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
[<System.CLSCompliant(false)>]
new System.Numerics.Tensors.TensorSpan<'T> : nativeptr<'T> * nativeint * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>

Параметры

data
T*

Неуправляемые данные в память.

dataLength
IntPtr

nativeint

Количество элементов, которые может хранить неуправляемая память.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина измерений. Если по умолчанию предполагается, что имеется 1 измерение с длиной, равной длине данных.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина шага. Если ничего не указано, он определяет конфигурацию шага по умолчанию.

Атрибуты

Исключения

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

Вызывается при отрицательной длине.

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

TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(Array ^ array, ReadOnlySpan<int> start, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
public TensorSpan (Array? array, scoped ReadOnlySpan<int> start, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
new System.Numerics.Tensors.TensorSpan<'T> : Array * ReadOnlySpan<int> * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As Array, start As ReadOnlySpan(Of Integer), lengths As ReadOnlySpan(Of IntPtr), strides As ReadOnlySpan(Of IntPtr))

Параметры

array
Array

Целевой массив.

start
ReadOnlySpan<Int32>

Начальная смещение для каждого измерения.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина каждого измерения.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Шаги для каждого измерения. Будет автоматически вычисляться, если он не указан.

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

TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(Array ^ array, ReadOnlySpan<System::Buffers::NIndex> startIndex, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
public TensorSpan (Array? array, scoped ReadOnlySpan<System.Buffers.NIndex> startIndex, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
new System.Numerics.Tensors.TensorSpan<'T> : Array * ReadOnlySpan<System.Buffers.NIndex> * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As Array, startIndex As ReadOnlySpan(Of NIndex), lengths As ReadOnlySpan(Of IntPtr), strides As ReadOnlySpan(Of IntPtr))

Параметры

array
Array

Целевой массив.

startIndex
ReadOnlySpan<NIndex>

Начальная смещение для каждого измерения.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина каждого измерения.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Шаги для каждого измерения. Будет автоматически вычисляться, если он не указан.

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

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

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(cli::array <T> ^ array, Index startIndex, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
public TensorSpan (T[]? array, Index startIndex, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
new System.Numerics.Tensors.TensorSpan<'T> : 'T[] * Index * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As T(), startIndex As Index, lengths As ReadOnlySpan(Of IntPtr), strides As ReadOnlySpan(Of IntPtr))

Параметры

array
T[]

Целевой массив.

startIndex
Index

Индекс, с которого начинается диапазон.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина измерений. Если по умолчанию предполагается, что имеется 1 измерение с длиной, равной длине данных.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Шаги каждого измерения. Если задано значение по умолчанию или диапазон длиной 0, то шаги будут автоматически вычисляться.

Исключения

Возникает, когда array является ковариантным и типом массива не совсем T[].

Создается, если указанный startIndex или конечный индекс не находится в диапазоне (<0 или >FlattenedLength).

Комментарии

Возвращает значение по умолчанию, если array имеет значение NULL.

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

TensorSpan<T>(T*, IntPtr)

Исходный код:
TensorSpan.cs

Важно!

Этот API несовместим с CLS.

Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, длина не проверяется. Но если это создание правильно, то все последующие использования правильны.

public:
 TensorSpan(T* data, IntPtr dataLength);
[System.CLSCompliant(false)]
public TensorSpan (T* data, IntPtr dataLength);
[<System.CLSCompliant(false)>]
new System.Numerics.Tensors.TensorSpan<'T> : nativeptr<'T> * nativeint -> System.Numerics.Tensors.TensorSpan<'T>

Параметры

data
T*

Неуправляемые данные в память.

dataLength
IntPtr

nativeint

Количество элементов, которые может хранить неуправляемая память.

Атрибуты

Комментарии

Очевидно, что это довольно опасно, длина не проверяется. Но если это создание правильно, то все последующие использования правильны.

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

TensorSpan<T>(T[])

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(cli::array <T> ^ array);
public TensorSpan (T[]? array);
new System.Numerics.Tensors.TensorSpan<'T> : 'T[] -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (array As T())

Параметры

array
T[]

Целевой массив.

Исключения

Возникает, когда array является ковариантным и типом массива не совсем T[].

Комментарии

Возвращает значение по умолчанию, если array имеет значение NULL.

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

TensorSpan<T>(Span<T>)

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(Span<T> span);
public TensorSpan (Span<T> span);
new System.Numerics.Tensors.TensorSpan<'T> : Span<'T> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (span As Span(Of T))

Параметры

span
Span<T>

Целевой диапазон.

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

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

Исходный код:
TensorSpan.cs

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

public:
 TensorSpan(Span<T> span, ReadOnlySpan<IntPtr> lengths, ReadOnlySpan<IntPtr> strides);
public TensorSpan (Span<T> span, scoped ReadOnlySpan<IntPtr> lengths, scoped ReadOnlySpan<IntPtr> strides);
new System.Numerics.Tensors.TensorSpan<'T> : Span<'T> * ReadOnlySpan<nativeint> * ReadOnlySpan<nativeint> -> System.Numerics.Tensors.TensorSpan<'T>
Public Sub New (span As Span(Of T), lengths As ReadOnlySpan(Of IntPtr), strides As ReadOnlySpan(Of IntPtr))

Параметры

span
Span<T>

Целевой диапазон.

lengths

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Длина каждого измерения.

strides

ReadOnlySpan<IntPtr>

ReadOnlySpan<nativeint>

Шаги для каждого измерения. Будет автоматически вычисляться, если он не указан.

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