Skip to main content
Skip to main content

quantileBFloat16

quantileBFloat16

Introduced in: v21.7

Computes an approximate quantile of a sample consisting of bfloat16 numbers.

bfloat16 is a floating-point data type with 1 sign bit, 8 exponent bits and 7 fraction bits. The function converts input values to 32-bit floats and takes the most significant 16 bits. Then it calculates bfloat16 quantile value and converts the result to a 64-bit float by appending zero bits. The function is a fast quantile estimator with a relative error no more than 0.390625%.

Syntax

quantileBFloat16[(level)](expr)

Aliases: medianBFloat16

Parameters

  • level — Optional. Level of quantile. Possible values are in the range from 0 to 1. Default value: 0.5. Float*

Arguments

Returned value

Approximate quantile of the specified level. Float64

Examples

Computing quantile with 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 │
└───────────────────────────┴───────────────────────────┘

See Also