DECLARE_TEST( math, exponentials ) { EXPECT_REALONE( math_exp( REAL_ZERO ) ); EXPECT_REALEQ( math_exp( REAL_ONE ), REAL_E ); EXPECT_REALONE( math_pow( REAL_ONE, REAL_ONE ) ); EXPECT_REALONE( math_pow( REAL_ONE, REAL_ZERO ) ); EXPECT_REALONE( math_pow( REAL_THREE, REAL_ZERO ) ); EXPECT_REALEQ( math_pow( REAL_SQRT2, REAL_TWO ), REAL_TWO ); EXPECT_REALEQ( math_logn( REAL_TWO ), REAL_LOGN2 ); EXPECT_REALEQ( math_logn( REAL_C( 10.0 ) ), REAL_LOGN10 ); EXPECT_REALONE( math_log2( REAL_TWO ) ); EXPECT_REALEQ( math_log2( REAL_TWO * REAL_TWO ), REAL_TWO ); EXPECT_REALEQ( math_log2( REAL_TWO * REAL_TWO * REAL_TWO * REAL_TWO ), REAL_C( 4.0 ) ); return 0; }
float compute_MBF(MBF_t *mf, float err){ float tmp = math_pow((err - mf->c), 2); tmp = tmp/ math_pow(mf->b, 2); tmp = exponential(tmp); return tmp; }