X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cfg%2Fexternal_fcns.def;h=999211a47c43183f491870a0ad21cdf873b594f4;hb=52bf6cf53a585197f998187399ebfd88681d4490;hp=0043b84b1b722c63dfa8382f150ac31aa9ff51a7;hpb=eb761d89890df8d74532dd4faad118db18fd3b7d;p=com%2Fgs-lite.git diff --git a/cfg/external_fcns.def b/cfg/external_fcns.def index 0043b84..999211a 100644 --- a/cfg/external_fcns.def +++ b/cfg/external_fcns.def @@ -610,8 +610,8 @@ uint FUN [LFTA_LEGAL, COST EXPENSIVE] uint FUN [COST LOW] extr_med_hfta0_fcn(string); uint EXTR qspace_of quant_udaf_hfta0 extr_quant_hfta0_space (uint); uint FUN [COST LOW] extr_quant_hfta0_space(string); - string UDAF [SUBAGGR quant_udaf_lfta3, SUPERAGGR quant_udaf_hfta3] quant_udaf_hfta0 fstring16 (uint); - string UDAF quant_udaf_hfta3 fstring16 (string); + string UDAF [SUBAGGR quant_udaf_lfta3, SUPERAGGR quant_udaf_hfta3] quant_udaf_hfta0 fstring24 (uint); + string UDAF quant_udaf_hfta3 fstring24 (string); string UDAF quant_udaf_lfta3 fstring6600 (uint); /////////////////////////////////////////////////////////// @@ -676,31 +676,76 @@ uint FUN [LFTA_LEGAL, COST EXPENSIVE] // count the # times the payload is different from the previous value ///////////////////////////////////////////////////////////// - uint UDAF [SUBAGGR count_diff_lfta_ui, SUPERAGGR count_diff_hfta] count_diff fstring12 (uint); - uint UDAF count_diff_hfta fstring12 (string); + uint UDAF [SUBAGGR count_diff_lfta_ui, SUPERAGGR count_diff_hfta] count_diff fstring16 (uint); + uint UDAF count_diff_hfta fstring16 (string); string UDAF count_diff_lfta_ui fstring20 (uint); - uint UDAF [SUBAGGR count_diff_lfta_i, SUPERAGGR count_diff_hfta] count_diff fstring12 (int); + uint UDAF [SUBAGGR count_diff_lfta_i, SUPERAGGR count_diff_hfta] count_diff fstring16 (int); string UDAF count_diff_lfta_i fstring20 (int); - uint UDAF [SUBAGGR count_diff_lfta_ul, SUPERAGGR count_diff_hfta] count_diff fstring12 (ullong); + uint UDAF [SUBAGGR count_diff_lfta_ul, SUPERAGGR count_diff_hfta] count_diff fstring16 (ullong); string UDAF count_diff_lfta_ul fstring20 (ullong); - uint UDAF [SUBAGGR count_diff_lfta_l, SUPERAGGR count_diff_hfta] count_diff fstring12 (llong); + uint UDAF [SUBAGGR count_diff_lfta_l, SUPERAGGR count_diff_hfta] count_diff fstring16 (llong); string UDAF count_diff_lfta_l fstring20 (llong); - uint UDAF [SUBAGGR count_diff_lfta_s, SUPERAGGR count_diff_hfta] count_diff fstring12 (string); + uint UDAF [SUBAGGR count_diff_lfta_s, SUPERAGGR count_diff_hfta] count_diff fstring16 (string); string UDAF count_diff_lfta_s fstring20 (string); +//////////////////////////////////////////////////////////////// +// string aggregation via catenation +////////////////////////////////////////////////////// + + string UDAF [HFTA_ONLY] CAT_aggr fstring8 (string, string); + /////////////////////////////////////////////////////////// -// integer array aggregation funciton +// integer array aggregation function // We are going to store 4 values in LFTA in fixed size buffer -// plus one byte for array length (17 bytes total) -// HFTA will combine partial aggregates +// plus one byte for array length (17 bytes total) +// HFTA will combine partial aggregates +// This seems to create a string with a comma-separated list of the uints /////////////////////////////////////////////////////////// string UDAF [RUNNING, SUBAGGR running_array_aggr_lfta, SUPERAGGR running_array_aggr_hfta] running_array_aggr string (uint); string UDAF [RUNNING] running_array_aggr_hfta string (string); string UDAF [RUNNING] running_array_aggr_lfta fstring17 (uint); +////////////////////////////////////////////////////////// +// Mapping functions +// Should eventually be replaced by watchlist join ? +////////////////////////////////// + string FUN [HFTA_ONLY, COST EXPENSIVE] int_to_string_map(llong, string HANDLE); + string FUN [HFTA_ONLY, COST EXPENSIVE] int_to_string_map(ullong, string HANDLE); + string FUN [HFTA_ONLY, COST EXPENSIVE] int_to_string_map(int, string HANDLE); + string FUN [HFTA_ONLY, COST EXPENSIVE] int_to_string_map(uint, string HANDLE); + +////////////////////////////////////////////////////////// +// time-averaged aggregate. +// time_avg(sample, ts, window_size) + float UDAF [HFTA_ONLY, RUNNING] time_avg fstring44 (uint, llong, llong) ; + float UDAF [HFTA_ONLY, RUNNING] time_avg fstring44 (int, llong, llong) ; + float UDAF [HFTA_ONLY, RUNNING] time_avg fstring44 (ullong, llong, llong) ; + float UDAF [HFTA_ONLY, RUNNING] time_avg fstring44 (llong, llong, llong) ; + float UDAF [HFTA_ONLY, RUNNING] time_avg fstring44 (float, llong, llong) ; + +// ------------------------------------------------------------ +// running_sum_max : get the running sum of an int, +// be able to report this sum and also its max value +// during the time window + + llong EXTR running_sum run_sum_max extr_running_sum (uint); + llong EXTR running_sum run_sum_max extr_running_sum (int); + llong EXTR running_sum run_sum_max extr_running_sum (llong); + llong EXTR running_sum run_sum_max extr_running_sum (ullong); + llong FUN [COST LOW] extr_running_sum(string); + llong EXTR running_sum_max run_sum_max extr_running_sum_max (uint); + llong EXTR running_sum_max run_sum_max extr_running_sum_max (int); + llong EXTR running_sum_max run_sum_max extr_running_sum_max (llong); + llong EXTR running_sum_max run_sum_max extr_running_sum_max (ullong); + llong FUN [COST LOW] extr_running_sum_max(string); + string UDAF [HFTA_ONLY, RUNNING] run_sum_max fstring16 (uint); + string UDAF [HFTA_ONLY, RUNNING] run_sum_max fstring16 (int); + string UDAF [HFTA_ONLY, RUNNING] run_sum_max fstring16 (ullong); + string UDAF [HFTA_ONLY, RUNNING] run_sum_max fstring16 (llong); +