void cmsLab2XYZEncoded(WORD Lab[3], WORD XYZ[3]) { double L, a, b; double X, Y, Z, x, y, z; L = ((double) Lab[0] * 100.0) / 65280.0; if (L==0.0) { XYZ[0] = 0; XYZ[1] = 0; XYZ[2] = 0; return; } a = ((double) Lab[1] / 256.0) - 128.0; b = ((double) Lab[2] / 256.0) - 128.0; y = (L + 16.) / 116.0; x = y + 0.002 * a; z = y - 0.005 * b; X = f_1(x) * D50X; Y = f_1(y) * D50Y; Z = f_1(z) * D50Z; // Convert to 1.15 fixed format PCS XYZ[0] = _cmsClampWord((int) floor(X * 32768.0 + 0.5)); XYZ[1] = _cmsClampWord((int) floor(Y * 32768.0 + 0.5)); XYZ[2] = _cmsClampWord((int) floor(Z * 32768.0 + 0.5)); }
// -------------------------------------------------- // Approx function Value - solution_set's value at x_pos double Individual::approx_func(){ double x = get_x_pos(); double a, b; a = f_1(x, solution_set.at(0), solution_set.at(1)); b = f_2(x, solution_set.at(2), solution_set.at(3)); approx_value = (a + b); //cout << endl << "Approximate Value is: " << approx_value << endl; return approx_value; }
// -------------------------------------------------- // TODO - MOVE to Function // Real Function Value - real coefficient_set's value at x_pos double Individual::real_func(){ double x = get_x_pos(); double a, b; a = f_1(x, real_set.at(0), real_set.at(1)); b = f_2(x, real_set.at(2), real_set.at(3)); real_value = (a + b); //cout << endl << "real value is: " << real_value << endl; return real_value; }
int main(){ int a; void (*f_1)()=NULL; void (*f_2)()=NULL; void * lib=NULL; printf("What version of the functions you whant to use?\n"); printf("\t1 - Normal (test1)\n"); printf("\t2 - Optimized (test2)\n"); scanf("%d", &a); if (a == 1){ printf("running the normal versions from \n"); /* call func_1 from test1 */ /* call func_2 from test1 */ lib = dlopen("/home/rui/psis/lab1/rui/V_VI/test1.so", RTLD_LAZY); if (!lib) { printf("%s\n", dlerror()); exit(1); } }else{ if(a== 2){ printf("runnin the normal versions\n"); /* call func_1 from test2 */ /* call func_2 from test2 */ lib = dlopen("/home/rui/psis/lab1/rui/V_VI/test2.so", RTLD_LAZY); if (!lib) { printf("%s\n", dlerror()); exit(1); } }else{ printf("Not running anything\n"); exit(3); } } f_1 = dlsym(lib, "func_1"); f_2 = dlsym(lib, "func_2"); f_1(); f_2(); exit(0); }
void LCMSEXPORT cmsLab2XYZ(LPcmsCIEXYZ WhitePoint, LPcmsCIEXYZ xyz, const cmsCIELab* Lab) { double x, y, z; if (Lab -> L <= 0) { xyz -> X = 0; xyz -> Y = 0; xyz -> Z = 0; return; } if (WhitePoint == NULL) WhitePoint = cmsD50_XYZ(); y = (Lab-> L + 16.0) / 116.0; x = y + 0.002 * Lab -> a; z = y - 0.005 * Lab -> b; xyz -> X = f_1(x) * WhitePoint -> X; xyz -> Y = f_1(y) * WhitePoint -> Y; xyz -> Z = f_1(z) * WhitePoint -> Z; }
/* heres another comment */ int f(int a, float *b) { switch (a) { case 0: return f_0(b); break; case 1: return f_1(b); break; default: return 1; break; } }
ats_ptr_type __ats_fun_2 (ats_ptr_type env0, ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; __ats_lab___ats_fun_2: if (arg0) { /* ats_ptr_type tmp13 ; */ /* tmp14 = */ f_1 (env0, (&tmp13)) ; tmp12 = tmp13 ; } else { /* tmp12 = */ atslib_closedir_exn (env0) ; } /* end of [if] */ return (tmp12) ; } /* end of [__ats_fun_2] */
FIT_TEST_CASE() { int const x = 1; int const y = 2; FIT_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_1())(std::placeholders::_1))(x) == 1L ); FIT_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_2())(std::placeholders::_1, std::placeholders::_2))(x, y) == 21L ); FIT_TEST_CHECK( fit::lazy(f_2())( fit::lazy(f_1())(std::placeholders::_1), fit::lazy(f_1())(std::placeholders::_1))(x) == 11L ); FIT_TEST_CHECK( fit::lazy(f_2())( fit::lazy(f_1())(std::placeholders::_1), fit::lazy(f_1())( std::placeholders::_2))(x, y) == 21L ); FIT_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_0())())() == 17041L ); FIT_STATIC_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_1())(test_placeholder<1>()))(x) == 1L ); FIT_STATIC_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_2())(test_placeholder<1>(), test_placeholder<2>()))(x, y) == 21L ); FIT_STATIC_TEST_CHECK( fit::lazy(f_2())( fit::lazy(f_1())(test_placeholder<1>()), fit::lazy(f_1())(test_placeholder<1>()))(x) == 11L ); FIT_STATIC_TEST_CHECK( fit::lazy(f_2())( fit::lazy(f_1())(test_placeholder<1>()), fit::lazy(f_1())( test_placeholder<2>()))(x, y) == 21L ); FIT_STATIC_TEST_CHECK( fit::lazy(f_1())( fit::lazy(f_0())())() == 17041L ); FIT_TEST_CHECK( (fit::lazy(fv_1())( fit::lazy(f_1())(std::placeholders::_1))(x), (global_result == 1L)) ); FIT_TEST_CHECK( (fit::lazy(fv_1())( fit::lazy(f_2())(std::placeholders::_1, std::placeholders::_2))(x, y), (global_result == 21L)) ); FIT_TEST_CHECK( (fit::lazy(fv_2())( fit::lazy(f_1())(std::placeholders::_1), fit::lazy(f_1())(std::placeholders::_1))(x), (global_result == 11L)) ); FIT_TEST_CHECK( (fit::lazy(fv_2())( fit::lazy(f_1())(std::placeholders::_1), fit::lazy(f_1())( std::placeholders::_2))(x, y), (global_result == 21L)) ); FIT_TEST_CHECK( (fit::lazy(fv_1())( fit::lazy(f_0())())(), (global_result == 17041L)) ); }