/* This file was automatically generated by CasADi. The CasADi copyright holders make no ownership claim of its contents. */ #ifdef __cplusplus extern "C" { #endif /* How to prefix internal symbols */ #ifdef CODEGEN_PREFIX #define NAMESPACE_CONCAT(NS, ID) _NAMESPACE_CONCAT(NS, ID) #define _NAMESPACE_CONCAT(NS, ID) NS ## ID #define CASADI_PREFIX(ID) NAMESPACE_CONCAT(CODEGEN_PREFIX, ID) #else #define CASADI_PREFIX(ID) phi_ ## ID #endif #include #ifndef casadi_real #define casadi_real double #endif #ifndef casadi_int #define casadi_int long long int #endif /* Add prefix to internal symbols */ #define casadi_f0 CASADI_PREFIX(f0) #define casadi_s0 CASADI_PREFIX(s0) #define casadi_s1 CASADI_PREFIX(s1) #define casadi_sq CASADI_PREFIX(sq) /* Symbol visibility in DLLs */ #ifndef CASADI_SYMBOL_EXPORT #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) #if defined(STATIC_LINKED) #define CASADI_SYMBOL_EXPORT #else #define CASADI_SYMBOL_EXPORT __declspec(dllexport) #endif #elif defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) #define CASADI_SYMBOL_EXPORT __attribute__ ((visibility ("default"))) #else #define CASADI_SYMBOL_EXPORT #endif #endif static const casadi_int casadi_s0[9] = {5, 1, 0, 5, 0, 1, 2, 3, 4}; static const casadi_int casadi_s1[5] = {1, 1, 0, 1, 0}; casadi_real casadi_sq(casadi_real x) { return x*x;} /* phi:(i0[5],i1[5])->(o0) */ static int casadi_f0(const casadi_real** arg, casadi_real** res, casadi_int* iw, casadi_real* w, void* mem) { casadi_real a0, a1, a2, a3, a4, a5, a6, a7, a8; a0=arg[1] ? arg[1][1] : 0; a1=arg[0] ? arg[0][1] : 0; a2=arg[0] ? arg[0][0] : 0; a3=casadi_sq(a2); a3=(a1-a3); a3=casadi_sq(a3); a3=(a0*a3); a4=arg[1] ? arg[1][0] : 0; a5=(a4-a2); a5=casadi_sq(a5); a3=(a3+a5); a5=arg[0] ? arg[0][2] : 0; a6=casadi_sq(a1); a6=(a5-a6); a6=casadi_sq(a6); a6=(a0*a6); a7=(a4-a1); a7=casadi_sq(a7); a6=(a6+a7); a3=(a3+a6); a6=arg[0] ? arg[0][3] : 0; a7=casadi_sq(a5); a7=(a6-a7); a7=casadi_sq(a7); a7=(a0*a7); a8=(a4-a5); a8=casadi_sq(a8); a7=(a7+a8); a3=(a3+a7); a7=arg[0] ? arg[0][4] : 0; a8=casadi_sq(a6); a8=(a7-a8); a8=casadi_sq(a8); a0=(a0*a8); a4=(a4-a6); a4=casadi_sq(a4); a0=(a0+a4); a3=(a3+a0); a0=arg[1] ? arg[1][2] : 0; a4=1.5000000000000000e+00; a4=(a4*a2); a4=(a4-a1); a4=casadi_sq(a4); a0=(a0*a4); a4=arg[1] ? arg[1][3] : 0; a5=(a5-a6); a5=casadi_sq(a5); a4=(a4*a5); a0=(a0+a4); a4=arg[1] ? arg[1][4] : 0; a7=cos(a7); a7=casadi_sq(a7); a4=(a4*a7); a0=(a0+a4); a3=(a3+a0); if (res[0]!=0) res[0][0]=a3; return 0; } CASADI_SYMBOL_EXPORT int phi(const casadi_real** arg, casadi_real** res, casadi_int* iw, casadi_real* w, void* mem){ return casadi_f0(arg, res, iw, w, mem); } CASADI_SYMBOL_EXPORT void phi_incref(void) { } CASADI_SYMBOL_EXPORT void phi_decref(void) { } CASADI_SYMBOL_EXPORT casadi_int phi_n_in(void) { return 2;} CASADI_SYMBOL_EXPORT casadi_int phi_n_out(void) { return 1;} CASADI_SYMBOL_EXPORT const char* phi_name_in(casadi_int i){ switch (i) { case 0: return "i0"; case 1: return "i1"; default: return 0; } } CASADI_SYMBOL_EXPORT const char* phi_name_out(casadi_int i){ switch (i) { case 0: return "o0"; default: return 0; } } CASADI_SYMBOL_EXPORT const casadi_int* phi_sparsity_in(casadi_int i) { switch (i) { case 0: return casadi_s0; case 1: return casadi_s0; default: return 0; } } CASADI_SYMBOL_EXPORT const casadi_int* phi_sparsity_out(casadi_int i) { switch (i) { case 0: return casadi_s1; default: return 0; } } CASADI_SYMBOL_EXPORT int phi_work(casadi_int *sz_arg, casadi_int* sz_res, casadi_int *sz_iw, casadi_int *sz_w) { if (sz_arg) *sz_arg = 2; if (sz_res) *sz_res = 1; if (sz_iw) *sz_iw = 0; if (sz_w) *sz_w = 0; return 0; } #ifdef __cplusplus } /* extern "C" */ #endif