Exemplo n.º 1
0
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)));
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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)));
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
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));
}