Spec-Zone.ru › Scala 2.13 Library

Пакет scala.util.hashing

пакет hashing

Источник
package.scala
Линейные супертипы
AnyRef, Any

Члены типов

final класс ByteswapHashing[T] extends Hashing[T]

тракт Hashing[T] extends Serializable

Hashing — это тракт, экземпляры которого представляют стратегию хеширования экземпляров типа.

Hashing его компаньон-объект определяет стратегию хеширования по умолчанию для всех объектов — он вызывает их метод ##.

Примечание: при использовании настраиваемого Hashing, убедитесь, что вы используете его с Equiv, так что если два объекта равны, то их значения хеша должны быть равны.

Аннотации
@implicitNotFound("Нет неявного хеширования, определенного для ${T}.")
С тех пор

2.10

Значения членов

def byteswap32(v: Int): Int

def byteswap64(v: Long): Long

объект ByteswapHashing extends java.io.Serializable

объект Hashing extends java.io.Serializable

объект MurmurHash3 extends MurmurHash3

Реализация алгоритма MurmurHash 3 Остина Эпплби (MurmurHash3_x86_32). Этот объект содержит методы, которые хешируют значения различных типов, а также средства для построения Hashing объектов.

Этот алгоритм предназначен для генерации хорошо распределенных некриптографических хешей. Он предназначен для хеширования данных в 32-битных блоках (int).

Метод mix необходимо вызывать на каждом шаге для обновления промежуточного значения хеша. Для последнего блока для включения в хеш-смесь можно использовать вместо этого mixLast, что немного быстрее. Наконец, необходимо вызвать finalizeHash для вычисления окончательного значения хеша.

Это основано на более раннем коде MurmurHash3 от Рекса Керра, но алгоритм MurmurHash3 с тех пор был изменён его создателем Остином Эпплби, чтобы исправить некоторые уязвимости и улучшить производительность. Это представляет собой последнюю и, предположительно, окончательную версию алгоритма (ревизия 136).

См. также

https://github.com/aappleby/smhasher

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/util/hashing/index.html

Spec-Zone.ru

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