Skip to main content

flint_sys/
ca_types.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use crate::deps::*;
4use crate::acb_types::*;
5use crate::flint::*;
6use crate::fmpz_mpoly::*;
7use crate::fmpz_types::*;
8use crate::mpoly_types::*;
9use crate::nf::*;
10use crate::nf_elem::*;
11use crate::qqbar::*;
12
13
14#[repr(C)]
15pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
16impl<T> __BindgenUnionField<T> {
17    #[inline]
18    pub const fn new() -> Self {
19        __BindgenUnionField(::std::marker::PhantomData)
20    }
21    #[inline]
22    pub unsafe fn as_ref(&self) -> &T {
23        ::std::mem::transmute(self)
24    }
25    #[inline]
26    pub unsafe fn as_mut(&mut self) -> &mut T {
27        ::std::mem::transmute(self)
28    }
29}
30impl<T> ::std::default::Default for __BindgenUnionField<T> {
31    #[inline]
32    fn default() -> Self {
33        Self::new()
34    }
35}
36impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
37    #[inline]
38    fn clone(&self) -> Self {
39        *self
40    }
41}
42impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
43impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
44    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
45        fmt.write_str("__BindgenUnionField")
46    }
47}
48impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
49    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
50}
51impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
52    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
53        true
54    }
55}
56impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
57pub const calcium_func_code_CA_QQBar: calcium_func_code = 0;
58pub const calcium_func_code_CA_Neg: calcium_func_code = 1;
59pub const calcium_func_code_CA_Add: calcium_func_code = 2;
60pub const calcium_func_code_CA_Sub: calcium_func_code = 3;
61pub const calcium_func_code_CA_Mul: calcium_func_code = 4;
62pub const calcium_func_code_CA_Div: calcium_func_code = 5;
63pub const calcium_func_code_CA_Sqrt: calcium_func_code = 6;
64pub const calcium_func_code_CA_Cbrt: calcium_func_code = 7;
65pub const calcium_func_code_CA_Root: calcium_func_code = 8;
66pub const calcium_func_code_CA_Floor: calcium_func_code = 9;
67pub const calcium_func_code_CA_Ceil: calcium_func_code = 10;
68pub const calcium_func_code_CA_Abs: calcium_func_code = 11;
69pub const calcium_func_code_CA_Sign: calcium_func_code = 12;
70pub const calcium_func_code_CA_Re: calcium_func_code = 13;
71pub const calcium_func_code_CA_Im: calcium_func_code = 14;
72pub const calcium_func_code_CA_Arg: calcium_func_code = 15;
73pub const calcium_func_code_CA_Conjugate: calcium_func_code = 16;
74pub const calcium_func_code_CA_Pi: calcium_func_code = 17;
75pub const calcium_func_code_CA_Sin: calcium_func_code = 18;
76pub const calcium_func_code_CA_Cos: calcium_func_code = 19;
77pub const calcium_func_code_CA_Exp: calcium_func_code = 20;
78pub const calcium_func_code_CA_Log: calcium_func_code = 21;
79pub const calcium_func_code_CA_Pow: calcium_func_code = 22;
80pub const calcium_func_code_CA_Tan: calcium_func_code = 23;
81pub const calcium_func_code_CA_Cot: calcium_func_code = 24;
82pub const calcium_func_code_CA_Cosh: calcium_func_code = 25;
83pub const calcium_func_code_CA_Sinh: calcium_func_code = 26;
84pub const calcium_func_code_CA_Tanh: calcium_func_code = 27;
85pub const calcium_func_code_CA_Coth: calcium_func_code = 28;
86pub const calcium_func_code_CA_Atan: calcium_func_code = 29;
87pub const calcium_func_code_CA_Acos: calcium_func_code = 30;
88pub const calcium_func_code_CA_Asin: calcium_func_code = 31;
89pub const calcium_func_code_CA_Acot: calcium_func_code = 32;
90pub const calcium_func_code_CA_Atanh: calcium_func_code = 33;
91pub const calcium_func_code_CA_Acosh: calcium_func_code = 34;
92pub const calcium_func_code_CA_Asinh: calcium_func_code = 35;
93pub const calcium_func_code_CA_Acoth: calcium_func_code = 36;
94pub const calcium_func_code_CA_Euler: calcium_func_code = 37;
95pub const calcium_func_code_CA_Gamma: calcium_func_code = 38;
96pub const calcium_func_code_CA_LogGamma: calcium_func_code = 39;
97pub const calcium_func_code_CA_Psi: calcium_func_code = 40;
98pub const calcium_func_code_CA_Erf: calcium_func_code = 41;
99pub const calcium_func_code_CA_Erfc: calcium_func_code = 42;
100pub const calcium_func_code_CA_Erfi: calcium_func_code = 43;
101pub const calcium_func_code_CA_RiemannZeta: calcium_func_code = 44;
102pub const calcium_func_code_CA_HurwitzZeta: calcium_func_code = 45;
103pub const calcium_func_code_CA_FUNC_CODE_LENGTH: calcium_func_code = 46;
104pub type calcium_func_code = libc::c_uint;
105#[repr(C)]
106pub struct ca_elem_struct {
107    pub q: __BindgenUnionField<fmpq>,
108    pub nf: __BindgenUnionField<nf_elem_struct>,
109    pub mpoly_q: __BindgenUnionField<*mut fmpz_mpoly_q_struct>,
110    pub bindgen_union_field: [u64; 4usize],
111}
112#[allow(clippy::unnecessary_operation, clippy::identity_op)]
113const _: () = {
114    ["Size of ca_elem_struct"][::std::mem::size_of::<ca_elem_struct>() - 32usize];
115    ["Alignment of ca_elem_struct"][::std::mem::align_of::<ca_elem_struct>() - 8usize];
116    ["Offset of field: ca_elem_struct::q"][::std::mem::offset_of!(ca_elem_struct, q) - 0usize];
117    ["Offset of field: ca_elem_struct::nf"][::std::mem::offset_of!(ca_elem_struct, nf) - 0usize];
118    ["Offset of field: ca_elem_struct::mpoly_q"]
119        [::std::mem::offset_of!(ca_elem_struct, mpoly_q) - 0usize];
120};
121impl Default for ca_elem_struct {
122    fn default() -> Self {
123        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
124        unsafe {
125            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
126            s.assume_init()
127        }
128    }
129}
130#[repr(C)]
131pub struct ca_struct {
132    pub field: ulong,
133    pub elem: ca_elem_struct,
134}
135#[allow(clippy::unnecessary_operation, clippy::identity_op)]
136const _: () = {
137    ["Size of ca_struct"][::std::mem::size_of::<ca_struct>() - 40usize];
138    ["Alignment of ca_struct"][::std::mem::align_of::<ca_struct>() - 8usize];
139    ["Offset of field: ca_struct::field"][::std::mem::offset_of!(ca_struct, field) - 0usize];
140    ["Offset of field: ca_struct::elem"][::std::mem::offset_of!(ca_struct, elem) - 8usize];
141};
142impl Default for ca_struct {
143    fn default() -> Self {
144        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
145        unsafe {
146            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
147            s.assume_init()
148        }
149    }
150}
151pub type ca_t = [ca_struct; 1usize];
152pub type ca_ptr = *mut ca_struct;
153pub type ca_srcptr = *const ca_struct;
154#[repr(C)]
155pub struct ca_ext_qqbar {
156    pub x: qqbar_struct,
157    pub nf: *mut nf_struct,
158}
159#[allow(clippy::unnecessary_operation, clippy::identity_op)]
160const _: () = {
161    ["Size of ca_ext_qqbar"][::std::mem::size_of::<ca_ext_qqbar>() - 128usize];
162    ["Alignment of ca_ext_qqbar"][::std::mem::align_of::<ca_ext_qqbar>() - 8usize];
163    ["Offset of field: ca_ext_qqbar::x"][::std::mem::offset_of!(ca_ext_qqbar, x) - 0usize];
164    ["Offset of field: ca_ext_qqbar::nf"][::std::mem::offset_of!(ca_ext_qqbar, nf) - 120usize];
165};
166impl Default for ca_ext_qqbar {
167    fn default() -> Self {
168        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
169        unsafe {
170            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
171            s.assume_init()
172        }
173    }
174}
175#[repr(C)]
176pub struct ca_ext_func_data {
177    pub args: *mut ca_struct,
178    pub nargs: slong,
179    pub enclosure: acb_struct,
180    pub prec: slong,
181    pub qqbar: *mut qqbar_struct,
182}
183#[allow(clippy::unnecessary_operation, clippy::identity_op)]
184const _: () = {
185    ["Size of ca_ext_func_data"][::std::mem::size_of::<ca_ext_func_data>() - 128usize];
186    ["Alignment of ca_ext_func_data"][::std::mem::align_of::<ca_ext_func_data>() - 8usize];
187    ["Offset of field: ca_ext_func_data::args"]
188        [::std::mem::offset_of!(ca_ext_func_data, args) - 0usize];
189    ["Offset of field: ca_ext_func_data::nargs"]
190        [::std::mem::offset_of!(ca_ext_func_data, nargs) - 8usize];
191    ["Offset of field: ca_ext_func_data::enclosure"]
192        [::std::mem::offset_of!(ca_ext_func_data, enclosure) - 16usize];
193    ["Offset of field: ca_ext_func_data::prec"]
194        [::std::mem::offset_of!(ca_ext_func_data, prec) - 112usize];
195    ["Offset of field: ca_ext_func_data::qqbar"]
196        [::std::mem::offset_of!(ca_ext_func_data, qqbar) - 120usize];
197};
198impl Default for ca_ext_func_data {
199    fn default() -> Self {
200        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
201        unsafe {
202            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
203            s.assume_init()
204        }
205    }
206}
207#[repr(C)]
208pub struct ca_ext_struct {
209    pub head: calcium_func_code,
210    pub hash: ulong,
211    pub depth: slong,
212    pub data: ca_ext_struct__bindgen_ty_1,
213}
214#[repr(C)]
215pub struct ca_ext_struct__bindgen_ty_1 {
216    pub qqbar: __BindgenUnionField<ca_ext_qqbar>,
217    pub func_data: __BindgenUnionField<ca_ext_func_data>,
218    pub bindgen_union_field: [u64; 16usize],
219}
220#[allow(clippy::unnecessary_operation, clippy::identity_op)]
221const _: () = {
222    ["Size of ca_ext_struct__bindgen_ty_1"]
223        [::std::mem::size_of::<ca_ext_struct__bindgen_ty_1>() - 128usize];
224    ["Alignment of ca_ext_struct__bindgen_ty_1"]
225        [::std::mem::align_of::<ca_ext_struct__bindgen_ty_1>() - 8usize];
226    ["Offset of field: ca_ext_struct__bindgen_ty_1::qqbar"]
227        [::std::mem::offset_of!(ca_ext_struct__bindgen_ty_1, qqbar) - 0usize];
228    ["Offset of field: ca_ext_struct__bindgen_ty_1::func_data"]
229        [::std::mem::offset_of!(ca_ext_struct__bindgen_ty_1, func_data) - 0usize];
230};
231impl Default for ca_ext_struct__bindgen_ty_1 {
232    fn default() -> Self {
233        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
234        unsafe {
235            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
236            s.assume_init()
237        }
238    }
239}
240#[allow(clippy::unnecessary_operation, clippy::identity_op)]
241const _: () = {
242    ["Size of ca_ext_struct"][::std::mem::size_of::<ca_ext_struct>() - 152usize];
243    ["Alignment of ca_ext_struct"][::std::mem::align_of::<ca_ext_struct>() - 8usize];
244    ["Offset of field: ca_ext_struct::head"][::std::mem::offset_of!(ca_ext_struct, head) - 0usize];
245    ["Offset of field: ca_ext_struct::hash"][::std::mem::offset_of!(ca_ext_struct, hash) - 8usize];
246    ["Offset of field: ca_ext_struct::depth"]
247        [::std::mem::offset_of!(ca_ext_struct, depth) - 16usize];
248    ["Offset of field: ca_ext_struct::data"][::std::mem::offset_of!(ca_ext_struct, data) - 24usize];
249};
250impl Default for ca_ext_struct {
251    fn default() -> Self {
252        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
253        unsafe {
254            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
255            s.assume_init()
256        }
257    }
258}
259pub type ca_ext_t = [ca_ext_struct; 1usize];
260pub type ca_ext_ptr = *mut ca_ext_struct;
261pub type ca_ext_srcptr = *const ca_ext_struct;
262#[repr(C)]
263pub struct ca_ext_cache_struct {
264    pub items: *mut *mut ca_ext_struct,
265    pub length: slong,
266    pub alloc: slong,
267    pub hash_size: slong,
268    pub hash_table: *mut slong,
269}
270#[allow(clippy::unnecessary_operation, clippy::identity_op)]
271const _: () = {
272    ["Size of ca_ext_cache_struct"][::std::mem::size_of::<ca_ext_cache_struct>() - 40usize];
273    ["Alignment of ca_ext_cache_struct"][::std::mem::align_of::<ca_ext_cache_struct>() - 8usize];
274    ["Offset of field: ca_ext_cache_struct::items"]
275        [::std::mem::offset_of!(ca_ext_cache_struct, items) - 0usize];
276    ["Offset of field: ca_ext_cache_struct::length"]
277        [::std::mem::offset_of!(ca_ext_cache_struct, length) - 8usize];
278    ["Offset of field: ca_ext_cache_struct::alloc"]
279        [::std::mem::offset_of!(ca_ext_cache_struct, alloc) - 16usize];
280    ["Offset of field: ca_ext_cache_struct::hash_size"]
281        [::std::mem::offset_of!(ca_ext_cache_struct, hash_size) - 24usize];
282    ["Offset of field: ca_ext_cache_struct::hash_table"]
283        [::std::mem::offset_of!(ca_ext_cache_struct, hash_table) - 32usize];
284};
285impl Default for ca_ext_cache_struct {
286    fn default() -> Self {
287        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
288        unsafe {
289            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
290            s.assume_init()
291        }
292    }
293}
294pub type ca_ext_cache_t = [ca_ext_cache_struct; 1usize];
295#[repr(C)]
296pub struct ca_field_struct {
297    pub length: slong,
298    pub ext: *mut *mut ca_ext_struct,
299    pub ideal: fmpz_mpoly_vec_struct,
300    pub hash: ulong,
301}
302#[allow(clippy::unnecessary_operation, clippy::identity_op)]
303const _: () = {
304    ["Size of ca_field_struct"][::std::mem::size_of::<ca_field_struct>() - 48usize];
305    ["Alignment of ca_field_struct"][::std::mem::align_of::<ca_field_struct>() - 8usize];
306    ["Offset of field: ca_field_struct::length"]
307        [::std::mem::offset_of!(ca_field_struct, length) - 0usize];
308    ["Offset of field: ca_field_struct::ext"]
309        [::std::mem::offset_of!(ca_field_struct, ext) - 8usize];
310    ["Offset of field: ca_field_struct::ideal"]
311        [::std::mem::offset_of!(ca_field_struct, ideal) - 16usize];
312    ["Offset of field: ca_field_struct::hash"]
313        [::std::mem::offset_of!(ca_field_struct, hash) - 40usize];
314};
315impl Default for ca_field_struct {
316    fn default() -> Self {
317        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
318        unsafe {
319            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
320            s.assume_init()
321        }
322    }
323}
324pub type ca_field_t = [ca_field_struct; 1usize];
325pub type ca_field_ptr = *mut ca_field_struct;
326pub type ca_field_srcptr = *const ca_field_struct;
327#[repr(C)]
328pub struct ca_field_cache_struct {
329    pub items: *mut *mut ca_field_struct,
330    pub length: slong,
331    pub alloc: slong,
332    pub hash_size: slong,
333    pub hash_table: *mut slong,
334}
335#[allow(clippy::unnecessary_operation, clippy::identity_op)]
336const _: () = {
337    ["Size of ca_field_cache_struct"][::std::mem::size_of::<ca_field_cache_struct>() - 40usize];
338    ["Alignment of ca_field_cache_struct"]
339        [::std::mem::align_of::<ca_field_cache_struct>() - 8usize];
340    ["Offset of field: ca_field_cache_struct::items"]
341        [::std::mem::offset_of!(ca_field_cache_struct, items) - 0usize];
342    ["Offset of field: ca_field_cache_struct::length"]
343        [::std::mem::offset_of!(ca_field_cache_struct, length) - 8usize];
344    ["Offset of field: ca_field_cache_struct::alloc"]
345        [::std::mem::offset_of!(ca_field_cache_struct, alloc) - 16usize];
346    ["Offset of field: ca_field_cache_struct::hash_size"]
347        [::std::mem::offset_of!(ca_field_cache_struct, hash_size) - 24usize];
348    ["Offset of field: ca_field_cache_struct::hash_table"]
349        [::std::mem::offset_of!(ca_field_cache_struct, hash_table) - 32usize];
350};
351impl Default for ca_field_cache_struct {
352    fn default() -> Self {
353        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
354        unsafe {
355            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
356            s.assume_init()
357        }
358    }
359}
360pub type ca_field_cache_t = [ca_field_cache_struct; 1usize];
361#[repr(C)]
362pub struct ca_ctx_struct {
363    pub ext_cache: ca_ext_cache_struct,
364    pub field_cache: ca_field_cache_struct,
365    pub field_qq: *mut ca_field_struct,
366    pub field_qq_i: *mut ca_field_struct,
367    pub mctx: *mut *mut fmpz_mpoly_ctx_struct,
368    pub mctx_len: slong,
369    pub options: *mut slong,
370}
371#[allow(clippy::unnecessary_operation, clippy::identity_op)]
372const _: () = {
373    ["Size of ca_ctx_struct"][::std::mem::size_of::<ca_ctx_struct>() - 120usize];
374    ["Alignment of ca_ctx_struct"][::std::mem::align_of::<ca_ctx_struct>() - 8usize];
375    ["Offset of field: ca_ctx_struct::ext_cache"]
376        [::std::mem::offset_of!(ca_ctx_struct, ext_cache) - 0usize];
377    ["Offset of field: ca_ctx_struct::field_cache"]
378        [::std::mem::offset_of!(ca_ctx_struct, field_cache) - 40usize];
379    ["Offset of field: ca_ctx_struct::field_qq"]
380        [::std::mem::offset_of!(ca_ctx_struct, field_qq) - 80usize];
381    ["Offset of field: ca_ctx_struct::field_qq_i"]
382        [::std::mem::offset_of!(ca_ctx_struct, field_qq_i) - 88usize];
383    ["Offset of field: ca_ctx_struct::mctx"][::std::mem::offset_of!(ca_ctx_struct, mctx) - 96usize];
384    ["Offset of field: ca_ctx_struct::mctx_len"]
385        [::std::mem::offset_of!(ca_ctx_struct, mctx_len) - 104usize];
386    ["Offset of field: ca_ctx_struct::options"]
387        [::std::mem::offset_of!(ca_ctx_struct, options) - 112usize];
388};
389impl Default for ca_ctx_struct {
390    fn default() -> Self {
391        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
392        unsafe {
393            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
394            s.assume_init()
395        }
396    }
397}
398pub type ca_ctx_t = [ca_ctx_struct; 1usize];
399#[repr(C)]
400pub struct ca_factor_struct {
401    pub base: ca_ptr,
402    pub exp: ca_ptr,
403    pub length: slong,
404    pub alloc: slong,
405}
406#[allow(clippy::unnecessary_operation, clippy::identity_op)]
407const _: () = {
408    ["Size of ca_factor_struct"][::std::mem::size_of::<ca_factor_struct>() - 32usize];
409    ["Alignment of ca_factor_struct"][::std::mem::align_of::<ca_factor_struct>() - 8usize];
410    ["Offset of field: ca_factor_struct::base"]
411        [::std::mem::offset_of!(ca_factor_struct, base) - 0usize];
412    ["Offset of field: ca_factor_struct::exp"]
413        [::std::mem::offset_of!(ca_factor_struct, exp) - 8usize];
414    ["Offset of field: ca_factor_struct::length"]
415        [::std::mem::offset_of!(ca_factor_struct, length) - 16usize];
416    ["Offset of field: ca_factor_struct::alloc"]
417        [::std::mem::offset_of!(ca_factor_struct, alloc) - 24usize];
418};
419impl Default for ca_factor_struct {
420    fn default() -> Self {
421        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
422        unsafe {
423            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
424            s.assume_init()
425        }
426    }
427}
428pub type ca_factor_t = [ca_factor_struct; 1usize];
429#[repr(C)]
430pub struct ca_vec_struct {
431    pub entries: ca_ptr,
432    pub alloc: slong,
433    pub length: slong,
434}
435#[allow(clippy::unnecessary_operation, clippy::identity_op)]
436const _: () = {
437    ["Size of ca_vec_struct"][::std::mem::size_of::<ca_vec_struct>() - 24usize];
438    ["Alignment of ca_vec_struct"][::std::mem::align_of::<ca_vec_struct>() - 8usize];
439    ["Offset of field: ca_vec_struct::entries"]
440        [::std::mem::offset_of!(ca_vec_struct, entries) - 0usize];
441    ["Offset of field: ca_vec_struct::alloc"]
442        [::std::mem::offset_of!(ca_vec_struct, alloc) - 8usize];
443    ["Offset of field: ca_vec_struct::length"]
444        [::std::mem::offset_of!(ca_vec_struct, length) - 16usize];
445};
446impl Default for ca_vec_struct {
447    fn default() -> Self {
448        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
449        unsafe {
450            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
451            s.assume_init()
452        }
453    }
454}
455pub type ca_vec_t = [ca_vec_struct; 1usize];
456#[repr(C)]
457pub struct ca_mat_struct {
458    pub entries: ca_ptr,
459    pub r: slong,
460    pub c: slong,
461    pub stride: slong,
462}
463#[allow(clippy::unnecessary_operation, clippy::identity_op)]
464const _: () = {
465    ["Size of ca_mat_struct"][::std::mem::size_of::<ca_mat_struct>() - 32usize];
466    ["Alignment of ca_mat_struct"][::std::mem::align_of::<ca_mat_struct>() - 8usize];
467    ["Offset of field: ca_mat_struct::entries"]
468        [::std::mem::offset_of!(ca_mat_struct, entries) - 0usize];
469    ["Offset of field: ca_mat_struct::r"][::std::mem::offset_of!(ca_mat_struct, r) - 8usize];
470    ["Offset of field: ca_mat_struct::c"][::std::mem::offset_of!(ca_mat_struct, c) - 16usize];
471    ["Offset of field: ca_mat_struct::stride"]
472        [::std::mem::offset_of!(ca_mat_struct, stride) - 24usize];
473};
474impl Default for ca_mat_struct {
475    fn default() -> Self {
476        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
477        unsafe {
478            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
479            s.assume_init()
480        }
481    }
482}
483pub type ca_mat_t = [ca_mat_struct; 1usize];
484#[repr(C)]
485pub struct ca_poly_struct {
486    pub coeffs: *mut ca_struct,
487    pub alloc: slong,
488    pub length: slong,
489}
490#[allow(clippy::unnecessary_operation, clippy::identity_op)]
491const _: () = {
492    ["Size of ca_poly_struct"][::std::mem::size_of::<ca_poly_struct>() - 24usize];
493    ["Alignment of ca_poly_struct"][::std::mem::align_of::<ca_poly_struct>() - 8usize];
494    ["Offset of field: ca_poly_struct::coeffs"]
495        [::std::mem::offset_of!(ca_poly_struct, coeffs) - 0usize];
496    ["Offset of field: ca_poly_struct::alloc"]
497        [::std::mem::offset_of!(ca_poly_struct, alloc) - 8usize];
498    ["Offset of field: ca_poly_struct::length"]
499        [::std::mem::offset_of!(ca_poly_struct, length) - 16usize];
500};
501impl Default for ca_poly_struct {
502    fn default() -> Self {
503        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
504        unsafe {
505            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
506            s.assume_init()
507        }
508    }
509}
510pub type ca_poly_t = [ca_poly_struct; 1usize];