git clone https://git.lucas.co/go_mono.git
math/f64/f64.go (1.1K)
1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // Package f64 implements float64 vector and matrix types.
6 package f64 // import "golang.org/x/image/math/f64"
7
8 // Vec2 is a 2-element vector.
9 type Vec2 [2]float64
10
11 // Vec3 is a 3-element vector.
12 type Vec3 [3]float64
13
14 // Vec4 is a 4-element vector.
15 type Vec4 [4]float64
16
17 // Mat3 is a 3x3 matrix in row major order.
18 //
19 // m[3*r + c] is the element in the r'th row and c'th column.
20 type Mat3 [9]float64
21
22 // Mat4 is a 4x4 matrix in row major order.
23 //
24 // m[4*r + c] is the element in the r'th row and c'th column.
25 type Mat4 [16]float64
26
27 // Aff3 is a 3x3 affine transformation matrix in row major order, where the
28 // bottom row is implicitly [0 0 1].
29 //
30 // m[3*r + c] is the element in the r'th row and c'th column.
31 type Aff3 [6]float64
32
33 // Aff4 is a 4x4 affine transformation matrix in row major order, where the
34 // bottom row is implicitly [0 0 0 1].
35 //
36 // m[4*r + c] is the element in the r'th row and c'th column.
37 type Aff4 [12]float64