go-hep.org/x/hep@v0.38.1/groot/rbytes/sliceops.go (about)

     1  // Copyright ©2020 The go-hep Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package rbytes // import "go-hep.org/x/hep/groot/rbytes"
     6  
     7  import (
     8  	"go-hep.org/x/hep/groot/root"
     9  )
    10  
    11  func ResizeBool(sli []bool, n int) []bool {
    12  	if m := cap(sli); m < n {
    13  		sli = sli[:m]
    14  		sli = append(sli, make([]bool, n-m)...)
    15  	}
    16  	sli = sli[:n]
    17  	return sli
    18  }
    19  
    20  func ResizeI8(sli []int8, n int) []int8 {
    21  	if m := cap(sli); m < n {
    22  		sli = sli[:m]
    23  		sli = append(sli, make([]int8, n-m)...)
    24  	}
    25  	sli = sli[:n]
    26  	return sli
    27  }
    28  
    29  func ResizeI16(sli []int16, n int) []int16 {
    30  	if m := cap(sli); m < n {
    31  		sli = sli[:m]
    32  		sli = append(sli, make([]int16, n-m)...)
    33  	}
    34  	sli = sli[:n]
    35  	return sli
    36  }
    37  
    38  func ResizeI32(sli []int32, n int) []int32 {
    39  	if m := cap(sli); m < n {
    40  		sli = sli[:m]
    41  		sli = append(sli, make([]int32, n-m)...)
    42  	}
    43  	sli = sli[:n]
    44  	return sli
    45  }
    46  
    47  func ResizeI64(sli []int64, n int) []int64 {
    48  	if m := cap(sli); m < n {
    49  		sli = sli[:m]
    50  		sli = append(sli, make([]int64, n-m)...)
    51  	}
    52  	sli = sli[:n]
    53  	return sli
    54  }
    55  
    56  func ResizeU8(sli []uint8, n int) []uint8 {
    57  	if m := cap(sli); m < n {
    58  		sli = sli[:m]
    59  		sli = append(sli, make([]uint8, n-m)...)
    60  	}
    61  	sli = sli[:n]
    62  	return sli
    63  }
    64  
    65  func ResizeU16(sli []uint16, n int) []uint16 {
    66  	if m := cap(sli); m < n {
    67  		sli = sli[:m]
    68  		sli = append(sli, make([]uint16, n-m)...)
    69  	}
    70  	sli = sli[:n]
    71  	return sli
    72  }
    73  
    74  func ResizeU32(sli []uint32, n int) []uint32 {
    75  	if m := cap(sli); m < n {
    76  		sli = sli[:m]
    77  		sli = append(sli, make([]uint32, n-m)...)
    78  	}
    79  	sli = sli[:n]
    80  	return sli
    81  }
    82  
    83  func ResizeU64(sli []uint64, n int) []uint64 {
    84  	if m := cap(sli); m < n {
    85  		sli = sli[:m]
    86  		sli = append(sli, make([]uint64, n-m)...)
    87  	}
    88  	sli = sli[:n]
    89  	return sli
    90  }
    91  
    92  func ResizeF32(sli []float32, n int) []float32 {
    93  	if m := cap(sli); m < n {
    94  		sli = sli[:m]
    95  		sli = append(sli, make([]float32, n-m)...)
    96  	}
    97  	sli = sli[:n]
    98  	return sli
    99  }
   100  
   101  func ResizeF64(sli []float64, n int) []float64 {
   102  	if m := cap(sli); m < n {
   103  		sli = sli[:m]
   104  		sli = append(sli, make([]float64, n-m)...)
   105  	}
   106  	sli = sli[:n]
   107  	return sli
   108  }
   109  
   110  func ResizeD32(sli []root.Double32, n int) []root.Double32 {
   111  	if m := cap(sli); m < n {
   112  		sli = sli[:m]
   113  		sli = append(sli, make([]root.Double32, n-m)...)
   114  	}
   115  	sli = sli[:n]
   116  	return sli
   117  }
   118  
   119  func ResizeF16(sli []root.Float16, n int) []root.Float16 {
   120  	if m := cap(sli); m < n {
   121  		sli = sli[:m]
   122  		sli = append(sli, make([]root.Float16, n-m)...)
   123  	}
   124  	sli = sli[:n]
   125  	return sli
   126  }
   127  
   128  func ResizeStr(sli []string, n int) []string {
   129  	if m := cap(sli); m < n {
   130  		sli = sli[:m]
   131  		sli = append(sli, make([]string, n-m)...)
   132  	}
   133  	sli = sli[:n]
   134  	return sli
   135  }