1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
package pb
//proteus:generate
type DataOrder byte
// the reason for spreading the states out is because proteaus cannot handle non-iota tates
const (
RowMajorContiguous = iota
RowMajorNonContiguous
ColMajorContiguous
ColMajorNonContiguous
)
//proteus:generate
type Triangle byte
const (
NotTriangle Triangle = iota
Upper
Lower
Symmetric
)
//proteus:generate
type AP struct {
Shape []int32
Strides []int32
O DataOrder
T Triangle
}
//proteus:generate
type Dense struct {
AP
Type string // type name
Data []byte
}
//proteus:generate
type MaskedDense struct {
Dense
Mask []bool
MaskIsSoft []bool
}
|