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 }