Browse Source

Extract TDigest from YQL to library

ifsmirnov 2 years ago
parent
commit
4d05deef52

+ 1 - 0
library/cpp/CMakeLists.darwin.txt

@@ -72,6 +72,7 @@ add_subdirectory(sse)
 add_subdirectory(streams)
 add_subdirectory(string_utils)
 add_subdirectory(svnversion)
+add_subdirectory(tdigest)
 add_subdirectory(terminate_handler)
 add_subdirectory(testing)
 add_subdirectory(threading)

+ 1 - 0
library/cpp/CMakeLists.linux-aarch64.txt

@@ -71,6 +71,7 @@ add_subdirectory(sse)
 add_subdirectory(streams)
 add_subdirectory(string_utils)
 add_subdirectory(svnversion)
+add_subdirectory(tdigest)
 add_subdirectory(terminate_handler)
 add_subdirectory(testing)
 add_subdirectory(threading)

+ 1 - 0
library/cpp/CMakeLists.linux.txt

@@ -72,6 +72,7 @@ add_subdirectory(sse)
 add_subdirectory(streams)
 add_subdirectory(string_utils)
 add_subdirectory(svnversion)
+add_subdirectory(tdigest)
 add_subdirectory(terminate_handler)
 add_subdirectory(testing)
 add_subdirectory(threading)

+ 34 - 0
library/cpp/tdigest/CMakeLists.txt

@@ -0,0 +1,34 @@
+
+# This file was gererated by the build system used internally in the Yandex monorepo.
+# Only simple modifications are allowed (adding source-files to targets, adding simple properties
+# like target_include_directories). These modifications will be ported to original
+# ya.make files by maintainers. Any complex modifications which can't be ported back to the
+# original buildsystem will not be accepted.
+
+
+
+add_library(library-cpp-tdigest)
+target_link_libraries(library-cpp-tdigest PUBLIC
+  contrib-libs-cxxsupp
+  yutil
+  contrib-libs-protobuf
+)
+target_proto_messages(library-cpp-tdigest PRIVATE
+  ${CMAKE_SOURCE_DIR}/library/cpp/tdigest/tdigest.proto
+)
+target_sources(library-cpp-tdigest PRIVATE
+  ${CMAKE_SOURCE_DIR}/library/cpp/tdigest/tdigest.cpp
+)
+target_proto_addincls(library-cpp-tdigest
+  ./
+  ${CMAKE_SOURCE_DIR}/
+  ${CMAKE_BINARY_DIR}
+  ${CMAKE_SOURCE_DIR}
+  ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src
+  ${CMAKE_BINARY_DIR}
+  ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src
+)
+target_proto_outs(library-cpp-tdigest
+  --cpp_out=${CMAKE_BINARY_DIR}/
+  --cpp_styleguide_out=${CMAKE_BINARY_DIR}/
+)

+ 3 - 1
ydb/library/yql/udfs/common/stat/static/tdigest.cpp → library/cpp/tdigest/tdigest.cpp

@@ -1,5 +1,7 @@
 #include "tdigest.h"
-#include <ydb/library/yql/udfs/common/stat/static/tdigest.pb.h>
+
+#include <library/cpp/tdigest/tdigest.pb.h>
+
 #include <cmath>
 
 // TODO: rewrite to https://github.com/tdunning/t-digest/blob/master/src/main/java/com/tdunning/math/stats/MergingDigest.java

+ 0 - 0
ydb/library/yql/udfs/common/stat/static/tdigest.h → library/cpp/tdigest/tdigest.h


+ 0 - 0
ydb/library/yql/udfs/common/stat/static/tdigest.proto → library/cpp/tdigest/tdigest.proto


+ 1 - 19
ydb/library/yql/udfs/common/stat/static/CMakeLists.txt

@@ -16,27 +16,9 @@ target_compile_options(common-stat-static PRIVATE
 target_link_libraries(common-stat-static PUBLIC
   contrib-libs-cxxsupp
   yutil
-  contrib-libs-protobuf
-  util-draft
   yql-public-udf
-)
-target_proto_messages(common-stat-static PRIVATE
-  ${CMAKE_SOURCE_DIR}/ydb/library/yql/udfs/common/stat/static/tdigest.proto
+  library-cpp-tdigest
 )
 target_sources(common-stat-static PRIVATE
   ${CMAKE_SOURCE_DIR}/ydb/library/yql/udfs/common/stat/static/static_udf.cpp
-  ${CMAKE_SOURCE_DIR}/ydb/library/yql/udfs/common/stat/static/tdigest.cpp
-)
-target_proto_addincls(common-stat-static
-  ./
-  ${CMAKE_SOURCE_DIR}/
-  ${CMAKE_BINARY_DIR}
-  ${CMAKE_SOURCE_DIR}
-  ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src
-  ${CMAKE_BINARY_DIR}
-  ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src
-)
-target_proto_outs(common-stat-static
-  --cpp_out=${CMAKE_BINARY_DIR}/
-  --cpp_styleguide_out=${CMAKE_BINARY_DIR}/
 )

+ 2 - 1
ydb/library/yql/udfs/common/stat/static/stat_udf.h

@@ -2,7 +2,8 @@
 
 #include <ydb/library/yql/public/udf/udf_helpers.h>
 #include <ydb/library/yql/public/udf/udf_value_builder.h>
-#include "tdigest.h"
+
+#include <library/cpp/tdigest/tdigest.h>
 
 using namespace NYql;
 using namespace NUdf;