Spec-Zone.ru › OpenJDK 17

Интерфейс VectorSpecies<E>

Параметры типа:
E - упакованный вид ETYPE, тип элемента вектора
public interface VectorSpecies<E>
Интерфейс для управления всеми векторами с одинаковой комбинацией типа элемента элементного типа (ETYPE) и shape.
Примечание API:
Код пользователя не должен реализовывать этот интерфейс. В будущих версиях этого типа реализации могут быть ограничены принадлежностью к одному пакету.
Примечание реализации:
Строковое представление экземпляра этого интерфейса будет иметь вид «Species[ETYPE, VLENGTH, SHAPE]», где ETYPE — примитивный тип линейного типа, VLENGTH — количество линий вектора, связанное с видом, и SHAPE — форма вектора, связанная с видом.

Объекты видов векторов могут храниться в локальных переменных, параметрах и как static final константы, но хранение их в других полях Java или в элементах массива, хотя и семантически допустимо, может привести к потерям производительности.

Краткое описание методов

Модификатор и тип Метод Описание
Vector<E> broadcast(long e)
Возвращает вектор заданного вида, где все элементы дорожки установлены в примитивное значение e.
<F> VectorSpecies<F> check(Class<F> elementType)
Проверяет, имеет ли этот вид заданный тип элемента, и возвращает этот вид без изменений.
long checkValue(long e)
Проверяет, может ли этот вид представлять заданное значение элемента, и возвращает значение без изменений.
int elementSize()
Возвращает размер дорожки, в битах, векторов этого вида.
static int elementSize(Class<?> elementType)
Возвращает размер в битах типа элемента заданного вектора (ETYPE).
Class<E> elementType()
Возвращает примитивный тип элемента векторов этого вида.
boolean equals(Object obj)
Указывает, идентичен ли этот вид какому-либо другому объекту.
Vector<E> fromArray(Object a, int offset)
Возвращает вектор этого вида, где элементы дорожки инициализируются из заданного массива по заданному смещению.
Vector<E> fromByteArray(byte[] a, int offset, ByteOrder bo)
Загружает вектор этого вида из массива байтов, начиная со смещения.
int hashCode()
Возвращает значение хэша для вида, основанное на форме вектора и типе элемента.
VectorMask<E> indexInRange(int offset, int limit)
Возвращает маску этого вида, где установлены только дорожки с индексом N, такие что скорректированный индекс N+offset находится в диапазоне [0..limit-1].
VectorShuffle<E> iotaShuffle(int start, int step, boolean wrap)
Создаёт сдвиг, используя исходные индексы, установленные в последовательные значения, начиная с start и с шагом заданного step.
int length()
Возвращает количество дорожек в векторе этого вида.
VectorMask<E> loadMask(boolean[] bits, int offset)
Возвращает маску этого вида, где элементы дорожек инициализируются из заданного массива по заданному смещению.
int loopBound(int length)
Функция управления циклом, возвращающая наибольшее кратное VLENGTH, которое меньше или равно заданному значению length.
VectorMask<E> maskAll(boolean bit)
Возвращает маску этого вида, где каждый элемент дорожки установлен или сброшен в соответствии с заданным одиночным булевым значением, которое транслируется на все дорожки.
Class<? extends VectorMask<E>> maskType()
Возвращает тип маски вектора для этого вида.
static <E> VectorSpecies<E> of(Class<E> elementType, VectorShape shape)
Находит вид для типа элемента и формы.
static <E> VectorSpecies<E> ofLargestShape(Class<E> etype)
Находит наибольший вид вектора заданного типа элемента.
static <E> VectorSpecies<E> ofPreferred(Class<E> etype)
Находит вид, предпочтительный для текущей платформы, для заданного типа элемента вектора.
int partLimit(VectorSpecies<?> outputSpecies, boolean lanewise)
Учитывая этот вид и второй, сообщает о чистом расширении или сокращении (возможно) изменяющего размер преобразования переинтерпретации или lane-wise conversion от этого вида ко второму.
VectorShuffle<E> shuffleFromArray(int[] sourceIndexes, int offset)
Создаёт сдвиг для этого вида из массива int, начиная со смещения.
VectorShuffle<E> shuffleFromOp(IntUnaryOperator fn)
Создаёт сдвиг для этого вида из последовательных значений оператора, применённых к диапазону [0..VLENGTH-1].
VectorShuffle<E> shuffleFromValues(int... sourceIndexes)
Создаёт сдвиг для этого вида из ряда исходных индексов.
String toString()
Возвращает строку вида "Вид[ETYPE, VLENGTH, SHAPE]", где ETYPE является примитивным типом дорожки, VLENGTH является количеством дорожек вектора, связанным с видом, а SHAPE является формой вектора, связанной с видом.
int vectorBitSize()
Возвращает общий размер вектора, в битах, любого вектора этого вида.
int vectorByteSize()
Возвращает общий размер вектора, в байтах, любого вектора этого вида.
VectorShape vectorShape()
Возвращает форму векторов, созданных этим видом.
Class<? extends Vector<E>> vectorType()
Возвращает тип вектора этого вида.
<F> VectorSpecies<F> withLanes(Class<F> newType)
Находит вид с заданным типом элемента и той же формой, что и этот вид.
VectorSpecies<E> withShape(VectorShape newShape)
Находит вид с заданной формой и тем же типом элемента, что и этот вид.
Vector<E> zero()
Возвращает вектор этого вида, где все элементы дорожки установлены в значение по умолчанию для примитива, (ETYPE)0.

