summaryrefslogtreecommitdiffstats
path: root/yql/essentials/udfs/common/stat/static/stat_udf.h
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-10-06 13:26:25 +0300
committervvvv <[email protected]>2025-10-06 14:06:25 +0300
commiteca8ce9cb1613d5c983185c4e43c20651a9638aa (patch)
tree61ee5ae779948e61af9a7691d19eaa2c09869121 /yql/essentials/udfs/common/stat/static/stat_udf.h
parent4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (diff)
YQL-20086 udfs
init commit_hash:f9684778bf1ea956965f2360b80b91edb7d4ffbe
Diffstat (limited to 'yql/essentials/udfs/common/stat/static/stat_udf.h')
-rw-r--r--yql/essentials/udfs/common/stat/static/stat_udf.h100
1 files changed, 50 insertions, 50 deletions
diff --git a/yql/essentials/udfs/common/stat/static/stat_udf.h b/yql/essentials/udfs/common/stat/static/stat_udf.h
index 3ab6dbb20b4..e1d637132b7 100644
--- a/yql/essentials/udfs/common/stat/static/stat_udf.h
+++ b/yql/essentials/udfs/common/stat/static/stat_udf.h
@@ -9,57 +9,57 @@ using namespace NYql;
using namespace NUdf;
namespace {
- extern const char DigestResourceName[] = "Stat.TDigestResource";
+extern const char DigestResourceName[] = "Stat.TDigestResource";
- typedef TBoxedResource<TDigest, DigestResourceName> TDigestResource;
- typedef TRefCountedPtr<TDigestResource> TDigestResourcePtr;
+typedef TBoxedResource<TDigest, DigestResourceName> TDigestResource;
+typedef TRefCountedPtr<TDigestResource> TDigestResourcePtr;
- SIMPLE_UDF_WITH_OPTIONAL_ARGS(TTDigest_Create, TResource<DigestResourceName>(double, TOptional<double>, TOptional<double>), 2) {
- Y_UNUSED(valueBuilder);
- const double delta = args[1].GetOrDefault<double>(0.01);
- const double K = args[2].GetOrDefault<double>(25.0);
- if (delta == 0 || K / delta < 1) {
- UdfTerminate((TStringBuilder() << GetPos() << " Invalid combination of delta/K values").c_str());
- }
-
- return TUnboxedValuePod(new TDigestResource(delta, K, args[0].Get<double>(), true));
+SIMPLE_UDF_WITH_OPTIONAL_ARGS(TTDigest_Create, TResource<DigestResourceName>(double, TOptional<double>, TOptional<double>), 2) {
+ Y_UNUSED(valueBuilder);
+ const double delta = args[1].GetOrDefault<double>(0.01);
+ const double K = args[2].GetOrDefault<double>(25.0);
+ if (delta == 0 || K / delta < 1) {
+ UdfTerminate((TStringBuilder() << GetPos() << " Invalid combination of delta/K values").c_str());
}
- SIMPLE_STRICT_UDF(TTDigest_AddValue, TResource<DigestResourceName>(TResource<DigestResourceName>, double)) {
- Y_UNUSED(valueBuilder);
- TDigestResource::Validate(args[0]);
- TDigestResource* resource = static_cast<TDigestResource*>(args[0].AsBoxed().Get());
- resource->Get()->AddValue(args[1].Get<double>());
- return TUnboxedValuePod(resource);
- }
+ return TUnboxedValuePod(new TDigestResource(delta, K, args[0].Get<double>(), true));
+}
- SIMPLE_STRICT_UDF(TTDigest_GetPercentile, double(TResource<DigestResourceName>, double)) {
- Y_UNUSED(valueBuilder);
- TDigestResource::Validate(args[0]);
- return TUnboxedValuePod(static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get()->GetPercentile(args[1].Get<double>()));
- }
+SIMPLE_STRICT_UDF(TTDigest_AddValue, TResource<DigestResourceName>(TResource<DigestResourceName>, double)) {
+ Y_UNUSED(valueBuilder);
+ TDigestResource::Validate(args[0]);
+ TDigestResource* resource = static_cast<TDigestResource*>(args[0].AsBoxed().Get());
+ resource->Get()->AddValue(args[1].Get<double>());
+ return TUnboxedValuePod(resource);
+}
- SIMPLE_STRICT_UDF(TTDigest_Serialize, char*(TResource<DigestResourceName>)) {
- TDigestResource::Validate(args[0]);
- return valueBuilder->NewString(static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get()->Serialize());
- }
+SIMPLE_STRICT_UDF(TTDigest_GetPercentile, double(TResource<DigestResourceName>, double)) {
+ Y_UNUSED(valueBuilder);
+ TDigestResource::Validate(args[0]);
+ return TUnboxedValuePod(static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get()->GetPercentile(args[1].Get<double>()));
+}
- SIMPLE_UDF(TTDigest_Deserialize, TResource<DigestResourceName>(char*)) {
- Y_UNUSED(valueBuilder);
- return TUnboxedValuePod(new TDigestResource(TString(args[0].AsStringRef()), true));
- }
+SIMPLE_STRICT_UDF(TTDigest_Serialize, char*(TResource<DigestResourceName>)) {
+ TDigestResource::Validate(args[0]);
+ return valueBuilder->NewString(static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get()->Serialize());
+}
- SIMPLE_STRICT_UDF(TTDigest_Merge, TResource<DigestResourceName>(TResource<DigestResourceName>, TResource<DigestResourceName>)) {
- Y_UNUSED(valueBuilder);
- TDigestResource::Validate(args[0]);
- TDigestResource::Validate(args[1]);
- return TUnboxedValuePod(new TDigestResource(
- static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get(),
- static_cast<TDigestResource*>(args[1].AsBoxed().Get())->Get(),
- true));
- }
+SIMPLE_UDF(TTDigest_Deserialize, TResource<DigestResourceName>(char*)) {
+ Y_UNUSED(valueBuilder);
+ return TUnboxedValuePod(new TDigestResource(TString(args[0].AsStringRef()), true));
+}
- /*
+SIMPLE_STRICT_UDF(TTDigest_Merge, TResource<DigestResourceName>(TResource<DigestResourceName>, TResource<DigestResourceName>)) {
+ Y_UNUSED(valueBuilder);
+ TDigestResource::Validate(args[0]);
+ TDigestResource::Validate(args[1]);
+ return TUnboxedValuePod(new TDigestResource(
+ static_cast<TDigestResource*>(args[0].AsBoxed().Get())->Get(),
+ static_cast<TDigestResource*>(args[1].AsBoxed().Get())->Get(),
+ true));
+}
+
+/*
*
* TODO: Memory tracking
*
@@ -67,12 +67,12 @@ namespace {
*
*/
- SIMPLE_MODULE(TStatModule,
- TTDigest_Create,
- TTDigest_AddValue,
- TTDigest_GetPercentile,
- TTDigest_Serialize,
- TTDigest_Deserialize,
- TTDigest_Merge)
+SIMPLE_MODULE(TStatModule,
+ TTDigest_Create,
+ TTDigest_AddValue,
+ TTDigest_GetPercentile,
+ TTDigest_Serialize,
+ TTDigest_Deserialize,
+ TTDigest_Merge)
-}
+} // namespace