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  }