Ejemplo n.º 1
0
	void load_model(const std::string &model_json){
#ifndef USE_DFT_ALGORITHM
		if(test_fma()){
			if(test_avx2()){
				// FMA + AVX2
				m_impl.reset(new waifu2x::AVXImpl<true, true>());
			}else{
				// FMA + AVX
				m_impl.reset(new waifu2x::AVXImpl<true, false>());
			}
		}else if(test_avx()){
			// AVX
			m_impl.reset(new waifu2x::AVXImpl<false, false>());
		}else{
			assert(!"Unsupported CPU");
		}
#else
		if(test_fma()){
			m_impl.reset(new waifu2x::DFTAVXImpl<true>());
		}else if(test_avx()){
			m_impl.reset(new waifu2x::DFTAVXImpl<false>());
		}else{
			assert(!"Unsupported CPU");
		}
#endif
		const waifu2x::Model model(model_json);
		m_num_steps = static_cast<int>(model.num_steps());
		m_impl->prepare(model);
		m_impl->set_num_threads(m_num_threads);
		m_impl->set_block_size(m_block_width, m_block_height);
	}
Ejemplo n.º 2
0
int fp_test(int, char**) {
    test_mad();

#ifdef __ARM_NEON__
    test_fma();
#endif

    return 0;
}
Ejemplo n.º 3
0
int main()
{
    test_acos();
    test_asin();
    test_atan();
    test_atan2();
    test_ceil();
    test_cos();
    test_cosh();
    test_exp();
    test_fabs();
    test_floor();
    test_fmod();
    test_frexp();
    test_ldexp();
    test_log();
    test_log10();
    test_modf();
    test_pow();
    test_sin();
    test_sinh();
    test_sqrt();
    test_tan();
    test_tanh();
    test_signbit();
    test_fpclassify();
    test_isfinite();
    test_isinf();
    test_isnan();
    test_isnormal();
    test_isgreater();
    test_isgreaterequal();
    test_isless();
    test_islessequal();
    test_islessgreater();
    test_isunordered();
    test_acosh();
    test_asinh();
    test_atanh();
    test_cbrt();
    test_copysign();
    test_erf();
    test_erfc();
    test_exp2();
    test_expm1();
    test_fdim();
    test_fma();
    test_fmax();
    test_fmin();
    test_hypot();
    test_ilogb();
    test_lgamma();
    test_llrint();
    test_llround();
    test_log1p();
    test_log2();
    test_logb();
    test_lrint();
    test_lround();
    test_nan();
    test_nearbyint();
    test_nextafter();
    test_nexttoward();
    test_remainder();
    test_remquo();
    test_rint();
    test_round();
    test_scalbln();
    test_scalbn();
    test_tgamma();
    test_trunc();
}