go-hep.org/x/hep@v0.38.1/brio/cmd/brio-gen/internal/gen/testdata/brio_gen_golden.go.txt (about) 1 // Code generated by brio-gen; DO NOT EDIT. 2 3 package pkg 4 5 import ( 6 "encoding/binary" 7 "math" 8 ) 9 10 // MarshalBinary implements encoding.BinaryMarshaler 11 func (o *T1) MarshalBinary() (data []byte, err error) { 12 var buf [8]byte 13 switch o.b { 14 case false: 15 data = append(data, uint8(0)) 16 default: 17 data = append(data, uint8(1)) 18 } 19 binary.LittleEndian.PutUint64(buf[:8], uint64(o.u)) 20 data = append(data, buf[:8]...) 21 data = append(data, byte(o.u8)) 22 binary.LittleEndian.PutUint16(buf[:2], uint16(o.u16)) 23 data = append(data, buf[:2]...) 24 binary.LittleEndian.PutUint32(buf[:4], uint32(o.u32)) 25 data = append(data, buf[:4]...) 26 binary.LittleEndian.PutUint64(buf[:8], uint64(o.u64)) 27 data = append(data, buf[:8]...) 28 binary.LittleEndian.PutUint64(buf[:8], uint64(o.i)) 29 data = append(data, buf[:8]...) 30 data = append(data, byte(o.i8)) 31 binary.LittleEndian.PutUint16(buf[:2], uint16(o.i16)) 32 data = append(data, buf[:2]...) 33 binary.LittleEndian.PutUint32(buf[:4], uint32(o.i32)) 34 data = append(data, buf[:4]...) 35 binary.LittleEndian.PutUint64(buf[:8], uint64(o.i64)) 36 data = append(data, buf[:8]...) 37 binary.LittleEndian.PutUint32(buf[:4], math.Float32bits(o.f32)) 38 data = append(data, buf[:4]...) 39 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.f64)) 40 data = append(data, buf[:8]...) 41 binary.LittleEndian.PutUint64(buf[:4], math.Float32bits(real(o.c64))) 42 data = append(data, buf[:4]...) 43 binary.LittleEndian.PutUint64(buf[:4], math.Float32bits(imag(o.c64))) 44 data = append(data, buf[:4]...) 45 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(real(o.c128))) 46 data = append(data, buf[:8]...) 47 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(imag(o.c128))) 48 data = append(data, buf[:8]...) 49 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.str))) 50 data = append(data, buf[:8]...) 51 data = append(data, []byte(o.str)...) 52 binary.LittleEndian.PutUint32(buf[:4], uint32(o.rune)) 53 data = append(data, buf[:4]...) 54 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.bs))) 55 data = append(data, buf[:8]...) 56 data = append(data, o.bs...) 57 for i := range o.arri64 { 58 o := &o.arri64[i] 59 binary.LittleEndian.PutUint64(buf[:8], uint64(o)) 60 data = append(data, buf[:8]...) 61 } 62 for i := range o.arrTime { 63 o := &o.arrTime[i] 64 { 65 sub, err := o.MarshalBinary() 66 if err != nil { 67 return nil, err 68 } 69 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 70 data = append(data, buf[:8]...) 71 data = append(data, sub...) 72 } 73 } 74 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.slii64))) 75 data = append(data, buf[:8]...) 76 for i := range o.slii64 { 77 o := &o.slii64[i] 78 binary.LittleEndian.PutUint64(buf[:8], uint64(o)) 79 data = append(data, buf[:8]...) 80 } 81 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.sliTime))) 82 data = append(data, buf[:8]...) 83 for i := range o.sliTime { 84 o := &o.sliTime[i] 85 { 86 sub, err := o.MarshalBinary() 87 if err != nil { 88 return nil, err 89 } 90 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 91 data = append(data, buf[:8]...) 92 data = append(data, sub...) 93 } 94 } 95 { 96 v := *o.ptri64 97 binary.LittleEndian.PutUint64(buf[:8], uint64(v)) 98 data = append(data, buf[:8]...) 99 } 100 { 101 sub, err := o.t2.MarshalBinary() 102 if err != nil { 103 return nil, err 104 } 105 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 106 data = append(data, buf[:8]...) 107 data = append(data, sub...) 108 } 109 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.t2s))) 110 data = append(data, buf[:8]...) 111 for i := range o.t2s { 112 o := &o.t2s[i] 113 { 114 sub, err := o.MarshalBinary() 115 if err != nil { 116 return nil, err 117 } 118 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 119 data = append(data, buf[:8]...) 120 data = append(data, sub...) 121 } 122 } 123 binary.LittleEndian.PutUint64(buf[:8], uint64(len(o.t2ptrs))) 124 data = append(data, buf[:8]...) 125 for i := range o.t2ptrs { 126 o := o.t2ptrs[i] 127 { 128 v := *o 129 { 130 sub, err := v.MarshalBinary() 131 if err != nil { 132 return nil, err 133 } 134 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 135 data = append(data, buf[:8]...) 136 data = append(data, sub...) 137 } 138 } 139 } 140 binary.LittleEndian.PutUint64(buf[:8], math.Float64bits(o.data.f64)) 141 data = append(data, buf[:8]...) 142 binary.LittleEndian.PutUint16(buf[:2], uint16(o.myU16)) 143 data = append(data, buf[:2]...) 144 return data, err 145 } 146 147 // UnmarshalBinary implements encoding.BinaryUnmarshaler 148 func (o *T1) UnmarshalBinary(data []byte) (err error) { 149 switch data[i] { 150 case 0: 151 o.b = false 152 default: 153 o.b = true 154 } 155 data = data[1:] 156 o.u = uint(binary.LittleEndian.Uint64(data[:8])) 157 data = data[8:] 158 o.u8 = uint8(data[0]) 159 data = data[1:] 160 o.u16 = uint16(binary.LittleEndian.Uint16(data[:2])) 161 data = data[2:] 162 o.u32 = uint32(binary.LittleEndian.Uint32(data[:4])) 163 data = data[4:] 164 o.u64 = uint64(binary.LittleEndian.Uint64(data[:8])) 165 data = data[8:] 166 o.i = int(binary.LittleEndian.Uint64(data[:8])) 167 data = data[8:] 168 o.i8 = int8(data[0]) 169 data = data[1:] 170 o.i16 = int16(binary.LittleEndian.Uint16(data[:2])) 171 data = data[2:] 172 o.i32 = int32(binary.LittleEndian.Uint32(data[:4])) 173 data = data[4:] 174 o.i64 = int64(binary.LittleEndian.Uint64(data[:8])) 175 data = data[8:] 176 o.f32 = float32(math.Float32frombits(binary.LittleEndian.Uint32(data[:4]))) 177 data = data[4:] 178 o.f64 = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 179 data = data[8:] 180 o.c64 = complex64(complex(math.Float32frombits(binary.LittleEndian.Uint32(data[:4])), math.Float32frombits(binary.LittleEndian.Uint32(data[4:8])))) 181 data = data[8:] 182 o.c128 = complex128(complex(math.Float64frombits(binary.LittleEndian.Uint64(data[:8])), math.Float64frombits(binary.LittleEndian.Uint64(data[8:16])))) 183 data = data[16:] 184 { 185 n := int(binary.LittleEndian.Uint64(data[:8])) 186 data = data[8:] 187 o.str = string(data[:n]) 188 data = data[n:] 189 } 190 o.rune = rune(binary.LittleEndian.Uint32(data[:4])) 191 data = data[4:] 192 { 193 n := int(binary.LittleEndian.Uint64(data[:8])) 194 o.bs = make([]byte, n) 195 data = data[8:] 196 o.bs = append(o.bs, data[:n]...) 197 data = data[n:] 198 } 199 for i := range o.arri64 { 200 o.arri64[i] = int64(binary.LittleEndian.Uint64(data[:8])) 201 data = data[8:] 202 } 203 for i := range o.arrTime { 204 oi := &o.arrTime[i] 205 { 206 n := int(binary.LittleEndian.Uint64(data[:8])) 207 data = data[8:] 208 err = oi.UnmarshalBinary(data[:n]) 209 if err != nil { 210 return err 211 } 212 data = data[n:] 213 } 214 } 215 { 216 n := int(binary.LittleEndian.Uint64(data[:8])) 217 o.slii64 = make([]int64, n) 218 data = data[8:] 219 for i := range o.slii64 { 220 o.slii64[i] = int64(binary.LittleEndian.Uint64(data[:8])) 221 data = data[8:] 222 } 223 } 224 { 225 n := int(binary.LittleEndian.Uint64(data[:8])) 226 o.sliTime = make([]time.Time, n) 227 data = data[8:] 228 for i := range o.sliTime { 229 oi := &o.sliTime[i] 230 { 231 n := int(binary.LittleEndian.Uint64(data[:8])) 232 data = data[8:] 233 err = oi.UnmarshalBinary(data[:n]) 234 if err != nil { 235 return err 236 } 237 data = data[n:] 238 } 239 } 240 } 241 { 242 var v int64 243 v = int64(binary.LittleEndian.Uint64(data[:8])) 244 data = data[8:] 245 o.ptri64 = &v 246 247 } 248 { 249 n := int(binary.LittleEndian.Uint64(data[:8])) 250 data = data[8:] 251 err = o.t2.UnmarshalBinary(data[:n]) 252 if err != nil { 253 return err 254 } 255 data = data[n:] 256 } 257 { 258 n := int(binary.LittleEndian.Uint64(data[:8])) 259 o.t2s = make([]T2, n) 260 data = data[8:] 261 for i := range o.t2s { 262 oi := &o.t2s[i] 263 { 264 n := int(binary.LittleEndian.Uint64(data[:8])) 265 data = data[8:] 266 err = oi.UnmarshalBinary(data[:n]) 267 if err != nil { 268 return err 269 } 270 data = data[n:] 271 } 272 } 273 } 274 { 275 n := int(binary.LittleEndian.Uint64(data[:8])) 276 o.t2ptrs = make([]*T2, n) 277 data = data[8:] 278 for i := range o.t2ptrs { 279 var oi T2 280 { 281 var v T2 282 { 283 n := int(binary.LittleEndian.Uint64(data[:8])) 284 data = data[8:] 285 err = v.UnmarshalBinary(data[:n]) 286 if err != nil { 287 return err 288 } 289 data = data[n:] 290 } 291 oi = &v 292 293 } 294 o.t2ptrs[i] = oi 295 } 296 } 297 o.data.f64 = float64(math.Float64frombits(binary.LittleEndian.Uint64(data[:8]))) 298 data = data[8:] 299 o.myU16 = U16(binary.LittleEndian.Uint16(data[:2])) 300 data = data[2:] 301 _ = data 302 return err 303 } 304 305 // MarshalBinary implements encoding.BinaryMarshaler 306 func (o *T2) MarshalBinary() (data []byte, err error) { 307 var buf [8]byte 308 binary.LittleEndian.PutUint64(buf[:8], uint64(o.ID)) 309 data = append(data, buf[:8]...) 310 return data, err 311 } 312 313 // UnmarshalBinary implements encoding.BinaryUnmarshaler 314 func (o *T2) UnmarshalBinary(data []byte) (err error) { 315 o.ID = int64(binary.LittleEndian.Uint64(data[:8])) 316 data = data[8:] 317 _ = data 318 return err 319 } 320 321 // MarshalBinary implements encoding.BinaryMarshaler 322 func (o *T3) MarshalBinary() (data []byte, err error) { 323 var buf [8]byte 324 { 325 sub, err := o.Time.MarshalBinary() 326 if err != nil { 327 return nil, err 328 } 329 binary.LittleEndian.PutUint64(buf[:8], uint64(len(sub))) 330 data = append(data, buf[:8]...) 331 data = append(data, sub...) 332 } 333 return data, err 334 } 335 336 // UnmarshalBinary implements encoding.BinaryUnmarshaler 337 func (o *T3) UnmarshalBinary(data []byte) (err error) { 338 { 339 n := int(binary.LittleEndian.Uint64(data[:8])) 340 data = data[8:] 341 err = o.Time.UnmarshalBinary(data[:n]) 342 if err != nil { 343 return err 344 } 345 data = data[n:] 346 } 347 _ = data 348 return err 349 }