X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=include%2Flfta%2Frts_udaf.h;h=ed3771d9fcfde777ba6cfaf264688d4c8e8321ab;hb=2fe13e2a8e3ef183a7e48297c6527de8884a32dd;hp=786a041773e3d02e282c1a32f4d8695f03768b36;hpb=eb761d89890df8d74532dd4faad118db18fd3b7d;p=com%2Fgs-lite.git diff --git a/include/lfta/rts_udaf.h b/include/lfta/rts_udaf.h index 786a041..ed3771d 100644 --- a/include/lfta/rts_udaf.h +++ b/include/lfta/rts_udaf.h @@ -15,6 +15,10 @@ #ifndef _RTS_UDAF_H_INCLUDED_ #define _RTS_UDAF_H_INCLUDED_ +#ifdef __cplusplus +extern "C" { +#endif + #include "gsconfig.h" #include "gstypes.h" #include "rts_external.h" @@ -143,11 +147,53 @@ void running_array_aggr_lfta_LFTA_AGGR_DESTROY_(char* scratch); /* LFTA functions */ /****************************************************************/ -void quant_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); -void quant_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_uint32_t); -gs_retval_t quant_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); -void quant_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); -void quant_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); - +void quant_ui_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); +void quant_ui_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_uint32_t); +gs_retval_t quant_ui_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); +void quant_ui_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); +void quant_ui_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); + +void quant_i_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); +void quant_i_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_int32_t); +gs_retval_t quant_i_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); +void quant_i_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); +void quant_i_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); + +void quant_ul_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); +void quant_ul_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_uint64_t); +gs_retval_t quant_ul_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); +void quant_ul_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); +void quant_ul_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); + +void quant_l_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); +void quant_l_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_int64_t); +gs_retval_t quant_l_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); +void quant_l_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); +void quant_l_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); + +void quant_f_udaf_lfta3_LFTA_AGGR_INIT_(gs_sp_t); +void quant_f_udaf_lfta3_LFTA_AGGR_UPDATE_(gs_sp_t, gs_float_t); +gs_retval_t quant_f_udaf_lfta3_LFTA_AGGR_FLUSHME_(gs_sp_t); +void quant_f_udaf_lfta3_LFTA_AGGR_OUTPUT_(struct gs_string *, gs_sp_t); +void quant_f_udaf_lfta3_LFTA_AGGR_DESTROY_(gs_sp_t); + +///////////////////////////////////////////////////////// +// ============================================================== +// other rts functions. + +// sum up unsigned integers expressed as a string with separators, +// e.g. on input '34|45|56' and sep '|', return 135. +// This kind of thing is common in Nokia PCMD data. +// gracefully handle empty entries, e.g. '|8|' should return 8 +gs_int64_t sum_uint_in_list(struct gs_string *list, struct gs_string *sepchar); + +// Convert a string to a llong. +// Has some protection to reject non-numeric characters. +// a leading minus sign is allowed +gs_int64_t to_llong(struct gs_string *v); + +#ifdef __cplusplus +} +#endif #endif