//generate uniform distribution (single precision) on (0,1) range float pnlRand(float left, float right) { //TODO: check argument range float retVal = 0; vsRngUniform( VSL_METHOD_SUNIFORM_STD, g_RNG.m_vslStream, 1, &retVal, left, right ); return retVal; }
JNIEXPORT jint JNICALL Java_edu_berkeley_bid_VSL_vsRngUniform (JNIEnv * env, jobject calling_obj, jint method, jobject j_stream, jint n, jfloatArray j_r, jfloat a, jfloat b) { VSLStreamStatePtr stream = getStream(env, calling_obj, j_stream); jfloat * r = (*env)->GetPrimitiveArrayCritical(env, j_r, JNI_FALSE); jint retval = vsRngUniform(method, stream, n, r, a, b); (*env)->ReleasePrimitiveArrayCritical(env, j_r, r, 0); return retval; }
void Random<CPU>::uniform (float *data, int size, const float a, const float b) const { const int N = size; rand_check (vsRngUniform (0, vStream_, N, data, a, b)); // TODO }
void pnlRand(int numElem, float* vec, float left, float right) { vsRngUniform( VSL_METHOD_SUNIFORM_STD, g_RNG.m_vslStream, numElem, vec, left, right ); }