Подробное описание методов

elementType

Class<E> elementType()
Возвращает примитивный тип элемента векторов данного вида.
Возвращает:
примитивный тип элемента (ETYPE)
См. также:
  • Class.arrayType()

vectorType

Class<? extends Vector<E>> vectorType()
Возвращает тип вектора данного вида. Вектор относится к данному виду, если и только если он имеет соответствующий тип вектора.
Возвращает:
тип вектора данного вида

maskType

Class<? extends VectorMask<E>> maskType()
Возвращает тип маски вектора для данного вида.
Возвращает:
тип маски

elementSize

int elementSize()
Возвращает размер дорожки, в битах, векторов данного вида.
Возвращает:
размер элемента, в битах

vectorShape

VectorShape vectorShape()
Возвращает форму векторов, созданных данным видом.
Возвращает:
форма любых векторов данного вида

length

int length()
Возвращает количество дорожек в векторе данного вида.
Примечание API:
Это также количество дорожек в маске или перемещении, связанных с вектором данного вида.
Возвращает:
количество дорожек вектора

vectorBitSize

int vectorBitSize()
Возвращает общий размер вектора, в битах, любого вектора данного вида. Это то же значение, что и this.vectorShape().vectorBitSize().
Примечание API:
Этот размер может отличаться от размера маски или перемещения данного вида в битах.
Возвращает:
общий размер вектора, в битах

vectorByteSize

int vectorByteSize()
Возвращает общий размер вектора, в байтах, любого вектора данного вида. Это то же значение, что и this.vectorShape().vectorBitSize() / Byte.SIZE.
Примечание API:
Этот размер может отличаться от размера маски или перемещения данного вида в битах.
Возвращает:
общий размер вектора, в байтах

loopBound

int loopBound(int length)
Функция управления циклом, которая возвращает наибольшее кратное VLENGTH , которое меньше или равно заданному значению length. Здесь VLENGTH является результатом this.length(), а length интерпретируется как количество дорожек. Результирующее значение R удовлетворяет этому неравенству:
R <= length < R+VLENGTH
 

Конкретно, этот метод вычисляет length - floorMod(length, VLENGTH), где floorMod вычисляет остаток, округляя частное к отрицательной бесконечности. Пока VLENGTH является степенью двойки, результат также равен length & ~(VLENGTH - 1).

Параметры:
length - входная длина
Возвращает:
наибольшее кратное длине вектора, не превышающее заданной длины
Исключения:
IllegalArgumentException - если length отрицательно, а результат переполнится в положительное значение
См. также:
  • Math.floorMod(int, int)

indexInRange

VectorMask<E> indexInRange(int offset, int limit)
Возвращает маску данного вида, где установлены только дорожки в индексе N, такие что скорректированный индекс N+offset находится в диапазоне [0..limit-1].

Этот метод возвращает значение выражения maskAll(true).indexInRange(offset, limit)

