func (v1 Vec2) Sub(v2 Vec2) Vec2 {
	return Vec2{v1[0] - v2[0], v1[1] - v2[1]}
}
Sub performs element-wise subtraction between two vectors. It is equivalent to iterating
over every element of v1 and subtracting the corresponding element of v2 from it.
package mgl32
import (
	"golang.org/x/image/math/f32"
	"math"
)
type Vec2 f32.Vec2
type Vec3 f32.Vec3
type Vec4 f32.Vec4
func (v Vec2) Vec3(z float32) Vec3 {
	return Vec3{v[0], v[1], z}
}
func (v Vec2) Vec4(z, w float32) Vec4 {
	return Vec4{v[0], v[1], z, w}
}
func (v Vec3) Vec4(w float32) Vec4 {
	return Vec4{v[0], v[1], v[2], w}
}
func (v Vec3) Vec2() Vec2 {
	return Vec2{v[0], v[1]}
}
func (v Vec4) Vec2() Vec2 {
	return Vec2{v[0], v[1]}
}
func (v Vec4) Vec3() Vec3 {
	return Vec3{v[0], v[1], v[2]}
}
func (v Vec2) Elem() (x, y float32) {
	return v[0], v[1]
}
func (v Vec3) Elem() (x, y, z float32) {
	return v[0], v[1], v[2]
}
func (v Vec4) Elem() (x, y, z, w float32) {
	return v[0], v[1], v[2], v[3]
}
func (v1 Vec3) Cross(v2 Vec3) Vec3 {
	return Vec3{v1[1]*v2[2] - v1[2]*v2[1], v1[2]*v2[0] - v1[0]*v2[2], v1[0]*v2[1] - v1[1]*v2[0]}
}
func (v Vec4) Quat() Quat {
	return Quat{v[3], Vec3{v[0], v[1], v[2]}}
}
func (v1 Vec2) Add(v2 Vec2) Vec2 {
	return Vec2{v1[0] + v2[0], v1[1] + v2[1]}
}