216 lines
3.3 KiB
C++
Executable File
216 lines
3.3 KiB
C++
Executable File
#include "StatsF16.h"
|
|
#include <stdio.h>
|
|
#include "Error.h"
|
|
#include "Test.h"
|
|
|
|
|
|
|
|
void StatsF16::test_max_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
uint32_t indexval;
|
|
|
|
arm_max_f16(inap,
|
|
this->nb,
|
|
&result,
|
|
&indexval);
|
|
|
|
}
|
|
|
|
void StatsF16::test_absmax_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
uint32_t indexval;
|
|
|
|
arm_absmax_f16(inap,
|
|
this->nb,
|
|
&result,
|
|
&indexval);
|
|
|
|
}
|
|
|
|
void StatsF16::test_max_no_idx_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
|
|
arm_max_no_idx_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_min_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
uint32_t indexval;
|
|
|
|
|
|
arm_min_f16(inap,
|
|
this->nb,
|
|
&result,
|
|
&indexval);
|
|
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_absmin_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
uint32_t indexval;
|
|
|
|
|
|
arm_absmin_f16(inap,
|
|
this->nb,
|
|
&result,
|
|
&indexval);
|
|
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_mean_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
arm_mean_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
}
|
|
|
|
void StatsF16::test_power_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
|
|
arm_power_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_rms_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
|
|
arm_rms_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_std_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
|
|
arm_std_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_var_f16()
|
|
{
|
|
|
|
float16_t result;
|
|
|
|
|
|
arm_var_f16(inap,
|
|
this->nb,
|
|
&result);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void StatsF16::test_entropy_f16()
|
|
{
|
|
(void)arm_entropy_f16(inap,this->nb);
|
|
|
|
|
|
}
|
|
|
|
void StatsF16::test_logsumexp_f16()
|
|
{
|
|
|
|
(void)arm_logsumexp_f16(inap,this->nb);
|
|
|
|
}
|
|
|
|
|
|
void StatsF16::test_kullback_leibler_f16()
|
|
{
|
|
|
|
|
|
(void)arm_kullback_leibler_f16(inap,inbp,this->nb);
|
|
|
|
}
|
|
|
|
void StatsF16::test_logsumexp_dot_prod_f16()
|
|
{
|
|
|
|
(void)arm_logsumexp_dot_prod_f16(inap,inbp,this->nb,tmpp);
|
|
|
|
}
|
|
|
|
|
|
|
|
void StatsF16::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr)
|
|
{
|
|
std::vector<Testing::param_t>::iterator it = paramsArgs.begin();
|
|
this->nb = *it;
|
|
|
|
inputA.reload(StatsF16::INPUT1_F16_ID,mgr,this->nb);
|
|
|
|
inap=inputA.ptr();
|
|
|
|
switch(id)
|
|
{
|
|
case TEST_KULLBACK_LEIBLER_F16_10:
|
|
inputB.reload(StatsF16::INPUT2_F16_ID,mgr,this->nb);
|
|
|
|
inbp=inputB.ptr();
|
|
break;
|
|
|
|
case TEST_LOGSUMEXP_DOT_PROD_F16_11:
|
|
inputB.reload(StatsF16::INPUT2_F16_ID,mgr,this->nb);
|
|
|
|
inbp=inputB.ptr();
|
|
|
|
tmp.create(this->nb,StatsF16::TMP_F16_ID,mgr);
|
|
|
|
tmpp = tmp.ptr();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void StatsF16::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
|
|
{
|
|
(void)id;
|
|
(void)mgr;
|
|
}
|