sig
  type t
  external create : float -> float -> float -> float -> Osg.Vec4.t
    = "vec4_create"
  val of_tuple : float * float * float * float -> Osg.Vec4.t
  val of_array : float array -> Osg.Vec4.t
  external to_array : Osg.Vec4.t -> float array = "vec4_to_array"
  external to_tuple : Osg.Vec4.t -> float * float * float * float
    = "vec4_to_tuple"
  external x : Osg.Vec4.t -> float = "vec4_x"
  external y : Osg.Vec4.t -> float = "vec4_y"
  external z : Osg.Vec4.t -> float = "vec4_z"
  external w : Osg.Vec4.t -> float = "vec4_w"
  external dot : Osg.Vec4.t -> Osg.Vec4.t -> float = "vec4_dot"
  external minus : Osg.Vec4.t -> Osg.Vec4.t -> Osg.Vec4.t = "vec4_minus"
  external plus : Osg.Vec4.t -> Osg.Vec4.t -> Osg.Vec4.t = "vec4_plus"
  val scale : float -> Osg.Vec4.t -> Osg.Vec4.t
  val mult : Osg.Vec4.t -> Osg.Vec4.t -> Osg.Vec4.t
end