github.com/segmentio/parquet-go@v0.0.0-20230712180008-5d42db8f0d47/column_buffer_purego.go (about)

     1  //go:build !amd64 || purego
     2  
     3  package parquet
     4  
     5  import "github.com/segmentio/parquet-go/sparse"
     6  
     7  func broadcastValueInt32(dst []int32, src int8) {
     8  	value := 0x01010101 * int32(src)
     9  	for i := range dst {
    10  		dst[i] = value
    11  	}
    12  }
    13  
    14  func broadcastRangeInt32(dst []int32, base int32) {
    15  	for i := range dst {
    16  		dst[i] = base + int32(i)
    17  	}
    18  }
    19  
    20  func writePointersBE128(values [][16]byte, rows sparse.Array) {
    21  	for i := range values {
    22  		p := *(**[16]byte)(rows.Index(i))
    23  
    24  		if p != nil {
    25  			values[i] = *p
    26  		} else {
    27  			values[i] = [16]byte{}
    28  		}
    29  	}
    30  }