Avoid confusion with the name realloc

Fixes issue 1.
This commit is contained in:
kortschak
2013-12-27 19:40:43 +10:30
parent c3ee9fcffd
commit fadcd6dd7f
3 changed files with 13 additions and 11 deletions

View File

@@ -344,7 +344,7 @@ func (m *Dense) Add(a, b Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
} else if ar != m.mat.Rows || ac != m.mat.Cols { } else if ar != m.mat.Rows || ac != m.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -398,7 +398,7 @@ func (m *Dense) Sub(a, b Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
} else if ar != m.mat.Rows || ac != m.mat.Cols { } else if ar != m.mat.Rows || ac != m.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -452,7 +452,7 @@ func (m *Dense) MulElem(a, b Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
} else if ar != m.mat.Rows || ac != m.mat.Cols { } else if ar != m.mat.Rows || ac != m.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -551,7 +551,7 @@ func (m *Dense) Mul(a, b Matrix) {
Rows: ar, Rows: ar,
Cols: bc, Cols: bc,
Stride: bc, Stride: bc,
Data: realloc(w.mat.Data, ar*bc), Data: use(w.mat.Data, ar*bc),
} }
} else if ar != w.mat.Rows || bc != w.mat.Cols { } else if ar != w.mat.Rows || bc != w.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -619,7 +619,7 @@ func (m *Dense) Scale(f float64, a Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
} else if ar != m.mat.Rows || ac != m.mat.Cols { } else if ar != m.mat.Rows || ac != m.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -662,7 +662,7 @@ func (m *Dense) Apply(f ApplyFunc, a Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
} else if ar != m.mat.Rows || ac != m.mat.Cols { } else if ar != m.mat.Rows || ac != m.mat.Cols {
panic(ErrShape) panic(ErrShape)
@@ -719,7 +719,7 @@ func (m *Dense) U(a Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
case ar != m.mat.Rows || ac != m.mat.Cols: case ar != m.mat.Rows || ac != m.mat.Cols:
panic(ErrShape) panic(ErrShape)
@@ -775,7 +775,7 @@ func (m *Dense) L(a Matrix) {
Rows: ar, Rows: ar,
Cols: ac, Cols: ac,
Stride: ac, Stride: ac,
Data: realloc(m.mat.Data, ar*ac), Data: use(m.mat.Data, ar*ac),
} }
case ar != m.mat.Rows || ac != m.mat.Cols: case ar != m.mat.Rows || ac != m.mat.Cols:
panic(ErrShape) panic(ErrShape)
@@ -826,7 +826,7 @@ func (m *Dense) TCopy(a Matrix) {
Order: BlasOrder, Order: BlasOrder,
Rows: ac, Rows: ac,
Cols: ar, Cols: ar,
Data: realloc(w.mat.Data, ar*ac), Data: use(w.mat.Data, ar*ac),
} }
w.mat.Stride = ar w.mat.Stride = ar
} else if ar != m.mat.Cols || ac != m.mat.Rows { } else if ar != m.mat.Cols || ac != m.mat.Rows {

View File

@@ -381,7 +381,9 @@ func max(a, b int) int {
return b return b
} }
func realloc(f []float64, l int) []float64 { // use returns a float64 slice with l elements, using f if it
// has the necessary capacity, otherwise creating a new slice.
func use(f []float64, l int) []float64 {
if l < cap(f) { if l < cap(f) {
return f[:l] return f[:l]
} }

View File

@@ -71,7 +71,7 @@ func (m *Vec) Mul(a, b Matrix) {
w = *m w = *m
} }
if len(w) == 0 { if len(w) == 0 {
w = realloc(w, ar) w = use(w, ar)
} else if ar != len(w) || bc != 1 { } else if ar != len(w) || bc != 1 {
panic(ErrShape) panic(ErrShape)
} }