void magma_srot( magma_int_t n, float *dx, magma_int_t incx, float *dy, magma_int_t incy, float c, float s ) { cublasSrot( n, dx, incx, dy, incy, c, s ); }
CAMLprim value spoc_cublasSrot (value n, value x, value incx, value y, value incy, value sc, value ss, value dev){ CAMLparam5(n,x,incx, y, incy); CAMLxparam3(sc, ss, dev); CAMLlocal4(dev_vec_array, dev_vec, res, gi); int id; CUdeviceptr d_A; CUdeviceptr d_B; float result; GET_VEC(x, d_A); GET_VEC(y, d_B); CUBLAS_GET_CONTEXT; cublasSrot(Int_val(n), (float*)d_A, Int_val(incx), (float*)d_B, Int_val(incy), (float)(Double_val(sc)), (float)(Double_val(ss))); CUBLAS_CHECK_CALL(cublasGetError()); CUDA_RESTORE_CONTEXT; CAMLreturn(Val_unit); }
// // Overloaded function for dispatching to // * CUBLAS backend, and // * float value-type. // inline void rot( const int n, float* x, const int incx, float* y, const int incy, const float c, const float s ) { cublasSrot( n, x, incx, y, incy, c, s ); }