Spec-Zone.ru › Scala 2.12 Library

Пакет scala.util.hashing

пакет hashing

Источник
package.scala
Линейные надтипы

Типовые члены

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

тракт Hashing[T] extends Serializable

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

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

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

Аннотации
@implicitNotFound( msg = ... )
С

2.10

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

def byteswap32(v: Int): Int

def byteswap64(v: Long): Long

объект ByteswapHashing extends Serializable

объект Hashing extends 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.12.9/scala/util/hashing/index.html

Spec-Zone.ru

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