func (array denseF64Array) Fill(value float64) {
	Fill(&array, value)
}
Set all array elements to the given value
package matrix
import (
	"fmt"
)
type denseF64Array struct {
	shape     []int
	array     []float64
	transpose bool
}
func (array denseF64Array) Add(other ...NDArray) NDArray {
	return Add(&array, other...)
}
func (array denseF64Array) All() bool {
	return All(&array)
}
func (array denseF64Array) AllF(f func(v float64) bool) bool {
	return AllF(&array, f)
}
func (array denseF64Array) AllF2(f func(v1, v2 float64) bool, other NDArray) bool {
	return AllF2(&array, f, other)
}
func (array denseF64Array) Any() bool {
	return Any(&array)
}
func (array denseF64Array) AnyF(f func(v float64) bool) bool {
	return AnyF(&array, f)
}
func (array denseF64Array) AnyF2(f func(v1, v2 float64) bool, other NDArray) bool {
	return AnyF2(&array, f, other)
}
func (array denseF64Array) Apply(f func(float64) float64) NDArray {
	result := array.copy()
	for i, val := range result.array {
		result.array[i] = f(val)
	}
	return result
}
func (array denseF64Array) Array() []float64 {
	if array.transpose {
		return array.copy().array
	} else {
		return array.array
	}
}
func (array denseF64Array) ColSet(col int, values []float64) {
	if col < 0 || col >= array.shape[1] {
		panic(fmt.Sprintf("ColSet can't set col %d of a %d-col array", col, array.shape[1]))
	} else if len(values) != array.shape[0] {
		panic(fmt.Sprintf("ColSet has %d rows but got %d values", array.shape[0], len(values)))
	}
	for row := 0; row < array.shape[0]; row++ {
		array.ItemSet(values[row], row, col)
	}
}
func (array denseF64Array) Col(col int) []float64 {
	if col < 0 || col >= array.shape[1] {
		panic(fmt.Sprintf("Can't get column %d from a %dx%d array", col, array.shape[0], array.shape[1]))
	}
	result := make([]float64, array.shape[0])
	for row := 0; row < array.shape[0]; row++ {
		result[row] = array.Item(row, col)
	}
	return result
}
func (array denseF64Array) Cols() int {
	return array.shape[1]
}
func (array denseF64Array) Concat(axis int, others ...NDArray) NDArray {
	return Concat(axis, &array, others...)
}
func (array denseF64Array) Copy() NDArray {
	return array.copy()
}
func (array denseF64Array) copy() *denseF64Array {
	result := &denseF64Array{
		shape: make([]int, len(array.shape)),
		array: make([]float64, len(array.array)),
	}
	copy(result.shape[:], array.shape[:])
	if array.transpose {
		for i0 := 0; i0 < array.shape[0]; i0++ {
			for i1 := 0; i1 < array.shape[1]; i1++ {
				result.ItemSet(array.Item(i0, i1), i0, i1)
			}
		}
	} else {
		copy(result.array[:], array.array[:])
	}
	return result
}
func (array denseF64Array) CountNonzero() int {
	count := 0
	for _, v := range array.array {
		if v != 0 {
			count++
		}
	}
	return count
}
func (array denseF64Array) Dense() NDArray {
	return array.copy()
}
func (array denseF64Array) Diag() Matrix {
	size := array.shape[0]
	if array.shape[1] < size {
		size = array.shape[1]
	}
	result := Dense(size, 1).M()
	for i := 0; i < size; i++ {
		result.ItemSet(array.Item(i, i), i, 0)
	}
	return result
}
func (array denseF64Array) Dist(t DistType) Matrix {
	return Dist(&array, t)
}
func (array denseF64Array) Div(other ...NDArray) NDArray {
	return Div(&array, other...)
}
func (array denseF64Array) Equal(other NDArray) bool {
	return Equal(&array, other)
}