Looks like bfloat16 quantiles don't provide a way to specify the weight:

```sql
SELECT quantileBFloat16Weighted(0.5)(number, number)
FROM numbers(100)

Received exception from server (version 21.8.3):
Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: Unknown function quantileBFloat16Weighted
```

But I expect it to work the same way as tdigest:

```sql
SELECT quantileTDigestWeighted(0.5)(number, number)
FROM numbers(100)

Query id: ea66ede3-afc6-4e5d-8949-2da5970e1349

┌─quantileTDigestWeighted(0.5)(number, number)─┐
│                                     70.35461 │
└──────────────────────────────────────────────┘
```

/cc @RedClusive just in case :)
{
    return std::is_same_v<Function<Float32, false>, FuncQuantile<Float32, false>> ||
        std::is_same_v<Function<Float32, false>, FuncQuantiles<Float32, false>> ||
        std::is_same_v<Function<Float32, false>, FuncQuantileExact<Float32, false>> ||
        std::is_same_v<Function<Float32, false>, FuncQuantilesExact<Float32, false>> ||
        std::is_same_v<Function<Float32, false>, FuncQuantileExactWeighted<Float32, false>> ||
        std::is_same_v<Function<Float32, false>, FuncQuantilesExactWeighted<Float32, false>>;
}
template <template <typename, bool> class Function>
AggregateFunctionPtr createAggregateFunctionQuantile(
    const std::string & name, const DataTypes & argument_types, const Array & params, const Settings *)
{
    
    Function<void, true>::assertSecondArg(argument_types);
    const DataTypePtr & argument_type = argument_types[0];
    WhichDataType which(argument_type);
#define DISPATCH(TYPE) \
    if (which.idx == TypeIndex::TYPE) return std::make_shared<Function<TYPE, true>>(argument_types, params);
    FOR_BASIC_NUMERIC_TYPES(DISPATCH)
#undef DISPATCH
    if (which.idx == TypeIndex::Date) return std::make_shared<Function<DataTypeDate::FieldType, false>>(argument_types, params);
    if (which.idx == TypeIndex::DateTime) return std::make_shared<Function<DataTypeDateTime::FieldType, false>>(argument_types, params);
    if constexpr (supportDecimal<Function>())
    {
        if (which.idx == TypeIndex::Decimal32) return std::make_shared<Function<Decimal32, false>>(argument_types, params);
        if (which.idx == TypeIndex::Decimal64) return std::make_shared<Function<Decimal64, false>>(argument_types, params);