sig
  type t
  external create : float -> float -> Osg.Vec2.t = "vec2_create"
  val of_tuple : float * float -> Osg.Vec2.t
  val of_array : float array -> Osg.Vec2.t
  external to_array : Osg.Vec2.t -> float array = "vec2_to_array"
  external to_tuple : Osg.Vec2.t -> float * float = "vec2_to_tuple"
  external x : Osg.Vec2.t -> float = "vec2_x"
  external y : Osg.Vec2.t -> float = "vec2_y"
  external dot : Osg.Vec2.t -> Osg.Vec2.t -> float = "vec2_dot"
  external minus : Osg.Vec2.t -> Osg.Vec2.t -> Osg.Vec2.t = "vec2_minus"
  external plus : Osg.Vec2.t -> Osg.Vec2.t -> Osg.Vec2.t = "vec2_plus"
  val scale : float -> Osg.Vec2.t -> Osg.Vec2.t
  val mult : Osg.Vec2.t -> Osg.Vec2.t -> Osg.Vec2.t
end