/**
* @file ALGO_UCL_ATY.h
*
* @param Project ALGO_Algorithm_ATY_LIB
*
* @author ATY
*
* @copyright
* - Copyright 2017 - 2025 MZ-ATY
* - This code follows:
* - MZ-ATY Various Contents Joint Statement -
*
* https://mengze.top/MZ-ATY_VCJS
* - CC 4.0 BY-NC-SA -
*
* https://creativecommons.org/licenses/by-nc-sa/4.0/
* - Your use will be deemed to have accepted the terms of this statement.
*
* @brief Familiar functions of UCL algorithm
*
* @version
* - 1_01_220605 > ATY
* -# Preliminary version, first Release
********************************************************************************
*/
#ifndef __ALGO_UCL_ATY_H
#define __ALGO_UCL_ATY_H
#include "INCLUDE_ATY.h"
#include "stdlib.h"
#include "math.h"
/******************************* For user *************************************/
// #define __DEBUG_ALGO_UCL_ATY
/******************************************************************************/
uint32_t UCL_CountConvertFt3_1(uint32_t count);
uint32_t* UCL_CountConvertFt3(uint32_t* count, uint8_t size);
uint32_t UCL_CountConvertM3_1(uint32_t count);
uint32_t* UCL_CountConvertM3(uint32_t* count, uint8_t size);
uint32_t UCL_AAverageCalculate(uint32_t* count, uint8_t size);
uint32_t UCL_MAverageCalculate(uint32_t* count, uint8_t size);
uint32_t UCL_SE_Calculate(uint32_t* count, uint8_t size, uint32_t average_M);
uint32_t UCL_Calculate(uint32_t M, uint32_t SE, uint8_t L);
#ifdef __DEBUG_ALGO_UCL_ATY
void UCL_CalculateTest(uint32_t* C, uint8_t N, uint8_t L);
void UCL_Test(void);
#endif /* __DEBUG_ALGO_UCL_ATY */
#endif /* __ALGO_UCL_ATY_H */
/******************************** End Of File *********************************/