Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/build/build/blueprint/proptools/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 861 B image not shown  

Quelle  utils.go   Sprache: unbekannt

 
Spracherkennung für: .go vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

package proptools

import (
 "errors"
 "math"
 "strings"
)

func ShardBySize[T ~[]E, E any](toShard T, shardSize int) []T {
 if len(toShard) == 0 {
  return nil
 }

 ret := make([]T, 0, (len(toShard)+shardSize-1)/shardSize)
 for len(toShard) > shardSize {
  ret = append(ret, toShard[0:shardSize])
  toShard = toShard[shardSize:]
 }
 if len(toShard) > 0 {
  ret = append(ret, toShard)
 }
 return ret
}

func ShardByCount[T ~[]E, E any](toShard T, shardCount int) []T {
 return ShardBySize(toShard, int(math.Ceil(float64(len(toShard))/float64(shardCount))))
}

// MergeErrors merges a list of errors into a single error.
func MergeErrors(errs []error) error {
 if errs != nil {
  var sb strings.Builder
  for i, err := range errs {
   if i != 0 {
    sb.WriteString("\n")
   }
   sb.WriteString(err.Error())
  }
  return errors.New(sb.String())
 }
 return nil
}

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-06-28]