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 :)
struct Settings;
namespace ErrorCodes
{
    extern const int ILLEGAL_TYPE_OF_ARGUMENT;
    extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
}
template <typename> class QuantileTiming;
/** Generic aggregate function for calculation of quantiles.
  * It depends on quantile calculation data structure. Look at Quantile*.h for various implementations.
  */
template <
    
    typename Value,
    
    typename Data,
    
    typename Name,
    
    
    
    bool has_second_arg,
    
    
    
    typename FloatReturnType,
    
    
    bool returns_many
>
class AggregateFunctionQuantile final : public IAggregateFunctionDataHelper<Data,