go-hep.org/x/hep@v0.38.1/hbook/dist_brio.go (about) 1 // Code generated by brio-gen; DO NOT EDIT. 2 3 package hbook 4 5 import ( 6 "encoding/binary" 7 "math" 8 ) 9 10 // MarshalBinary implements encoding.BinaryMarshaler 11 func (o *Dist0D) MarshalBinary() (data []byte, err error) { 12 var buf [8]byte 13 binary.LittleEndian.PutUint64(buf[:8], uint64(o.N)) 14 data = append(data, buf[:8]...) 15 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.SumW)) 16 data = append(data, buf[:8]...) 17 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.SumW2)) 18 data = append(data, buf[:8]...) 19 return data, err 20 } 21 22 // UnmarshalBinary implements encoding.BinaryUnmarshaler 23 func (o *Dist0D) UnmarshalBinary(data []byte) (err error) { 24 o.N = int64(binary.LittleEndian.Uint64(data[:8])) 25 data = data[8:] 26 o.SumW = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 27 data = data[8:] 28 o.SumW2 = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 29 data = data[8:] 30 _ = data 31 return err 32 } 33 34 // MarshalBinary implements encoding.BinaryMarshaler 35 func (o *Dist1D) MarshalBinary() (data []byte, err error) { 36 var buf [8]byte 37 { 38 sub, err := o.Dist.MarshalBinary() 39 if err != nil { 40 return nil, err 41 } 42 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 43 data = append(data, buf[:8]...) 44 data = append(data, sub...) 45 } 46 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.Stats.SumWX)) 47 data = append(data, buf[:8]...) 48 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.Stats.SumWX2)) 49 data = append(data, buf[:8]...) 50 return data, err 51 } 52 53 // UnmarshalBinary implements encoding.BinaryUnmarshaler 54 func (o *Dist1D) UnmarshalBinary(data []byte) (err error) { 55 { 56 n := int(binary.LittleEndian.Uint64(data[:8])) 57 data = data[8:] 58 err = o.Dist.UnmarshalBinary(data[:n]) 59 if err != nil { 60 return err 61 } 62 data = data[n:] 63 } 64 o.Stats.SumWX = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 65 data = data[8:] 66 o.Stats.SumWX2 = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 67 data = data[8:] 68 _ = data 69 return err 70 } 71 72 // MarshalBinary implements encoding.BinaryMarshaler 73 func (o *Dist2D) MarshalBinary() (data []byte, err error) { 74 var buf [8]byte 75 { 76 sub, err := o.X.MarshalBinary() 77 if err != nil { 78 return nil, err 79 } 80 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 81 data = append(data, buf[:8]...) 82 data = append(data, sub...) 83 } 84 { 85 sub, err := o.Y.MarshalBinary() 86 if err != nil { 87 return nil, err 88 } 89 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 90 data = append(data, buf[:8]...) 91 data = append(data, sub...) 92 } 93 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.Stats.SumWXY)) 94 data = append(data, buf[:8]...) 95 return data, err 96 } 97 98 // UnmarshalBinary implements encoding.BinaryUnmarshaler 99 func (o *Dist2D) UnmarshalBinary(data []byte) (err error) { 100 { 101 n := int(binary.LittleEndian.Uint64(data[:8])) 102 data = data[8:] 103 err = o.X.UnmarshalBinary(data[:n]) 104 if err != nil { 105 return err 106 } 107 data = data[n:] 108 } 109 { 110 n := int(binary.LittleEndian.Uint64(data[:8])) 111 data = data[8:] 112 err = o.Y.UnmarshalBinary(data[:n]) 113 if err != nil { 114 return err 115 } 116 data = data[n:] 117 } 118 o.Stats.SumWXY = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 119 data = data[8:] 120 _ = data 121 return err 122 }