//vdAbs Computation of the absolute value of vector elements void klVSLAbs(klVector<double>& v,klVector<double>& ans) { const __int64_t n = v.getColumns(); vdAbs( n, v.getMemory(),ans.getMemory()); }
/* * Class: com_intel_analytics_bigdl_mkl_MKL * Method: vsLog1p * Signature: (I[FI[FI)V */ JNIEXPORT void JNICALL Java_com_intel_analytics_bigdl_mkl_MKL_vdAbs (JNIEnv * env, jclass cls, jint n, jdoubleArray a, jint aOffset, jdoubleArray y, jint yOffset) { jdouble * jni_a = (*env)->GetPrimitiveArrayCritical(env, a, JNI_FALSE); jdouble * jni_y = (*env)->GetPrimitiveArrayCritical(env, y, JNI_FALSE); vdAbs( n, jni_a + aOffset, jni_y + yOffset); (*env)->ReleasePrimitiveArrayCritical(env, y, jni_y, 0); (*env)->ReleasePrimitiveArrayCritical(env, a, jni_a, 0); }
void WavefunctionData::calc_norm(SimulationData &sim_data, double *wf) { vdAbs(sim_data.num_points, wf, this->psi_abs2); vdMul(sim_data.num_points, this->psi_abs2, this->psi_abs2, this->psi_abs2); double sum = 0; #pragma omp parallel for reduction(+:sum) for (int i = 0; i < sim_data.num_points; ++i) { sum += this->psi_abs2[i]; } this->wavefunction_norm = sum; }
void caffe_abs<double>(const int n, const double* a, double* y) { vdAbs(n, a, y); }