Another update from ingydotnet^djgoku

This commit is contained in:
Ingy döt Net 2015-11-18 06:14:39 +00:00
parent 91df62d461
commit 948b86eafa
7604 changed files with 108452 additions and 22726 deletions

View file

@ -1,18 +1,19 @@
package main
import "fmt"
import (
"fmt"
func main() {
fmt.Println(I(3))
}
"github.com/gonum/matrix/mat64"
)
func I(n int) [][]float64 {
m := make([][]float64, n)
a := make([]float64, n*n)
func eye(n int) *mat64.Dense {
m := mat64.NewDense(n, n, nil)
for i := 0; i < n; i++ {
a[i] = 1
m[i] = a[:n]
a = a[n:]
m.Set(i, i, 1)
}
return m
}
func main() {
fmt.Println(mat64.Formatted(eye(3)))
}

View file

@ -1,18 +1,11 @@
package main
import "fmt"
import (
"fmt"
type matrix []float64
mat "github.com/skelterjohn/go.matrix"
)
func main() {
fmt.Println(I(3))
}
func I(n int) matrix {
m := make(matrix, n*n)
n++
for i := 0; i < len(m); i += n {
m[i] = 1
}
return m
fmt.Println(mat.Eye(3))
}

View file

@ -1,11 +1,17 @@
package main
import (
"fmt"
mat "github.com/skelterjohn/go.matrix"
)
import "fmt"
func main() {
fmt.Println(mat.Eye(3))
fmt.Println(I(3))
}
func I(n int) [][]float64 {
m := make([][]float64, n)
for i := 0; i < n; i++ {
a := make([]float64, n)
a[i] = 1
m[i] = a
}
return m
}

View file

@ -0,0 +1,18 @@
package main
import "fmt"
func main() {
fmt.Println(I(3))
}
func I(n int) [][]float64 {
m := make([][]float64, n)
a := make([]float64, n*n)
for i := 0; i < n; i++ {
a[i] = 1
m[i] = a[:n]
a = a[n:]
}
return m
}

View file

@ -0,0 +1,34 @@
package main
import "fmt"
type matrix []float64
func main() {
n := 3
m := I(n)
// dump flat represenation
fmt.Println(m)
// function x turns a row and column into an index into the
// flat representation.
x := func(r, c int) int { return r*n + c }
// access m by row and column.
for r := 0; r < n; r++ {
for c := 0; c < n; c++ {
fmt.Print(m[x(r, c)], " ")
}
fmt.Println()
}
}
func I(n int) matrix {
m := make(matrix, n*n)
// a fast way to initialize the flat representation
n++
for i := 0; i < len(m); i += n {
m[i] = 1
}
return m
}