Example #1
0
JNIEXPORT void JNICALL Java_uncomplicate_neanderthal_CBLAS_srotg
(JNIEnv *env, jclass clazz, jobject params) {

  float *ca = (float *) (*env)->GetDirectBufferAddress(env, params);
  float *cb = ca + 1;
  float *cc = ca + 2;
  float *cs = ca + 3;
  cblas_srotg(ca, cb, cc, cs);
};
JNIEXPORT void JNICALL Java_uncomplicate_neanderthal_CBLAS_srotg
(JNIEnv *env, jclass clazz, jobject abcs, jint offset_abcs, jint inc_abcs) {

    float *c_abcs = (float *) (*env)->GetDirectBufferAddress(env, abcs) + offset_abcs;
    cblas_srotg(c_abcs, c_abcs + inc_abcs, c_abcs + 2 * inc_abcs, c_abcs + 3 * inc_abcs);
};
//
// Overloaded function for dispatching to
// * CBLAS backend, and
// * float value-type.
//
inline void rotg( float& a, float& b, float& c, float& s ) {
    cblas_srotg( &a, &b, &c, &s );
}