Параметры:
offset - начальный индекс
limit - верхняя граница (исключая) диапазона индексов
Возвращает:
маска с выключенными дорожками вне диапазона
См. также:
  • VectorMask.indexInRange(int, int)

check

<F> VectorSpecies<F> check(Class<F> elementType)
Проверяет, что у данного вида есть заданный тип элемента, и возвращает этот вид без изменений. Эффект аналогичен этому псевдокоду: elementType == elementType() ? this : throw new ClassCastException().
Параметры типа:
F - упакованный тип элемента требуемого типа дорожки
Параметры:
elementType - требуемый тип дорожки
Возвращает:
тот же вид
Исключения:
ClassCastException - если вид имеет неправильный тип элемента
См. также:
  • Vector.check(Class)
  • Vector.check(VectorSpecies)

partLimit

int partLimit(VectorSpecies<?> outputSpecies, boolean lanewise)
Учитывая этот вид и второй, сообщает о чистом расширении или сокращении (возможно) изменяющей размер переинтерпретации формы или lane-wise conversion от этого вида ко второму. Знак и величина возвращаемого значения зависят от разницы в размерах между предлагаемым входом и выходом форм, и (необязательно, если lanewise истинно) также от разницы в размерах между предлагаемым входом и выходом дорожек.
  • Сначала определяется логический размер результата. Если lanewise ложно, этот размер такой же, как у входного VSHAPE. Если lanewise истинно, логический размер результата равен произведению входного VLENGTH на размер выходного ETYPE.
  • Затем логический размер результата сравнивается с размером предлагаемой формы вывода, чтобы увидеть, как он впишется.
  • Если логический результат точно вписывается в форму вывода, возвращаемое значение равно нулю, что означает отсутствие чистого расширения или сокращения.
  • Если логический результат превысит форму вывода, возвращаемое значение — это отношение (больше единицы) логического размера результата к (меньшему) размеру вывода. Это отношение можно рассматривать как измерение пропорции «потерянных битов ввода», которые необходимо удалить из ввода, чтобы результат поместился в вектор вывода. Это также предельная часть, верхняя граница (не включая) параметра part к методу, который преобразовал бы вид ввода в вид вывода.
  • Если логический результат поместится в форму вывода с избытком места, возвращаемое значение — отрицательное число, абсолютное значение которого является отношением (больше единицы) между размером вывода и (меньшим) логическим размером результата. Это отношение можно рассматривать как измерение пропорции «дополнительных битов заполнения», которые необходимо добавить к логическому результату, чтобы заполнить вектор вывода. Это также предельная часть, нижняя граница (не включая) параметра part к методу, который преобразовал бы вид ввода в вид вывода.
Параметры:
outputSpecies - предполагаемый вид вывода
lanewise - нужно ли учитывать размеры дорожек
Возвращает:
указание на изменение размера в виде подписанного отношения или нуля
См. также:
  • Vector.reinterpretShape(VectorSpecies,int)
  • Vector.convertShape(VectorOperators.Conversion,VectorSpecies,int)

withLanes

<F> VectorSpecies<F> withLanes(Class<F> newType)
Находит вид с заданным типом элемента и той же формой, что и этот вид. Возвращает то же значение, что и VectorSpecies.of(newType, this.vectorShape()).
Параметры типа:
F - упакованный тип элемента
Параметры:
newType - новый тип элемента
Возвращает:
вид для нового типа элемента и той же формы
Исключения:
IllegalArgumentException - если такого вида не существует для данного сочетания типа элемента и формы или если заданный тип не является допустимым ETYPE
См. также:
  • withShape(VectorShape)
  • of(Class, VectorShape)

withShape

VectorSpecies<E> withShape(VectorShape newShape)
Находит вид с заданной формой и тем же elementType, что и этот вид. Возвращает то же значение, что и VectorSpecies.of(this.elementType(), newShape).
Параметры:
newShape - новая форма
Возвращает:
вид для того же типа элемента и новой формы
Исключения:
IllegalArgumentException - если такого вида не существует для данного сочетания типа элемента и формы
См. также:
  • withLanes(Class)
  • of(Class, VectorShape)

of

