Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:15:19

0001 /*
0002     Copyright (C) 2013 Mike Hansen
0003 
0004     This file is part of FLINT.
0005 
0006     FLINT is free software: you can redistribute it and/or modify it under
0007     the terms of the GNU Lesser General Public License (LGPL) as published
0008     by the Free Software Foundation; either version 3 of the License, or
0009     (at your option) any later version.  See <https://www.gnu.org/licenses/>.
0010 */
0011 
0012 #ifndef FQ_MAT_H
0013 #define FQ_MAT_H
0014 
0015 #ifdef FQ_MAT_INLINES_C
0016 #define FQ_MAT_TEMPLATES_INLINE
0017 #define FQ_MAT_INLINE
0018 #else
0019 #define FQ_MAT_TEMPLATES_INLINE static inline
0020 #define FQ_MAT_INLINE static inline
0021 #endif
0022 
0023 #include "fq_types.h"
0024 
0025 /* Cutoff between classical and recursive triangular solving */
0026 #define FQ_MAT_SOLVE_TRI_ROWS_CUTOFF 64
0027 #define FQ_MAT_SOLVE_TRI_COLS_CUTOFF 64
0028 
0029 /* Cutoff between classical and recursive LU decomposition */
0030 #define FQ_MAT_LU_RECURSIVE_CUTOFF 4
0031 
0032 int FQ_MAT_MUL_KS_CUTOFF(slong r, slong c, const fq_ctx_t ctx);
0033 
0034 #define T fq
0035 #define CAP_T FQ
0036 #include "fq_mat_templates.h"
0037 #undef CAP_T
0038 #undef T
0039 
0040 #endif