sig
type t
external init : float * float * float -> CL_Vec3f.t = "caml_CL_Vec3f_init"
external init3 : x:float -> y:float -> z:float -> CL_Vec3f.t
= "caml_CL_Vec3f_init3"
external delete : CL_Vec3f.t -> unit = "caml_CL_Vec3f_delete"
external print : CL_Vec3f.t -> unit = "caml_CL_Vec3f_print"
external to_triplet : CL_Vec3f.t -> float * float * float
= "caml_CL_Vec3f_to_triplet"
external normalize : CL_Vec3f.t -> CL_Vec3f.t = "caml_CL_Vec3f_normalize"
external dot : CL_Vec3f.t -> CL_Vec3f.t -> float = "caml_CL_Vec3f_dot"
external cross : CL_Vec3f.t -> CL_Vec3f.t -> CL_Vec3f.t
= "caml_CL_Vec3f_cross"
external length : CL_Vec3f.t -> float = "caml_CL_Vec3f_length"
external distance : CL_Vec3f.t -> CL_Vec3f.t -> float
= "caml_CL_Vec3f_distance"
module Infix :
sig
external ( + ) : CL_Vec3f.t -> CL_Vec3f.t -> CL_Vec3f.t
= "caml_CL_Vec3f_add"
external ( - ) : CL_Vec3f.t -> CL_Vec3f.t -> CL_Vec3f.t
= "caml_CL_Vec3f_sub"
external ( * ) : CL_Vec3f.t -> float -> CL_Vec3f.t
= "caml_CL_Vec3f_mul"
external ( / ) : CL_Vec3f.t -> float -> CL_Vec3f.t
= "caml_CL_Vec3f_div"
end
end