cubefs

Форк
0
23 строки · 620.0 Байт
1
//go:build noasm || nounsafe || gccgo || appengine
2

3
/**
4
 * Reed-Solomon Coding over 8-bit values.
5
 *
6
 * Copyright 2023, Klaus Post
7
 */
8

9
package reedsolomon
10

11
// AllocAligned allocates 'shards' slices, with 'each' bytes.
12
// Each slice will start on a 64 byte aligned boundary.
13
func AllocAligned(shards, each int) [][]byte {
14
	eachAligned := ((each + 63) / 64) * 64
15
	total := make([]byte, eachAligned*shards+63)
16
	// We cannot do initial align without "unsafe", just use native alignment.
17
	res := make([][]byte, shards)
18
	for i := range res {
19
		res[i] = total[:each:eachAligned]
20
		total = total[eachAligned:]
21
	}
22
	return res
23
}
24

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.