value f_i8_caml(value i0, value i1, value i2, value i3, value i4, value i5, value i6, value i7) { CAMLparam5(i0,i1,i2,i3,i4); CAMLxparam3(i5,i6,i7); int ii0 = Int_val(i0); int ii1 = Int_val(i1); int ii2 = Int_val(i2); int ii3 = Int_val(i3); int ii4 = Int_val(i4); int ii5 = Int_val(i5); int ii6 = Int_val(i6); int ii7 = Int_val(i7); CAMLreturn(Val_int(f_i8(ii0,ii1,ii2,ii3,ii4,ii5,ii6,ii7))); }
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); }
value f_i13_caml(value i0, value i1, value i2, value i3, value i4, value i5, value i6, value i7, value i8, value i9, value i10, value i11, value i12) { CAMLparam5(i0,i1,i2,i3,i4); CAMLxparam5(i5,i6,i7,i8,i9); CAMLxparam3(i10,i11,i12); int ii0 = Int_val(i0); int ii1 = Int_val(i1); int ii2 = Int_val(i2); int ii3 = Int_val(i3); int ii4 = Int_val(i4); int ii5 = Int_val(i5); int ii6 = Int_val(i6); int ii7 = Int_val(i7); int ii8 = Int_val(i8); int ii9 = Int_val(i9); int ii10= Int_val(i10); int ii11= Int_val(i11); int ii12= Int_val(i12); CAMLreturn(Val_int(f_i13(ii0,ii1,ii2,ii3,ii4,ii5,ii6,ii7,ii8,ii9,ii10,ii11,ii12))); }
t_value ml_glteximage3dnopixels_native ( value _target_3d, value level, value _internal_format, value width, value height, value depth, value _pixel_data_format, value _pixel_data_type) { CAMLparam5 (_target_3d, level, _internal_format, width, height); CAMLxparam3 (depth, _pixel_data_format, _pixel_data_type); GLenum pixel_data_format = conv_pixel_data_format_table[Int_val(_pixel_data_format)]; GLenum pixel_data_type = conv_pixel_data_type_table[Int_val(_pixel_data_type)]; GLenum target_3d = conv_target_3d_table[Int_val(_target_3d)]; GLint internal_format = conv_internal_format_table[Int_val(_internal_format)]; glTexImage3D( target_3d, Int_val(level), internal_format, Int_val(width), Int_val(height), Int_val(depth), 0, pixel_data_format, pixel_data_type, NULL ); CAMLreturn (Val_unit); }
t_value ml_glteximage2dwithpixels_native ( value _target_2d, value level, value _internal_format, value width, value height, value _pixel_data_format, value _pixel_data_type, value pixels ) { CAMLparam5 (_target_2d, level, _internal_format, width, height); CAMLxparam3 (_pixel_data_format, _pixel_data_type, pixels); GLenum pixel_data_format = conv_pixel_data_format_table[Int_val(_pixel_data_format)]; GLenum pixel_data_type = conv_pixel_data_type_table[Int_val(_pixel_data_type)]; GLenum target_2d = conv_target_2d_table[Int_val(_target_2d)]; GLint internal_format = conv_internal_format_table[Int_val(_internal_format)]; glTexImage2D( target_2d, Int_val(level), internal_format, Int_val(width), Int_val(height), 0, pixel_data_format, pixel_data_type, (const GLvoid *) Data_bigarray_val(pixels) ); CAMLreturn (Val_unit); }
value hdf5_h5l_iterate_by_name(value loc_v, value group_name_v, value index_type_v, value order_v, value idx_v, value op_v, value lapl_v, value op_data_v) { CAMLparam5(loc_v, group_name_v, index_type_v, order_v, idx_v); CAMLxparam3(op_v, lapl_v, op_data_v); CAMLlocal1(exception); struct operator_data op_data; hsize_t idx, ret; op_data.callback = &op_v; op_data.operator_data = &op_data_v; op_data.exception = &exception; idx = Is_block(idx_v) ? Int_val(Field(Field(idx_v, 0), 0)) : 0; exception = Val_unit; ret = H5Literate_by_name(Hid_val(loc_v), String_val(group_name_v), H5_index_val(index_type_v), H5_iter_order_val(order_v), Is_block(idx_v) ? &idx : NULL, hdf5_h5l_operator, &op_data, H5P_opt_val(lapl_v)); if (Is_block(idx_v)) Store_field(Field(idx_v, 0), 0, Val_int(idx)); if (exception != Val_unit) caml_raise(exception); CAMLreturn(Val_h5_iter(ret)); }