go-hep.org/x/hep@v0.38.1/hbook/hbook_brio.go (about) 1 // Code generated by brio-gen; DO NOT EDIT. 2 3 package hbook 4 5 import ( 6 "encoding/binary" 7 ) 8 9 // MarshalBinary implements encoding.BinaryMarshaler 10 func (o *H1D) MarshalBinary() (data []byte, err error) { 11 var buf [8]byte 12 { 13 sub, err := o.Binning.MarshalBinary() 14 if err != nil { 15 return nil, err 16 } 17 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 18 data = append(data, buf[:8]...) 19 data = append(data, sub...) 20 } 21 { 22 sub, err := o.Ann.MarshalBinary() 23 if err != nil { 24 return nil, err 25 } 26 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 27 data = append(data, buf[:8]...) 28 data = append(data, sub...) 29 } 30 return data, err 31 } 32 33 // UnmarshalBinary implements encoding.BinaryUnmarshaler 34 func (o *H1D) UnmarshalBinary(data []byte) (err error) { 35 { 36 n := int(binary.LittleEndian.Uint64(data[:8])) 37 data = data[8:] 38 err = o.Binning.UnmarshalBinary(data[:n]) 39 if err != nil { 40 return err 41 } 42 data = data[n:] 43 } 44 { 45 n := int(binary.LittleEndian.Uint64(data[:8])) 46 data = data[8:] 47 err = o.Ann.UnmarshalBinary(data[:n]) 48 if err != nil { 49 return err 50 } 51 data = data[n:] 52 } 53 _ = data 54 return err 55 } 56 57 // MarshalBinary implements encoding.BinaryMarshaler 58 func (o *H2D) MarshalBinary() (data []byte, err error) { 59 var buf [8]byte 60 { 61 sub, err := o.Binning.MarshalBinary() 62 if err != nil { 63 return nil, err 64 } 65 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 66 data = append(data, buf[:8]...) 67 data = append(data, sub...) 68 } 69 { 70 sub, err := o.Ann.MarshalBinary() 71 if err != nil { 72 return nil, err 73 } 74 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 75 data = append(data, buf[:8]...) 76 data = append(data, sub...) 77 } 78 return data, err 79 } 80 81 // UnmarshalBinary implements encoding.BinaryUnmarshaler 82 func (o *H2D) UnmarshalBinary(data []byte) (err error) { 83 { 84 n := int(binary.LittleEndian.Uint64(data[:8])) 85 data = data[8:] 86 err = o.Binning.UnmarshalBinary(data[:n]) 87 if err != nil { 88 return err 89 } 90 data = data[n:] 91 } 92 { 93 n := int(binary.LittleEndian.Uint64(data[:8])) 94 data = data[8:] 95 err = o.Ann.UnmarshalBinary(data[:n]) 96 if err != nil { 97 return err 98 } 99 data = data[n:] 100 } 101 _ = data 102 return err 103 } 104 105 // MarshalBinary implements encoding.BinaryMarshaler 106 func (o *P1D) MarshalBinary() (data []byte, err error) { 107 var buf [8]byte 108 { 109 sub, err := o.bng.MarshalBinary() 110 if err != nil { 111 return nil, err 112 } 113 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 114 data = append(data, buf[:8]...) 115 data = append(data, sub...) 116 } 117 { 118 sub, err := o.ann.MarshalBinary() 119 if err != nil { 120 return nil, err 121 } 122 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 123 data = append(data, buf[:8]...) 124 data = append(data, sub...) 125 } 126 return data, err 127 } 128 129 // UnmarshalBinary implements encoding.BinaryUnmarshaler 130 func (o *P1D) UnmarshalBinary(data []byte) (err error) { 131 { 132 n := int(binary.LittleEndian.Uint64(data[:8])) 133 data = data[8:] 134 err = o.bng.UnmarshalBinary(data[:n]) 135 if err != nil { 136 return err 137 } 138 data = data[n:] 139 } 140 { 141 n := int(binary.LittleEndian.Uint64(data[:8])) 142 data = data[8:] 143 err = o.ann.UnmarshalBinary(data[:n]) 144 if err != nil { 145 return err 146 } 147 data = data[n:] 148 } 149 _ = data 150 return err 151 } 152 153 // MarshalBinary implements encoding.BinaryMarshaler 154 func (o *S2D) MarshalBinary() (data []byte, err error) { 155 var buf [8]byte 156 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.pts))) 157 data = append(data, buf[:8]...) 158 for i := range o.pts { 159 o := &o.pts[i] 160 { 161 sub, err := o.MarshalBinary() 162 if err != nil { 163 return nil, err 164 } 165 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 166 data = append(data, buf[:8]...) 167 data = append(data, sub...) 168 } 169 } 170 { 171 sub, err := o.ann.MarshalBinary() 172 if err != nil { 173 return nil, err 174 } 175 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 176 data = append(data, buf[:8]...) 177 data = append(data, sub...) 178 } 179 return data, err 180 } 181 182 // UnmarshalBinary implements encoding.BinaryUnmarshaler 183 func (o *S2D) UnmarshalBinary(data []byte) (err error) { 184 { 185 n := int(binary.LittleEndian.Uint64(data[:8])) 186 o.pts = make([]Point2D, n) 187 data = data[8:] 188 for i := range o.pts { 189 oi := &o.pts[i] 190 { 191 n := int(binary.LittleEndian.Uint64(data[:8])) 192 data = data[8:] 193 err = oi.UnmarshalBinary(data[:n]) 194 if err != nil { 195 return err 196 } 197 data = data[n:] 198 } 199 } 200 } 201 { 202 n := int(binary.LittleEndian.Uint64(data[:8])) 203 data = data[8:] 204 err = o.ann.UnmarshalBinary(data[:n]) 205 if err != nil { 206 return err 207 } 208 data = data[n:] 209 } 210 _ = data 211 return err 212 }