@@ -40,6 +40,7 @@ CREATE TYPE vecf16 (
40
40
pub struct Vecf16 {
41
41
varlena : u32 ,
42
42
kind : u8 ,
43
+ pad : u8 ,
43
44
len : u16 ,
44
45
phantom : [ F16 ; 0 ] ,
45
46
}
@@ -62,6 +63,7 @@ impl Vecf16 {
62
63
let ptr = std:: alloc:: alloc ( layout) as * mut Vecf16 ;
63
64
std:: ptr:: addr_of_mut!( ( * ptr) . varlena) . write ( Vecf16 :: varlena ( layout. size ( ) ) ) ;
64
65
std:: ptr:: addr_of_mut!( ( * ptr) . kind) . write ( 16 ) ;
66
+ std:: ptr:: addr_of_mut!( ( * ptr) . pad) . write ( 0 ) ;
65
67
std:: ptr:: addr_of_mut!( ( * ptr) . len) . write ( slice. len ( ) as u16 ) ;
66
68
std:: ptr:: copy_nonoverlapping ( slice. as_ptr ( ) , ( * ptr) . phantom . as_mut_ptr ( ) , slice. len ( ) ) ;
67
69
Box :: from_raw ( ptr)
@@ -74,6 +76,7 @@ impl Vecf16 {
74
76
let ptr = pgrx:: pg_sys:: palloc ( layout. size ( ) ) as * mut Vecf16 ;
75
77
std:: ptr:: addr_of_mut!( ( * ptr) . varlena) . write ( Vecf16 :: varlena ( layout. size ( ) ) ) ;
76
78
std:: ptr:: addr_of_mut!( ( * ptr) . kind) . write ( 16 ) ;
79
+ std:: ptr:: addr_of_mut!( ( * ptr) . pad) . write ( 0 ) ;
77
80
std:: ptr:: addr_of_mut!( ( * ptr) . len) . write ( slice. len ( ) as u16 ) ;
78
81
std:: ptr:: copy_nonoverlapping ( slice. as_ptr ( ) , ( * ptr) . phantom . as_mut_ptr ( ) , slice. len ( ) ) ;
79
82
Vecf16Output ( NonNull :: new ( ptr) . unwrap ( ) )
@@ -86,6 +89,7 @@ impl Vecf16 {
86
89
let ptr = std:: alloc:: alloc_zeroed ( layout) as * mut Vecf16 ;
87
90
std:: ptr:: addr_of_mut!( ( * ptr) . varlena) . write ( Vecf16 :: varlena ( layout. size ( ) ) ) ;
88
91
std:: ptr:: addr_of_mut!( ( * ptr) . kind) . write ( 16 ) ;
92
+ std:: ptr:: addr_of_mut!( ( * ptr) . pad) . write ( 0 ) ;
89
93
std:: ptr:: addr_of_mut!( ( * ptr) . len) . write ( len as u16 ) ;
90
94
Box :: from_raw ( ptr)
91
95
}
@@ -98,6 +102,7 @@ impl Vecf16 {
98
102
let ptr = pgrx:: pg_sys:: palloc0 ( layout. size ( ) ) as * mut Vecf16 ;
99
103
std:: ptr:: addr_of_mut!( ( * ptr) . varlena) . write ( Vecf16 :: varlena ( layout. size ( ) ) ) ;
100
104
std:: ptr:: addr_of_mut!( ( * ptr) . kind) . write ( 16 ) ;
105
+ std:: ptr:: addr_of_mut!( ( * ptr) . pad) . write ( 0 ) ;
101
106
std:: ptr:: addr_of_mut!( ( * ptr) . len) . write ( len as u16 ) ;
102
107
Vecf16Output ( NonNull :: new ( ptr) . unwrap ( ) )
103
108
}
0 commit comments