static <E> VectorSpecies<E> of(Class<E> elementType, VectorShape shape)
Находит вид для типа элемента и формы.
Type Parameters:
E - упакованный тип элемента
Parameters:
elementType - тип элемента
shape - форма
Returns:
вид для заданного типа элемента и формы
Throws:
IllegalArgumentException - если такого вида не существует для заданной комбинации типа элемента и формы или если заданный тип не является допустимым ETYPE
See Also:
  • withLanes(Class)
  • withShape(VectorShape)

ofLargestShape

static <E> VectorSpecies<E> ofLargestShape(Class<E> etype)
Находит наибольший векторный вид заданного типа элемента.

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

Type Parameters:
E - упакованный тип элемента
Parameters:
etype - тип элемента
Returns:
предпочтительный вид для типа элемента
Throws:
IllegalArgumentException - если такого вида не существует для типа элемента или если заданный тип не является допустимым ETYPE
See Also:
  • ofPreferred(Class)

ofPreferred

static <E> VectorSpecies<E> ofPreferred(Class<E> etype)
Находит вид, предпочитаемый текущей платформой, для заданного векторного типа элемента. Это то же самое значение, что и VectorSpecies.of(etype, VectorShape.preferredShape()).

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

  • Различные предпочтительные виды для разных типов элементов будут иметь одинаковую базовую форму.
  • Все векторы, созданные из предпочтительных видов, будут иметь общий размер в битах и емкость информации.
  • Преобразования переинтерпретации между векторами предпочтительных видов не будут усекать проходы и не будут заполнять их значениями по умолчанию.
  • Для любого конкретного типа элемента платформа может предоставить большую векторную форму, которая (как компромисс) не поддерживает все возможные типы элементов.
Implementation Note:
На многих платформах нет поведенческой разницы между ofLargestShape и ofPreferred, так как предпочитаемая форма обычно также является наибольшей доступной формой для каждого типа прохода. Поэтому большинство векторных алгоритмов будут работать хорошо без ofLargestShape.
Type Parameters:
E - упакованный тип элемента
Parameters:
etype - тип элемента
Returns:
предпочтительный вид для данного типа элемента
Throws:
IllegalArgumentException - если такого вида не существует для типа элемента или если заданный тип не является допустимым ETYPE
See Also:
  • Vector.reinterpretShape(VectorSpecies,int)
  • VectorShape.preferredShape()
  • ofLargestShape(Class)

elementSize

static int elementSize(Class<?> elementType)
Возвращает размер в битах заданного векторного типа элемента (ETYPE). Тип элемента должен быть допустимым ETYPE, а не типом-обёрткой или другим типом объекта. Аргумент типа элемента должен быть зеркалом для допустимого векторного ETYPE, такого как byte.class, int.class, или double.class. Размер в битах такого типа — это константа SIZE для соответствующего класса-обёртки, такого как Byte.SIZE, или Integer.SIZE, или Double.SIZE.
Parameters:
elementType - векторный тип элемента (ETYPE)
Returns:
размер в битах elementType, например, 32 для int.class
Throws:
IllegalArgumentException - если заданный аргумент elementType не является допустимым векторным ETYPE

zero

Vector<E> zero()
Возвращает вектор этого вида, где все элементы проходов установлены в значение по умолчанию для примитивного типа, (ETYPE)0. Эквивалентно IntVector.zero(this) или эквивалентному методу zero для типа вектора, соответствующего этому виду.
Returns:
вектор нулей заданного вида
See Also:
  • IntVector.zero(VectorSpecies)
  • FloatVector.zero(VectorSpecies)

fromArray

Vector<E> fromArray(Object a, int offset)
Возвращает вектор этого вида, где элементы проходов инициализируются из заданного массива по заданному смещению. Массив должен быть соответствующего ETYPE. Эквивалентно IntVector.fromArray(this,a,offset) или эквивалентному методу fromArray для типа вектора, соответствующего этому виду.
Parameters:
a - массив соответствующего ETYPE типа для этого вида
offset - индекс первого значения прохода для загрузки
Returns:
вектор заданного вида, заполненный из массива
Throws:
IndexOutOfBoundsException - если offset+N < 0 или offset+N >= a.length для любого прохода N в векторе
See Also:
  • IntVector.fromArray(VectorSpecies,int[],int)
  • FloatVector.fromArray(VectorSpecies,float[],int)

fromByteArray

