package rrdbinary import ( "encoding/binary" "math" ) type Architecture struct { ByteOrder binary.ByteOrder // C `double` FloatWidth int // always 8 FloatAlign int // C `unsigned long` UintWidth int UintAlign int // C `union { unsigned long; double; }` UnivalWidth int // max(FloatWidth, IntWidth) UnivalAlign int // max(FloatAlign, IntAlign) } type String string // \0-terminatd type Float float64 // 8 bytes type Uint uint64 // 4 or 8 bytes type Unival uint64 // 8 bytes func (u Unival) AsUint64() uint64 { return uint64(u) } func (u Unival) AsFloat64() float64 { return math.Float64frombits(uint64(u)) }