static int fQ(realtype t, N_Vector y, N_Vector qdot, void *user_data) { ProblemData d; realtype *dqdata; d = (ProblemData) user_data; dqdata = NV_DATA_P(qdot); dqdata[0] = N_VDotProd_Parallel(y,y); dqdata[0] *= RCONST(0.5) * (d->dOmega); return(0); }
CAMLprim value sunml_nvec_par_n_vdotprod(value vx, value vy) { CAMLparam2(vx, vy); realtype r = N_VDotProd_Parallel(NVEC_VAL(vx), NVEC_VAL(vy)); CAMLreturn(caml_copy_double(r)); }