Vector<E> fromByteArray(byte[] a, int offset, ByteOrder bo)
Загружает вектор этого вида из массива байтов, начиная со смещения. Байты преобразуются в примитивные элементы проходов в соответствии со специфицированным порядком байтов. Вектор организуется в проходы в соответствии с порядком памяти.

Эквивалентно IntVector.fromByteArray(this,a,offset,bo) или эквивалентному методу fromByteArray для типа вектора, соответствующего этому виду.

Parameters:
a - массив байтов
offset - индекс первого байта для загрузки
bo - желаемый порядок байтов
Returns:
вектор заданного вида, заполненный из массива байтов
Throws:
IndexOutOfBoundsException - если offset+N*ESIZE < 0 или offset+(N+1)*ESIZE > a.length для любого прохода N в векторе
See Also:
  • IntVector.fromByteArray(VectorSpecies,byte[],int,ByteOrder)
  • FloatVector.fromByteArray(VectorSpecies,byte[],int,ByteOrder)

loadMask

VectorMask<E> loadMask(boolean[] bits, int offset)
Возвращает маску этого вида, где элементы проходов инициализируются из заданного массива по заданному смещению. Эквивалентно VectorMask.fromArray(this,a,offset).
Parameters:
bits - массив boolean
offset - смещение в массиве
Returns:
маска, загруженная из массива boolean
Throws:
IndexOutOfBoundsException - если offset+N < 0 или offset+N >= a.length для любого прохода N в маске вектора
See Also:
  • VectorMask.fromArray(VectorSpecies,boolean[],int)

maskAll

VectorMask<E> maskAll(boolean bit)
Возвращает маску этого вида, где каждый проход устанавливается или сбрасывается в соответствии с заданным одиночным булевым значением, которое транслируется во все проходы.
Parameters:
bit - заданный бит маски, который будет дублироваться
Returns:
маска, где каждый проход устанавливается или сбрасывается в соответствии с заданным битом
See Also:
  • Vector.maskAll(boolean)

broadcast

Vector<E> broadcast(long e)
Возвращает вектор заданного вида, где все элементы проходов установлены в примитивное значение e.

Этот метод возвращает значение этого выражения: EVector.broadcast(this, (ETYPE)e), где EVector — это класс вектора, специфичный для ETYPE этого вида. Значение long должно быть точно представимо ETYPE, чтобы e==(long)(ETYPE)e.

Parameters:
e - значение для трансляции
Returns:
вектор, где все элементы проходов установлены в примитивное значение e
Throws:
IllegalArgumentException - если заданное значение long не может быть представлено векторным видом ETYPE
See Also:
  • Vector.broadcast(long)
  • checkValue(long)

checkValue

long checkValue(long e)
Проверяет, может ли этот вид представлять данное значение элемента, и возвращает значение без изменений. Значение long должно быть точно представимо ETYPE вида вектора, чтобы e==(long)(ETYPE)e. Эффект похож на этот псевдокод: e == (long)(ETYPE)e ? e : throw new IllegalArgumentException().
Parameters:
e - проверяемое значение
Returns:
e
Throws:
IllegalArgumentException - если данное long значение не может быть представлено видом вектора ETYPE
See Also:
  • broadcast(long)

shuffleFromValues

VectorShuffle<E> shuffleFromValues(int... sourceIndexes)
Создаёт перемешивание для этого вида из серии индексов источников.

Для каждой дорожки перемешивания, где N - индекс дорожки перемешивания, значение N-го индекса проверяется на соответствие виду VLENGTH, и (если не соответствует) частично обертывается в исключительный индекс в диапазоне [-VLENGTH..-1].

Parameters:
sourceIndexes - индексы источников, из которых будет происходить выбор
Returns:
перемешивание, где индекс источника каждой дорожки установлен на заданное int значение, частично обернутый, если исключительный
Throws:
IndexOutOfBoundsException - если sourceIndexes.length != VLENGTH
See Also:
  • VectorShuffle.fromValues(VectorSpecies,int...)

shuffleFromArray

VectorShuffle<E> shuffleFromArray(int[] sourceIndexes, int offset)
Создаёт перемешивание для этого вида из массива int начиная со смещения.

