1use 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}