Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: third_party/go/src/golang.org/x/mobile/f32/mat3.go

Issue 1275153002: Remove third_party/golang.org/x/mobile as it is no longer used with Go 1.5. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Remove golang.org/x/mobile Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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 f32
6
7 import "fmt"
8
9 // A Mat3 is a 3x3 matrix of float32 values.
10 // Elements are indexed first by row then column, i.e. m[row][column].
11 type Mat3 [3]Vec3
12
13 func (m Mat3) String() string {
14 return fmt.Sprintf(`Mat3[% 0.3f, % 0.3f, % 0.3f,
15 % 0.3f, % 0.3f, % 0.3f,
16 % 0.3f, % 0.3f, % 0.3f]`,
17 m[0][0], m[0][1], m[0][2],
18 m[1][0], m[1][1], m[1][2],
19 m[2][0], m[2][1], m[2][2])
20 }
21
22 func (m *Mat3) Identity() {
23 *m = Mat3{
24 {1, 0, 0},
25 {0, 1, 0},
26 {0, 0, 1},
27 }
28 }
29
30 func (m *Mat3) Eq(n *Mat3, epsilon float32) bool {
31 for i := range m {
32 for j := range m[i] {
33 diff := m[i][j] - n[i][j]
34 if diff < -epsilon || +epsilon < diff {
35 return false
36 }
37 }
38 }
39 return true
40 }
41
42 // Mul stores a × b in m.
43 func (m *Mat3) Mul(a, b *Mat3) {
44 // Store the result in local variables, in case m == a || m == b.
45 m00 := a[0][0]*b[0][0] + a[0][1]*b[1][0] + a[0][2]*b[2][0]
46 m01 := a[0][0]*b[0][1] + a[0][1]*b[1][1] + a[0][2]*b[2][1]
47 m02 := a[0][0]*b[0][2] + a[0][1]*b[1][2] + a[0][2]*b[2][2]
48 m10 := a[1][0]*b[0][0] + a[1][1]*b[1][0] + a[1][2]*b[2][0]
49 m11 := a[1][0]*b[0][1] + a[1][1]*b[1][1] + a[1][2]*b[2][1]
50 m12 := a[1][0]*b[0][2] + a[1][1]*b[1][2] + a[1][2]*b[2][2]
51 m20 := a[2][0]*b[0][0] + a[2][1]*b[1][0] + a[2][2]*b[2][0]
52 m21 := a[2][0]*b[0][1] + a[2][1]*b[1][1] + a[2][2]*b[2][1]
53 m22 := a[2][0]*b[0][2] + a[2][1]*b[1][2] + a[2][2]*b[2][2]
54 m[0][0] = m00
55 m[0][1] = m01
56 m[0][2] = m02
57 m[1][0] = m10
58 m[1][1] = m11
59 m[1][2] = m12
60 m[2][0] = m20
61 m[2][1] = m21
62 m[2][2] = m22
63 }
OLDNEW
« no previous file with comments | « third_party/go/src/golang.org/x/mobile/f32/gen.go ('k') | third_party/go/src/golang.org/x/mobile/f32/mat4.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698