func (dataset *Dataset) GetMode() int {
	return dataset.Mode
}
GetMode return mode of data.
package tabula
import (
	"errors"
	"math"
)
const (
	DatasetNoMode = 0
	DatasetModeRows = 1
	DatasetModeColumns = 2
	DatasetModeMatrix = 4
)
var (
	ErrColIdxOutOfRange = errors.New("tabula: Column index out of range")
	ErrInvalidColType = errors.New("tabula: Invalid column type")
	ErrMisColLength = errors.New("tabula: mismatch on column length")
)
type Dataset struct {
	Mode int
	Columns Columns
	Rows Rows
}
func NewDataset(mode int, types []int, names []string) (
	dataset *Dataset,
) {
	dataset = &Dataset{}
	dataset.Init(mode, types, names)
	return
}
func (dataset *Dataset) Init(mode int, types []int, names []string) {
	if types == nil {
		dataset.Columns = make(Columns, 0)
	} else {
		dataset.Columns = make(Columns, len(types))
		dataset.Columns.SetTypes(types)
	}
	dataset.SetColumnsName(names)
	dataset.SetMode(mode)
}
func (dataset *Dataset) Clone() interface{} {
	clone := NewDataset(dataset.GetMode(), nil, nil)
	for _, col := range dataset.Columns {
		newcol := Column{
			Type:       col.Type,
			Name:       col.Name,
			ValueSpace: col.ValueSpace,
		}
		clone.PushColumn(newcol)
	}
	return clone
}
func (dataset *Dataset) Reset() error {
	dataset.Rows = Rows{}
	dataset.Columns.Reset()
	return nil
}