Skip to main content

flint_sys/
nfloat.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use crate::deps::*;
4use crate::flint::*;
5use crate::gr_types::*;
6
7
8pub const NFLOAT_MIN_LIMBS: u32 = 1;
9pub const NFLOAT_MAX_LIMBS: u32 = 66;
10pub const NFLOAT_HEADER_LIMBS: u32 = 2;
11pub const NFLOAT_MAX_ALLOC: u32 = 68;
12pub const NFLOAT_ALLOW_UNDERFLOW: u32 = 1;
13pub const NFLOAT_ALLOW_INF: u32 = 2;
14pub const NFLOAT_ALLOW_NAN: u32 = 4;
15pub const NFLOAT_RND_FLOOR: u32 = 8;
16pub const NFLOAT_RND_CEIL: u32 = 16;
17#[repr(C)]
18pub struct _nfloat_ctx_struct {
19    pub nlimbs: slong,
20    pub flags: libc::c_int,
21    pub rnd: libc::c_int,
22}
23#[allow(clippy::unnecessary_operation, clippy::identity_op)]
24const _: () = {
25    ["Size of _nfloat_ctx_struct"][::std::mem::size_of::<_nfloat_ctx_struct>() - 16usize];
26    ["Alignment of _nfloat_ctx_struct"][::std::mem::align_of::<_nfloat_ctx_struct>() - 8usize];
27    ["Offset of field: _nfloat_ctx_struct::nlimbs"]
28        [::std::mem::offset_of!(_nfloat_ctx_struct, nlimbs) - 0usize];
29    ["Offset of field: _nfloat_ctx_struct::flags"]
30        [::std::mem::offset_of!(_nfloat_ctx_struct, flags) - 8usize];
31    ["Offset of field: _nfloat_ctx_struct::rnd"]
32        [::std::mem::offset_of!(_nfloat_ctx_struct, rnd) - 12usize];
33};
34impl Default for _nfloat_ctx_struct {
35    fn default() -> Self {
36        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
37        unsafe {
38            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
39            s.assume_init()
40        }
41    }
42}
43pub type nfloat_ptr = *mut libc::c_void;
44pub type nfloat_srcptr = *const libc::c_void;
45#[repr(C)]
46pub struct nfloat64_struct {
47    pub head: [ulong; 2usize],
48    pub d: [ulong; 1usize],
49}
50#[allow(clippy::unnecessary_operation, clippy::identity_op)]
51const _: () = {
52    ["Size of nfloat64_struct"][::std::mem::size_of::<nfloat64_struct>() - 24usize];
53    ["Alignment of nfloat64_struct"][::std::mem::align_of::<nfloat64_struct>() - 8usize];
54    ["Offset of field: nfloat64_struct::head"]
55        [::std::mem::offset_of!(nfloat64_struct, head) - 0usize];
56    ["Offset of field: nfloat64_struct::d"][::std::mem::offset_of!(nfloat64_struct, d) - 16usize];
57};
58impl Default for nfloat64_struct {
59    fn default() -> Self {
60        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
61        unsafe {
62            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
63            s.assume_init()
64        }
65    }
66}
67#[repr(C)]
68pub struct nfloat128_struct {
69    pub head: [ulong; 2usize],
70    pub d: [ulong; 2usize],
71}
72#[allow(clippy::unnecessary_operation, clippy::identity_op)]
73const _: () = {
74    ["Size of nfloat128_struct"][::std::mem::size_of::<nfloat128_struct>() - 32usize];
75    ["Alignment of nfloat128_struct"][::std::mem::align_of::<nfloat128_struct>() - 8usize];
76    ["Offset of field: nfloat128_struct::head"]
77        [::std::mem::offset_of!(nfloat128_struct, head) - 0usize];
78    ["Offset of field: nfloat128_struct::d"][::std::mem::offset_of!(nfloat128_struct, d) - 16usize];
79};
80impl Default for nfloat128_struct {
81    fn default() -> Self {
82        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
83        unsafe {
84            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
85            s.assume_init()
86        }
87    }
88}
89#[repr(C)]
90pub struct nfloat192_struct {
91    pub head: [ulong; 2usize],
92    pub d: [ulong; 3usize],
93}
94#[allow(clippy::unnecessary_operation, clippy::identity_op)]
95const _: () = {
96    ["Size of nfloat192_struct"][::std::mem::size_of::<nfloat192_struct>() - 40usize];
97    ["Alignment of nfloat192_struct"][::std::mem::align_of::<nfloat192_struct>() - 8usize];
98    ["Offset of field: nfloat192_struct::head"]
99        [::std::mem::offset_of!(nfloat192_struct, head) - 0usize];
100    ["Offset of field: nfloat192_struct::d"][::std::mem::offset_of!(nfloat192_struct, d) - 16usize];
101};
102impl Default for nfloat192_struct {
103    fn default() -> Self {
104        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
105        unsafe {
106            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
107            s.assume_init()
108        }
109    }
110}
111#[repr(C)]
112pub struct nfloat256_struct {
113    pub head: [ulong; 2usize],
114    pub d: [ulong; 4usize],
115}
116#[allow(clippy::unnecessary_operation, clippy::identity_op)]
117const _: () = {
118    ["Size of nfloat256_struct"][::std::mem::size_of::<nfloat256_struct>() - 48usize];
119    ["Alignment of nfloat256_struct"][::std::mem::align_of::<nfloat256_struct>() - 8usize];
120    ["Offset of field: nfloat256_struct::head"]
121        [::std::mem::offset_of!(nfloat256_struct, head) - 0usize];
122    ["Offset of field: nfloat256_struct::d"][::std::mem::offset_of!(nfloat256_struct, d) - 16usize];
123};
124impl Default for nfloat256_struct {
125    fn default() -> Self {
126        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
127        unsafe {
128            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
129            s.assume_init()
130        }
131    }
132}
133#[repr(C)]
134pub struct nfloat384_struct {
135    pub head: [ulong; 2usize],
136    pub d: [ulong; 6usize],
137}
138#[allow(clippy::unnecessary_operation, clippy::identity_op)]
139const _: () = {
140    ["Size of nfloat384_struct"][::std::mem::size_of::<nfloat384_struct>() - 64usize];
141    ["Alignment of nfloat384_struct"][::std::mem::align_of::<nfloat384_struct>() - 8usize];
142    ["Offset of field: nfloat384_struct::head"]
143        [::std::mem::offset_of!(nfloat384_struct, head) - 0usize];
144    ["Offset of field: nfloat384_struct::d"][::std::mem::offset_of!(nfloat384_struct, d) - 16usize];
145};
146impl Default for nfloat384_struct {
147    fn default() -> Self {
148        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
149        unsafe {
150            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
151            s.assume_init()
152        }
153    }
154}
155#[repr(C)]
156pub struct nfloat512_struct {
157    pub head: [ulong; 2usize],
158    pub d: [ulong; 8usize],
159}
160#[allow(clippy::unnecessary_operation, clippy::identity_op)]
161const _: () = {
162    ["Size of nfloat512_struct"][::std::mem::size_of::<nfloat512_struct>() - 80usize];
163    ["Alignment of nfloat512_struct"][::std::mem::align_of::<nfloat512_struct>() - 8usize];
164    ["Offset of field: nfloat512_struct::head"]
165        [::std::mem::offset_of!(nfloat512_struct, head) - 0usize];
166    ["Offset of field: nfloat512_struct::d"][::std::mem::offset_of!(nfloat512_struct, d) - 16usize];
167};
168impl Default for nfloat512_struct {
169    fn default() -> Self {
170        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
171        unsafe {
172            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
173            s.assume_init()
174        }
175    }
176}
177#[repr(C)]
178pub struct nfloat1024_struct {
179    pub head: [ulong; 2usize],
180    pub d: [ulong; 16usize],
181}
182#[allow(clippy::unnecessary_operation, clippy::identity_op)]
183const _: () = {
184    ["Size of nfloat1024_struct"][::std::mem::size_of::<nfloat1024_struct>() - 144usize];
185    ["Alignment of nfloat1024_struct"][::std::mem::align_of::<nfloat1024_struct>() - 8usize];
186    ["Offset of field: nfloat1024_struct::head"]
187        [::std::mem::offset_of!(nfloat1024_struct, head) - 0usize];
188    ["Offset of field: nfloat1024_struct::d"]
189        [::std::mem::offset_of!(nfloat1024_struct, d) - 16usize];
190};
191impl Default for nfloat1024_struct {
192    fn default() -> Self {
193        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
194        unsafe {
195            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
196            s.assume_init()
197        }
198    }
199}
200#[repr(C)]
201pub struct nfloat2048_struct {
202    pub head: [ulong; 2usize],
203    pub d: [ulong; 32usize],
204}
205#[allow(clippy::unnecessary_operation, clippy::identity_op)]
206const _: () = {
207    ["Size of nfloat2048_struct"][::std::mem::size_of::<nfloat2048_struct>() - 272usize];
208    ["Alignment of nfloat2048_struct"][::std::mem::align_of::<nfloat2048_struct>() - 8usize];
209    ["Offset of field: nfloat2048_struct::head"]
210        [::std::mem::offset_of!(nfloat2048_struct, head) - 0usize];
211    ["Offset of field: nfloat2048_struct::d"]
212        [::std::mem::offset_of!(nfloat2048_struct, d) - 16usize];
213};
214impl Default for nfloat2048_struct {
215    fn default() -> Self {
216        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
217        unsafe {
218            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
219            s.assume_init()
220        }
221    }
222}
223#[repr(C)]
224pub struct nfloat4096_struct {
225    pub head: [ulong; 2usize],
226    pub d: [ulong; 64usize],
227}
228#[allow(clippy::unnecessary_operation, clippy::identity_op)]
229const _: () = {
230    ["Size of nfloat4096_struct"][::std::mem::size_of::<nfloat4096_struct>() - 528usize];
231    ["Alignment of nfloat4096_struct"][::std::mem::align_of::<nfloat4096_struct>() - 8usize];
232    ["Offset of field: nfloat4096_struct::head"]
233        [::std::mem::offset_of!(nfloat4096_struct, head) - 0usize];
234    ["Offset of field: nfloat4096_struct::d"]
235        [::std::mem::offset_of!(nfloat4096_struct, d) - 16usize];
236};
237impl Default for nfloat4096_struct {
238    fn default() -> Self {
239        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
240        unsafe {
241            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
242            s.assume_init()
243        }
244    }
245}
246pub type nfloat64_t = [nfloat64_struct; 1usize];
247pub type nfloat128_t = [nfloat128_struct; 1usize];
248pub type nfloat192_t = [nfloat192_struct; 1usize];
249pub type nfloat256_t = [nfloat256_struct; 1usize];
250pub type nfloat384_t = [nfloat384_struct; 1usize];
251pub type nfloat512_t = [nfloat512_struct; 1usize];
252pub type nfloat1024_t = [nfloat1024_struct; 1usize];
253pub type nfloat2048_t = [nfloat2048_struct; 1usize];
254pub type nfloat4096_t = [nfloat4096_struct; 1usize];
255pub type nfloat_complex_ptr = nfloat_ptr;
256pub type nfloat_complex_srcptr = nfloat_srcptr;
257extern "C" {
258    pub fn nfloat_ctx_init(ctx: *mut gr_ctx_struct, prec: slong, flags: libc::c_int)
259        -> libc::c_int;
260    pub fn nfloat_ctx_write(out: *mut gr_stream_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
261    #[link_name = "nfloat_init__extern"]
262    pub fn nfloat_init(res: nfloat_ptr, ctx: *mut gr_ctx_struct);
263    #[link_name = "nfloat_clear__extern"]
264    pub fn nfloat_clear(res: nfloat_ptr, ctx: *mut gr_ctx_struct);
265    pub fn nfloat_swap(x: nfloat_ptr, y: nfloat_ptr, ctx: *mut gr_ctx_struct);
266    pub fn nfloat_set(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
267    pub fn nfloat_equal(x: nfloat_srcptr, y: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
268    #[link_name = "nfloat_ctx_set_real_prec__extern"]
269    pub fn nfloat_ctx_set_real_prec(ctx: *mut gr_ctx_struct, prec: slong) -> libc::c_int;
270    #[link_name = "nfloat_ctx_get_real_prec__extern"]
271    pub fn nfloat_ctx_get_real_prec(res: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
272    #[link_name = "nfloat_zero__extern"]
273    pub fn nfloat_zero(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
274    pub fn nfloat_pos_inf(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
275    pub fn nfloat_neg_inf(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
276    pub fn nfloat_nan(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
277    pub fn _nfloat_underflow(
278        res: nfloat_ptr,
279        sgnbit: libc::c_int,
280        ctx: *mut gr_ctx_struct,
281    ) -> libc::c_int;
282    pub fn _nfloat_overflow(
283        res: nfloat_ptr,
284        sgnbit: libc::c_int,
285        ctx: *mut gr_ctx_struct,
286    ) -> libc::c_int;
287    pub fn nfloat_one(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
288    pub fn nfloat_neg_one(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
289    #[link_name = "nfloat_is_zero__extern"]
290    pub fn nfloat_is_zero(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
291    pub fn nfloat_is_one(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
292    pub fn nfloat_is_neg_one(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
293    pub fn nfloat_set_ui(res: nfloat_ptr, x: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
294    pub fn nfloat_set_si(res: nfloat_ptr, x: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
295    pub fn _nfloat_set_mpn_2exp(
296        res: nfloat_ptr,
297        x: nn_srcptr,
298        xn: slong,
299        exp: slong,
300        xsgnbit: libc::c_int,
301        ctx: *mut gr_ctx_struct,
302    ) -> libc::c_int;
303    #[link_name = "nfloat_set_mpn_2exp__extern"]
304    pub fn nfloat_set_mpn_2exp(
305        res: nfloat_ptr,
306        x: nn_srcptr,
307        xn: slong,
308        exp: slong,
309        xsgnbit: libc::c_int,
310        ctx: *mut gr_ctx_struct,
311    ) -> libc::c_int;
312    #[link_name = "nfloat_1_set_2_2exp__extern"]
313    pub fn nfloat_1_set_2_2exp(
314        res: nfloat_ptr,
315        x1: ulong,
316        x0: ulong,
317        exp: slong,
318        xsgnbit: libc::c_int,
319        ctx: *mut gr_ctx_struct,
320    ) -> libc::c_int;
321    #[link_name = "nfloat_1_set_3_2exp__extern"]
322    pub fn nfloat_1_set_3_2exp(
323        res: nfloat_ptr,
324        x2: ulong,
325        x1: ulong,
326        x0: ulong,
327        exp: slong,
328        xsgnbit: libc::c_int,
329        ctx: *mut gr_ctx_struct,
330    ) -> libc::c_int;
331    #[link_name = "nfloat_2_set_3_2exp__extern"]
332    pub fn nfloat_2_set_3_2exp(
333        res: nfloat_ptr,
334        x2: ulong,
335        x1: ulong,
336        x0: ulong,
337        exp: slong,
338        xsgnbit: libc::c_int,
339        ctx: *mut gr_ctx_struct,
340    ) -> libc::c_int;
341    #[link_name = "nfloat_2_set_4_2exp__extern"]
342    pub fn nfloat_2_set_4_2exp(
343        res: nfloat_ptr,
344        x3: ulong,
345        x2: ulong,
346        x1: ulong,
347        x0: ulong,
348        exp: slong,
349        xsgnbit: libc::c_int,
350        ctx: *mut gr_ctx_struct,
351    ) -> libc::c_int;
352    pub fn nfloat_set_fmpz(res: nfloat_ptr, x: *const fmpz, ctx: *mut gr_ctx_struct)
353        -> libc::c_int;
354    pub fn nfloat_get_d_2exp_si(
355        mant: *mut f64,
356        expo: *mut slong,
357        x: nfloat_srcptr,
358        ctx: *mut gr_ctx_struct,
359    ) -> libc::c_int;
360    pub fn nfloat_get_fmpz(
361        res: *mut fmpz,
362        x: nfloat_srcptr,
363        ctx: *mut gr_ctx_struct,
364    ) -> libc::c_int;
365    pub fn nfloat_set_fmpq(res: nfloat_ptr, v: *const fmpq, ctx: *mut gr_ctx_struct)
366        -> libc::c_int;
367    pub fn nfloat_set_d(res: nfloat_ptr, x: f64, ctx: *mut gr_ctx_struct) -> libc::c_int;
368    pub fn nfloat_set_str(
369        res: nfloat_ptr,
370        x: *const libc::c_char,
371        ctx: *mut gr_ctx_struct,
372    ) -> libc::c_int;
373    pub fn nfloat_set_other(
374        res: nfloat_ptr,
375        x: gr_srcptr,
376        x_ctx: *mut gr_ctx_struct,
377        ctx: *mut gr_ctx_struct,
378    ) -> libc::c_int;
379    pub fn nfloat_write(
380        out: *mut gr_stream_struct,
381        x: nfloat_srcptr,
382        ctx: *mut gr_ctx_struct,
383    ) -> libc::c_int;
384    pub fn nfloat_randtest(
385        res: nfloat_ptr,
386        state: *mut flint_rand_struct,
387        ctx: *mut gr_ctx_struct,
388    ) -> libc::c_int;
389    pub fn nfloat_neg(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
390    pub fn nfloat_abs(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
391    pub fn _nfloat_cmp(x: nfloat_srcptr, y: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
392    pub fn _nfloat_cmpabs(
393        x: nfloat_srcptr,
394        y: nfloat_srcptr,
395        ctx: *mut gr_ctx_struct,
396    ) -> libc::c_int;
397    pub fn nfloat_cmp(
398        res: *mut libc::c_int,
399        x: nfloat_srcptr,
400        y: nfloat_srcptr,
401        ctx: *mut gr_ctx_struct,
402    ) -> libc::c_int;
403    pub fn nfloat_cmpabs(
404        res: *mut libc::c_int,
405        x: nfloat_srcptr,
406        y: nfloat_srcptr,
407        ctx: *mut gr_ctx_struct,
408    ) -> libc::c_int;
409    pub fn nfloat_sgn(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
410    pub fn nfloat_im(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
411    pub fn _nfloat_add_1(
412        res: nfloat_ptr,
413        x0: ulong,
414        xexp: slong,
415        xsgnbit: libc::c_int,
416        y0: ulong,
417        delta: slong,
418        ctx: *mut gr_ctx_struct,
419    ) -> libc::c_int;
420    pub fn _nfloat_sub_1(
421        res: nfloat_ptr,
422        x0: ulong,
423        xexp: slong,
424        xsgnbit: libc::c_int,
425        y0: ulong,
426        delta: slong,
427        ctx: *mut gr_ctx_struct,
428    ) -> libc::c_int;
429    pub fn _nfloat_add_2(
430        res: nfloat_ptr,
431        xd: nn_srcptr,
432        xexp: slong,
433        xsgnbit: libc::c_int,
434        yd: nn_srcptr,
435        delta: slong,
436        ctx: *mut gr_ctx_struct,
437    ) -> libc::c_int;
438    pub fn _nfloat_sub_2(
439        res: nfloat_ptr,
440        xd: nn_srcptr,
441        xexp: slong,
442        xsgnbit: libc::c_int,
443        yd: nn_srcptr,
444        delta: slong,
445        ctx: *mut gr_ctx_struct,
446    ) -> libc::c_int;
447    pub fn _nfloat_add_3(
448        res: nfloat_ptr,
449        x: nn_srcptr,
450        xexp: slong,
451        xsgnbit: libc::c_int,
452        y: nn_srcptr,
453        delta: slong,
454        ctx: *mut gr_ctx_struct,
455    ) -> libc::c_int;
456    pub fn _nfloat_sub_3(
457        res: nfloat_ptr,
458        x: nn_srcptr,
459        xexp: slong,
460        xsgnbit: libc::c_int,
461        y: nn_srcptr,
462        delta: slong,
463        ctx: *mut gr_ctx_struct,
464    ) -> libc::c_int;
465    pub fn _nfloat_add_4(
466        res: nfloat_ptr,
467        x: nn_srcptr,
468        xexp: slong,
469        xsgnbit: libc::c_int,
470        y: nn_srcptr,
471        delta: slong,
472        ctx: *mut gr_ctx_struct,
473    ) -> libc::c_int;
474    pub fn _nfloat_sub_4(
475        res: nfloat_ptr,
476        x: nn_srcptr,
477        xexp: slong,
478        xsgnbit: libc::c_int,
479        y: nn_srcptr,
480        delta: slong,
481        ctx: *mut gr_ctx_struct,
482    ) -> libc::c_int;
483    pub fn _nfloat_add_n(
484        res: nfloat_ptr,
485        xd: nn_srcptr,
486        xexp: slong,
487        xsgnbit: libc::c_int,
488        yd: nn_srcptr,
489        delta: slong,
490        nlimbs: slong,
491        ctx: *mut gr_ctx_struct,
492    ) -> libc::c_int;
493    pub fn _nfloat_sub_n(
494        res: nfloat_ptr,
495        xd: nn_srcptr,
496        xexp: slong,
497        xsgnbit: libc::c_int,
498        yd: nn_srcptr,
499        delta: slong,
500        nlimbs: slong,
501        ctx: *mut gr_ctx_struct,
502    ) -> libc::c_int;
503    pub fn nfloat_add(
504        res: nfloat_ptr,
505        x: nfloat_srcptr,
506        y: nfloat_srcptr,
507        ctx: *mut gr_ctx_struct,
508    ) -> libc::c_int;
509    pub fn nfloat_sub(
510        res: nfloat_ptr,
511        x: nfloat_srcptr,
512        y: nfloat_srcptr,
513        ctx: *mut gr_ctx_struct,
514    ) -> libc::c_int;
515    pub fn nfloat_mul(
516        res: nfloat_ptr,
517        x: nfloat_srcptr,
518        y: nfloat_srcptr,
519        ctx: *mut gr_ctx_struct,
520    ) -> libc::c_int;
521    pub fn nfloat_addmul(
522        res: nfloat_ptr,
523        x: nfloat_srcptr,
524        y: nfloat_srcptr,
525        ctx: *mut gr_ctx_struct,
526    ) -> libc::c_int;
527    pub fn nfloat_submul(
528        res: nfloat_ptr,
529        x: nfloat_srcptr,
530        y: nfloat_srcptr,
531        ctx: *mut gr_ctx_struct,
532    ) -> libc::c_int;
533    pub fn nfloat_sqr(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
534    pub fn nfloat_mul_2exp_si(
535        res: nfloat_ptr,
536        x: nfloat_srcptr,
537        y: slong,
538        ctx: *mut gr_ctx_struct,
539    ) -> libc::c_int;
540    pub fn nfloat_inv(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
541    pub fn nfloat_div(
542        res: nfloat_ptr,
543        x: nfloat_srcptr,
544        y: nfloat_srcptr,
545        ctx: *mut gr_ctx_struct,
546    ) -> libc::c_int;
547    pub fn nfloat_div_ui(
548        res: nfloat_ptr,
549        x: nfloat_srcptr,
550        y: ulong,
551        ctx: *mut gr_ctx_struct,
552    ) -> libc::c_int;
553    pub fn nfloat_div_si(
554        res: nfloat_ptr,
555        x: nfloat_srcptr,
556        y: slong,
557        ctx: *mut gr_ctx_struct,
558    ) -> libc::c_int;
559    pub fn nfloat_sqrt(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
560    pub fn nfloat_rsqrt(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
561    pub fn nfloat_floor(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
562    pub fn nfloat_ceil(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
563    pub fn nfloat_trunc(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
564    pub fn nfloat_nint(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
565    pub fn nfloat_pi(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
566    pub fn nfloat_pow(
567        res: nfloat_ptr,
568        x: nfloat_srcptr,
569        y: nfloat_srcptr,
570        ctx: *mut gr_ctx_struct,
571    ) -> libc::c_int;
572    pub fn nfloat_exp(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
573    pub fn nfloat_expm1(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
574    pub fn nfloat_log(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
575    pub fn nfloat_log1p(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
576    pub fn nfloat_sin(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
577    pub fn nfloat_cos(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
578    pub fn nfloat_tan(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
579    pub fn nfloat_sinh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
580    pub fn nfloat_cosh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
581    pub fn nfloat_tanh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
582    pub fn nfloat_atan(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
583    pub fn nfloat_gamma(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
584    pub fn nfloat_zeta(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
585    pub fn _nfloat_vec_init(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct);
586    pub fn _nfloat_vec_clear(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct);
587    pub fn _nfloat_vec_set(
588        res: nfloat_ptr,
589        x: nfloat_srcptr,
590        len: slong,
591        ctx: *mut gr_ctx_struct,
592    ) -> libc::c_int;
593    pub fn _nfloat_vec_zero(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
594    pub fn _nfloat_vec_add(
595        res: nfloat_ptr,
596        x: nfloat_srcptr,
597        y: nfloat_srcptr,
598        len: slong,
599        ctx: *mut gr_ctx_struct,
600    ) -> libc::c_int;
601    pub fn _nfloat_vec_sub(
602        res: nfloat_ptr,
603        x: nfloat_srcptr,
604        y: nfloat_srcptr,
605        len: slong,
606        ctx: *mut gr_ctx_struct,
607    ) -> libc::c_int;
608    pub fn _nfloat_vec_mul(
609        res: nfloat_ptr,
610        x: nfloat_srcptr,
611        y: nfloat_srcptr,
612        len: slong,
613        ctx: *mut gr_ctx_struct,
614    ) -> libc::c_int;
615    pub fn _nfloat_vec_mul_scalar(
616        res: nfloat_ptr,
617        x: nfloat_srcptr,
618        len: slong,
619        y: nfloat_srcptr,
620        ctx: *mut gr_ctx_struct,
621    ) -> libc::c_int;
622    pub fn _nfloat_vec_addmul_scalar(
623        res: nfloat_ptr,
624        x: nfloat_srcptr,
625        len: slong,
626        y: nfloat_srcptr,
627        ctx: *mut gr_ctx_struct,
628    ) -> libc::c_int;
629    pub fn _nfloat_vec_submul_scalar(
630        res: nfloat_ptr,
631        x: nfloat_srcptr,
632        len: slong,
633        y: nfloat_srcptr,
634        ctx: *mut gr_ctx_struct,
635    ) -> libc::c_int;
636    pub fn _nfloat_vec_dot(
637        res: nfloat_ptr,
638        initial: nfloat_srcptr,
639        subtract: libc::c_int,
640        x: nfloat_srcptr,
641        y: nfloat_srcptr,
642        len: slong,
643        ctx: *mut gr_ctx_struct,
644    ) -> libc::c_int;
645    pub fn _nfloat_vec_dot_rev(
646        res: nfloat_ptr,
647        initial: nfloat_srcptr,
648        subtract: libc::c_int,
649        x: nfloat_srcptr,
650        y: nfloat_srcptr,
651        len: slong,
652        ctx: *mut gr_ctx_struct,
653    ) -> libc::c_int;
654    pub fn nfloat_mat_mul_fixed(
655        C: *mut gr_mat_struct,
656        A: *const gr_mat_struct,
657        B: *const gr_mat_struct,
658        max_extra_prec: slong,
659        ctx: *mut gr_ctx_struct,
660    ) -> libc::c_int;
661    pub fn nfloat_mat_mul_block(
662        C: *mut gr_mat_struct,
663        A: *const gr_mat_struct,
664        B: *const gr_mat_struct,
665        min_block_size: slong,
666        ctx: *mut gr_ctx_struct,
667    ) -> libc::c_int;
668    pub fn nfloat_mat_mul(
669        C: *mut gr_mat_struct,
670        A: *const gr_mat_struct,
671        B: *const gr_mat_struct,
672        ctx: *mut gr_ctx_struct,
673    ) -> libc::c_int;
674    pub fn nfloat_mat_nonsingular_solve_tril(
675        X: *mut gr_mat_struct,
676        L: *const gr_mat_struct,
677        B: *const gr_mat_struct,
678        unit: libc::c_int,
679        ctx: *mut gr_ctx_struct,
680    ) -> libc::c_int;
681    pub fn nfloat_mat_nonsingular_solve_triu(
682        X: *mut gr_mat_struct,
683        L: *const gr_mat_struct,
684        B: *const gr_mat_struct,
685        unit: libc::c_int,
686        ctx: *mut gr_ctx_struct,
687    ) -> libc::c_int;
688    pub fn nfloat_mat_lu(
689        rank: *mut slong,
690        P: *mut slong,
691        LU: *mut gr_mat_struct,
692        A: *const gr_mat_struct,
693        rank_check: libc::c_int,
694        ctx: *mut gr_ctx_struct,
695    ) -> libc::c_int;
696    pub fn nfloat_mat_lq(
697        L: *mut gr_mat_struct,
698        Q: *mut gr_mat_struct,
699        A: *const gr_mat_struct,
700        ctx: *mut gr_ctx_struct,
701    ) -> libc::c_int;
702    pub fn nfloat_complex_ctx_init(
703        ctx: *mut gr_ctx_struct,
704        prec: slong,
705        flags: libc::c_int,
706    ) -> libc::c_int;
707    #[link_name = "nfloat_complex_init__extern"]
708    pub fn nfloat_complex_init(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct);
709    #[link_name = "nfloat_complex_clear__extern"]
710    pub fn nfloat_complex_clear(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct);
711    #[link_name = "nfloat_complex_zero__extern"]
712    pub fn nfloat_complex_zero(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
713    pub fn nfloat_complex_write(
714        out: *mut gr_stream_struct,
715        x: nfloat_complex_srcptr,
716        ctx: *mut gr_ctx_struct,
717    ) -> libc::c_int;
718    pub fn nfloat_complex_randtest(
719        res: nfloat_complex_ptr,
720        state: *mut flint_rand_struct,
721        ctx: *mut gr_ctx_struct,
722    ) -> libc::c_int;
723    pub fn nfloat_complex_swap(
724        x: nfloat_complex_ptr,
725        y: nfloat_complex_ptr,
726        ctx: *mut gr_ctx_struct,
727    );
728    pub fn nfloat_complex_set(
729        res: nfloat_complex_ptr,
730        x: nfloat_complex_ptr,
731        ctx: *mut gr_ctx_struct,
732    ) -> libc::c_int;
733    pub fn nfloat_complex_one(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
734    pub fn nfloat_complex_neg_one(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
735    pub fn nfloat_complex_is_zero(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
736    pub fn nfloat_complex_is_one(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
737    pub fn nfloat_complex_is_neg_one(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
738    pub fn nfloat_complex_i(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
739    pub fn nfloat_complex_pi(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
740    pub fn nfloat_complex_conj(
741        res: nfloat_complex_ptr,
742        x: nfloat_complex_srcptr,
743        ctx: *mut gr_ctx_struct,
744    ) -> libc::c_int;
745    pub fn nfloat_complex_re(
746        res: nfloat_complex_ptr,
747        x: nfloat_complex_srcptr,
748        ctx: *mut gr_ctx_struct,
749    ) -> libc::c_int;
750    pub fn nfloat_complex_im(
751        res: nfloat_complex_ptr,
752        x: nfloat_complex_srcptr,
753        ctx: *mut gr_ctx_struct,
754    ) -> libc::c_int;
755    pub fn nfloat_complex_equal(
756        x: nfloat_complex_srcptr,
757        y: nfloat_complex_srcptr,
758        ctx: *mut gr_ctx_struct,
759    ) -> truth_t;
760    pub fn nfloat_complex_set_si(
761        res: nfloat_complex_ptr,
762        x: slong,
763        ctx: *mut gr_ctx_struct,
764    ) -> libc::c_int;
765    pub fn nfloat_complex_set_ui(
766        res: nfloat_complex_ptr,
767        x: ulong,
768        ctx: *mut gr_ctx_struct,
769    ) -> libc::c_int;
770    pub fn nfloat_complex_set_fmpz(
771        res: nfloat_complex_ptr,
772        x: *const fmpz,
773        ctx: *mut gr_ctx_struct,
774    ) -> libc::c_int;
775    pub fn nfloat_complex_set_fmpq(
776        res: nfloat_complex_ptr,
777        x: *const fmpq,
778        ctx: *mut gr_ctx_struct,
779    ) -> libc::c_int;
780    pub fn nfloat_complex_set_d(
781        res: nfloat_complex_ptr,
782        x: f64,
783        ctx: *mut gr_ctx_struct,
784    ) -> libc::c_int;
785    pub fn nfloat_complex_set_other(
786        res: nfloat_complex_ptr,
787        x: gr_srcptr,
788        x_ctx: *mut gr_ctx_struct,
789        ctx: *mut gr_ctx_struct,
790    ) -> libc::c_int;
791    pub fn nfloat_complex_neg(
792        res: nfloat_complex_ptr,
793        x: nfloat_complex_srcptr,
794        ctx: *mut gr_ctx_struct,
795    ) -> libc::c_int;
796    pub fn nfloat_complex_add(
797        res: nfloat_complex_ptr,
798        x: nfloat_complex_srcptr,
799        y: nfloat_complex_srcptr,
800        ctx: *mut gr_ctx_struct,
801    ) -> libc::c_int;
802    pub fn nfloat_complex_sub(
803        res: nfloat_complex_ptr,
804        x: nfloat_complex_srcptr,
805        y: nfloat_complex_srcptr,
806        ctx: *mut gr_ctx_struct,
807    ) -> libc::c_int;
808    pub fn _nfloat_complex_sqr_naive(
809        res1: nfloat_ptr,
810        res2: nfloat_ptr,
811        a: nfloat_srcptr,
812        b: nfloat_srcptr,
813        ctx: *mut gr_ctx_struct,
814    ) -> libc::c_int;
815    pub fn _nfloat_complex_sqr_standard(
816        res1: nfloat_ptr,
817        res2: nfloat_ptr,
818        a: nfloat_srcptr,
819        b: nfloat_srcptr,
820        ctx: *mut gr_ctx_struct,
821    ) -> libc::c_int;
822    pub fn _nfloat_complex_sqr_karatsuba(
823        res1: nfloat_ptr,
824        res2: nfloat_ptr,
825        a: nfloat_srcptr,
826        b: nfloat_srcptr,
827        ctx: *mut gr_ctx_struct,
828    ) -> libc::c_int;
829    pub fn _nfloat_complex_sqr(
830        res1: nfloat_ptr,
831        res2: nfloat_ptr,
832        a: nfloat_srcptr,
833        b: nfloat_srcptr,
834        ctx: *mut gr_ctx_struct,
835    ) -> libc::c_int;
836    pub fn nfloat_complex_sqr(
837        res: nfloat_complex_ptr,
838        x: nfloat_complex_srcptr,
839        ctx: *mut gr_ctx_struct,
840    ) -> libc::c_int;
841    pub fn _nfloat_complex_mul_naive(
842        res1: nfloat_ptr,
843        res2: nfloat_ptr,
844        a: nfloat_srcptr,
845        b: nfloat_srcptr,
846        c: nfloat_srcptr,
847        d: nfloat_srcptr,
848        ctx: *mut gr_ctx_struct,
849    ) -> libc::c_int;
850    pub fn _nfloat_complex_mul_standard(
851        res1: nfloat_ptr,
852        res2: nfloat_ptr,
853        a: nfloat_srcptr,
854        b: nfloat_srcptr,
855        c: nfloat_srcptr,
856        d: nfloat_srcptr,
857        ctx: *mut gr_ctx_struct,
858    ) -> libc::c_int;
859    pub fn _nfloat_complex_mul_karatsuba(
860        res1: nfloat_ptr,
861        res2: nfloat_ptr,
862        a: nfloat_srcptr,
863        b: nfloat_srcptr,
864        c: nfloat_srcptr,
865        d: nfloat_srcptr,
866        ctx: *mut gr_ctx_struct,
867    ) -> libc::c_int;
868    pub fn nfloat_complex_mul(
869        res: nfloat_complex_ptr,
870        x: nfloat_complex_srcptr,
871        y: nfloat_complex_srcptr,
872        ctx: *mut gr_ctx_struct,
873    ) -> libc::c_int;
874    pub fn nfloat_complex_inv(
875        res: nfloat_complex_ptr,
876        x: nfloat_complex_srcptr,
877        ctx: *mut gr_ctx_struct,
878    ) -> libc::c_int;
879    pub fn nfloat_complex_div(
880        res: nfloat_complex_ptr,
881        x: nfloat_complex_srcptr,
882        y: nfloat_complex_srcptr,
883        ctx: *mut gr_ctx_struct,
884    ) -> libc::c_int;
885    pub fn nfloat_complex_mul_2exp_si(
886        res: nfloat_complex_ptr,
887        x: nfloat_complex_srcptr,
888        y: slong,
889        ctx: *mut gr_ctx_struct,
890    ) -> libc::c_int;
891    pub fn nfloat_complex_cmp(
892        res: *mut libc::c_int,
893        x: nfloat_complex_srcptr,
894        y: nfloat_complex_srcptr,
895        ctx: *mut gr_ctx_struct,
896    ) -> libc::c_int;
897    pub fn nfloat_complex_cmpabs(
898        res: *mut libc::c_int,
899        x: nfloat_complex_srcptr,
900        y: nfloat_complex_srcptr,
901        ctx: *mut gr_ctx_struct,
902    ) -> libc::c_int;
903    pub fn nfloat_complex_abs(
904        res: nfloat_ptr,
905        x: nfloat_complex_srcptr,
906        ctx: *mut gr_ctx_struct,
907    ) -> libc::c_int;
908    pub fn _nfloat_complex_vec_init(res: nfloat_complex_ptr, len: slong, ctx: *mut gr_ctx_struct);
909    pub fn _nfloat_complex_vec_clear(res: nfloat_complex_ptr, len: slong, ctx: *mut gr_ctx_struct);
910    pub fn _nfloat_complex_vec_zero(
911        res: nfloat_complex_ptr,
912        len: slong,
913        ctx: *mut gr_ctx_struct,
914    ) -> libc::c_int;
915    pub fn _nfloat_complex_vec_set(
916        res: nfloat_complex_ptr,
917        x: nfloat_complex_srcptr,
918        len: slong,
919        ctx: *mut gr_ctx_struct,
920    ) -> libc::c_int;
921    pub fn _nfloat_complex_vec_add(
922        res: nfloat_complex_ptr,
923        x: nfloat_complex_srcptr,
924        y: nfloat_complex_srcptr,
925        len: slong,
926        ctx: *mut gr_ctx_struct,
927    ) -> libc::c_int;
928    pub fn _nfloat_complex_vec_sub(
929        res: nfloat_complex_ptr,
930        x: nfloat_complex_srcptr,
931        y: nfloat_complex_srcptr,
932        len: slong,
933        ctx: *mut gr_ctx_struct,
934    ) -> libc::c_int;
935    pub fn _nfloat_complex_vec_dot(
936        res: nfloat_complex_ptr,
937        initial: nfloat_complex_srcptr,
938        subtract: libc::c_int,
939        x: nfloat_complex_srcptr,
940        y: nfloat_complex_srcptr,
941        len: slong,
942        ctx: *mut gr_ctx_struct,
943    ) -> libc::c_int;
944    pub fn _nfloat_complex_vec_dot_rev(
945        res: nfloat_complex_ptr,
946        initial: nfloat_complex_srcptr,
947        subtract: libc::c_int,
948        x: nfloat_complex_srcptr,
949        y: nfloat_complex_srcptr,
950        len: slong,
951        ctx: *mut gr_ctx_struct,
952    ) -> libc::c_int;
953    pub fn nfloat_complex_mat_mul_fixed(
954        C: *mut gr_mat_struct,
955        A: *const gr_mat_struct,
956        B: *const gr_mat_struct,
957        max_extra_prec: slong,
958        ctx: *mut gr_ctx_struct,
959    ) -> libc::c_int;
960    pub fn nfloat_complex_mat_mul_block(
961        C: *mut gr_mat_struct,
962        A: *const gr_mat_struct,
963        B: *const gr_mat_struct,
964        min_block_size: slong,
965        ctx: *mut gr_ctx_struct,
966    ) -> libc::c_int;
967    pub fn nfloat_complex_mat_mul_reorder(
968        C: *mut gr_mat_struct,
969        A: *const gr_mat_struct,
970        B: *const gr_mat_struct,
971        ctx: *mut gr_ctx_struct,
972    ) -> libc::c_int;
973    pub fn nfloat_complex_mat_mul(
974        C: *mut gr_mat_struct,
975        A: *const gr_mat_struct,
976        B: *const gr_mat_struct,
977        ctx: *mut gr_ctx_struct,
978    ) -> libc::c_int;
979    pub fn nfloat_complex_mat_nonsingular_solve_tril(
980        X: *mut gr_mat_struct,
981        L: *const gr_mat_struct,
982        B: *const gr_mat_struct,
983        unit: libc::c_int,
984        ctx: *mut gr_ctx_struct,
985    ) -> libc::c_int;
986    pub fn nfloat_complex_mat_nonsingular_solve_triu(
987        X: *mut gr_mat_struct,
988        L: *const gr_mat_struct,
989        B: *const gr_mat_struct,
990        unit: libc::c_int,
991        ctx: *mut gr_ctx_struct,
992    ) -> libc::c_int;
993    pub fn nfloat_complex_mat_lu(
994        rank: *mut slong,
995        P: *mut slong,
996        LU: *mut gr_mat_struct,
997        A: *const gr_mat_struct,
998        rank_check: libc::c_int,
999        ctx: *mut gr_ctx_struct,
1000    ) -> libc::c_int;
1001    pub fn _nfixed_print(x: nn_srcptr, nlimbs: slong, exp: slong);
1002    pub fn _nfixed_vec_add(res: nn_ptr, a: nn_srcptr, b: nn_srcptr, len: slong, nlimbs: slong);
1003    pub fn _nfixed_vec_sub(res: nn_ptr, a: nn_srcptr, b: nn_srcptr, len: slong, nlimbs: slong);
1004    pub fn _nfixed_dot_2(
1005        res: nn_ptr,
1006        x: nn_srcptr,
1007        xstride: slong,
1008        y: nn_srcptr,
1009        ystride: slong,
1010        len: slong,
1011    );
1012    pub fn _nfixed_dot_3(
1013        res: nn_ptr,
1014        x: nn_srcptr,
1015        xstride: slong,
1016        y: nn_srcptr,
1017        ystride: slong,
1018        len: slong,
1019    );
1020    pub fn _nfixed_dot_4(
1021        res: nn_ptr,
1022        x: nn_srcptr,
1023        xstride: slong,
1024        y: nn_srcptr,
1025        ystride: slong,
1026        len: slong,
1027    );
1028    pub fn _nfixed_dot_5(
1029        res: nn_ptr,
1030        x: nn_srcptr,
1031        xstride: slong,
1032        y: nn_srcptr,
1033        ystride: slong,
1034        len: slong,
1035    );
1036    pub fn _nfixed_dot_6(
1037        res: nn_ptr,
1038        x: nn_srcptr,
1039        xstride: slong,
1040        y: nn_srcptr,
1041        ystride: slong,
1042        len: slong,
1043    );
1044    pub fn _nfixed_dot_7(
1045        res: nn_ptr,
1046        x: nn_srcptr,
1047        xstride: slong,
1048        y: nn_srcptr,
1049        ystride: slong,
1050        len: slong,
1051    );
1052    pub fn _nfixed_dot_8(
1053        res: nn_ptr,
1054        x: nn_srcptr,
1055        xstride: slong,
1056        y: nn_srcptr,
1057        ystride: slong,
1058        len: slong,
1059    );
1060    pub fn _nfixed_mat_mul_classical_precise(
1061        C: nn_ptr,
1062        A: nn_srcptr,
1063        B: nn_srcptr,
1064        m: slong,
1065        n: slong,
1066        p: slong,
1067        nlimbs: slong,
1068    );
1069    pub fn _nfixed_mat_mul_classical(
1070        C: nn_ptr,
1071        A: nn_srcptr,
1072        B: nn_srcptr,
1073        m: slong,
1074        n: slong,
1075        p: slong,
1076        nlimbs: slong,
1077    );
1078    pub fn _nfixed_mat_mul_waksman(
1079        C: nn_ptr,
1080        A: nn_srcptr,
1081        B: nn_srcptr,
1082        m: slong,
1083        n: slong,
1084        p: slong,
1085        nlimbs: slong,
1086    );
1087    pub fn _nfixed_mat_mul_strassen(
1088        C: nn_ptr,
1089        A: nn_srcptr,
1090        B: nn_srcptr,
1091        m: slong,
1092        n: slong,
1093        p: slong,
1094        cutoff: slong,
1095        nlimbs: slong,
1096    );
1097    pub fn _nfixed_mat_mul(
1098        C: nn_ptr,
1099        A: nn_srcptr,
1100        B: nn_srcptr,
1101        m: slong,
1102        n: slong,
1103        p: slong,
1104        nlimbs: slong,
1105    );
1106    pub fn _nfixed_mat_mul_bound_classical(
1107        bound: *mut f64,
1108        error: *mut f64,
1109        m: slong,
1110        n: slong,
1111        p: slong,
1112        A: f64,
1113        B: f64,
1114        nlimbs: slong,
1115    );
1116    pub fn _nfixed_mat_mul_bound_waksman(
1117        bound: *mut f64,
1118        error: *mut f64,
1119        m: slong,
1120        n: slong,
1121        p: slong,
1122        A: f64,
1123        B: f64,
1124        nlimbs: slong,
1125    );
1126    pub fn _nfixed_mat_mul_bound_strassen(
1127        bound: *mut f64,
1128        error: *mut f64,
1129        m: slong,
1130        n: slong,
1131        p: slong,
1132        A: f64,
1133        B: f64,
1134        cutoff: slong,
1135        nlimbs: slong,
1136    );
1137    pub fn _nfixed_mat_mul_bound(
1138        bound: *mut f64,
1139        error: *mut f64,
1140        m: slong,
1141        n: slong,
1142        p: slong,
1143        A: f64,
1144        B: f64,
1145        nlimbs: slong,
1146    );
1147    pub fn _nfixed_complex_mat_mul_bound(
1148        bound: *mut f64,
1149        error: *mut f64,
1150        m: slong,
1151        n: slong,
1152        p: slong,
1153        A: f64,
1154        B: f64,
1155        C: f64,
1156        D: f64,
1157        nlimbs: slong,
1158    );
1159}