Для каждой дорожки перемешивания, где N - индекс дорожки перемешивания, элемент массива с индексом i + N проверяется на соответствие виду VLENGTH, и (если не соответствует) частично обертывается в исключительный индекс в диапазоне [-VLENGTH..-1].

Parameters:
sourceIndexes - индексы источников, из которых будет происходить выбор
offset - смещение в массиве
Returns:
перемешивание, где индекс источника каждой дорожки установлен на заданное int значение, частично обернутый, если исключительный
Throws:
IndexOutOfBoundsException - если offset < 0, или offset > sourceIndexes.length - VLENGTH
See Also:
  • VectorShuffle.fromArray(VectorSpecies,int[],int)

shuffleFromOp

VectorShuffle<E> shuffleFromOp(IntUnaryOperator fn)
Создаёт перемешивание для этого вида из последовательных значений оператора, применённого к диапазону [0..VLENGTH-1].

Для каждой дорожки перемешивания, где N - индекс дорожки перемешивания, значение N-го индекса проверяется на соответствие виду VLENGTH, и (если не соответствует) частично обертывается в исключительный индекс в диапазоне [-VLENGTH..-1].

Следует позаботиться о том, чтобы значения VectorShuffle производимые этим методом, потреблялись как константы, чтобы обеспечить оптимальное генерирование кода. Например, значения перемешивания могут храниться в static final полях или в инвариантных циклах локальных переменных.

Этот метод ведёт себя так, как будто перемешивание создаётся из массива индексов, преобразованных следующим образом:


   int[] a = new int[VLENGTH];
   for (int i = 0; i < a.length; i++) {
       a[i] = fn.applyAsInt(i);
   }
   return VectorShuffle.fromArray(this, a, 0);
 
Parameters:
fn - функция сопоставления индекса дорожки
Returns:
перемешивание сопоставленных индексов
See Also:
  • VectorShuffle.fromOp(VectorSpecies,IntUnaryOperator)

iotaShuffle

VectorShuffle<E> iotaShuffle(int start, int step, boolean wrap)
Создаёт перемешивание, используя индексы источников, установленные в последовательные значения, начиная с start и шагом заданным step.

Этот метод возвращает значение выражения VectorSpecies.shuffleFromOp(i -> R(start + i * step)), где R - wrapIndex, если wrap - true, и является тождественной функцией в противном случае.

Если wrap - false, каждый индекс проверяется на соответствие виду VLENGTH, и (если не соответствует) частично обертывается в исключительный индекс в диапазоне [-VLENGTH..-1]. В противном случае, если wrap - true, также уменьшите каждый индекс, как если бы по wrapIndex, до допустимого диапазона [0..VLENGTH-1].

API Note:
Параметр wrap должен быть установлен в true, если невалидные индексы источников должны обертываться. В противном случае, установка его в false позволяет проверить невалидные индексы источников в более поздних операциях, таких как unary rearrange.
Parameters:
start - начальное значение последовательности индексов источника, обычно 0
step - разность между соседними индексами источника, обычно 1
wrap - обернуть полученные индексы по модулю VLENGTH
Returns:
перемешивание последовательных индексов дорожек
See Also:
  • VectorShuffle.iota(VectorSpecies,int,int,boolean)

toString

String toString()
Возвращает строку вида "Species[ETYPE, VLENGTH, SHAPE]", где ETYPE - примитивный тип дорожки, VLENGTH - количество дорожек вектора, связанное со видом, и SHAPE - форма вектора, связанная со видом.
Overrides:
toString в классе Object
Returns:
строка вида "Species[ETYPE, VLENGTH, SHAPE]"

equals

boolean equals(Object obj)
Указывает, идентичен ли этот вид другому объекту. Два вида идентичны только в том случае, если они имеют одинаковую форму и одинаковый тип элемента.
Overrides:
equals в классе Object
Parameters:
obj - справочный объект для сравнения.
Returns:
является ли этот вид идентичным другому объекту
See Also:
  • Object.hashCode()
  • HashMap

hashCode

int hashCode()
Возвращает значение хэш-кода для вида, основанное на форме вектора и типе элемента.
Overrides:
hashCode в классе Object
Returns:
значение хэш-кода для этого вида
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.incubator.vector/jdk/incubator/vector/VectorSpecies.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API