Перейти к основному содержимому
Перейти к основному содержимому

quantileBFloat16

quantileBFloat16

Добавлена в: v21.7

Вычисляет приближённый квантиль выборки из чисел формата bfloat16.

bfloat16 — это тип данных с плавающей запятой с 1 битом знака, 8 битами экспоненты и 7 битами мантиссы. Функция преобразует входные значения в 32-битные числа с плавающей запятой и берёт старшие 16 бит. Затем она вычисляет квантиль в формате bfloat16 и преобразует результат в 64-битное число с плавающей запятой путём добавления нулевых битов. Функция представляет собой быстрый оцениватель квантиля с относительной погрешностью не более 0.390625%.

Синтаксис

quantileBFloat16[(level)](expr)

Псевдонимы: medianBFloat16

Параметры

  • level — уровень квантиля. Необязательный параметр. Допустимые значения находятся в диапазоне от 0 до 1. Значение по умолчанию: 0.5. Float*

Аргументы

  • expr — столбец с числовыми данными. (U)Int* или Float*

Возвращаемое значение

Приближённый квантиль указанного уровня. Float64

Примеры

Вычисление квантиля с использованием bfloat16

CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);

SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;
┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│                         3 │                         1 │
└───────────────────────────┴───────────────────────────┘

См. также