quantileBFloat16
Computes an approximate [quantile](https://en.
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)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 │
└───────────────────────────┴───────────────────────────┘Introduced in version 21.7.