Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /*
0002     Copyright (C) 2020 Fredrik Johansson
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 CA_FIELD_H
0013 #define CA_FIELD_H
0014 
0015 #include "ca.h"
0016 
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020 
0021 /* Types *********************************************************************/
0022 
0023 /* note: types and macros are defined in ca.h since they are needed there */
0024 
0025 #define CA_FIELD_HASH_C UWORD(100003)
0026 
0027 void ca_field_init_qq(ca_field_t K, ca_ctx_t ctx);
0028 void ca_field_init_nf(ca_field_t K, const qqbar_t x, ca_ctx_t ctx);
0029 void ca_field_init_const(ca_field_t K, calcium_func_code func, ca_ctx_t ctx);
0030 void ca_field_init_fx(ca_field_t K, calcium_func_code func, const ca_t x, ca_ctx_t ctx);
0031 void ca_field_init_fxy(ca_field_t K, calcium_func_code func, const ca_t x, const ca_t y, ca_ctx_t ctx);
0032 void ca_field_init_multi(ca_field_t K, slong len, ca_ctx_t ctx);
0033 void ca_field_clear(ca_field_t K, ca_ctx_t ctx);
0034 
0035 void ca_field_set_ext(ca_field_t K, slong i, ca_ext_srcptr x, ca_ctx_t ctx);
0036 
0037 void ca_field_print(const ca_field_t K, ca_ctx_t ctx);
0038 
0039 int ca_field_cmp(const ca_field_t K1, const ca_field_t K2, ca_ctx_t ctx);
0040 
0041 void ca_field_build_ideal(ca_field_t K, ca_ctx_t ctx);
0042 void ca_field_build_ideal_erf(ca_field_t K, ca_ctx_t ctx);
0043 void ca_field_build_ideal_gamma(ca_field_t K, ca_ctx_t ctx);
0044 
0045 void ca_field_cache_init(ca_field_cache_t cache, ca_ctx_t ctx);
0046 void ca_field_cache_clear(ca_field_cache_t cache, ca_ctx_t ctx);
0047 ca_field_ptr ca_field_cache_insert_ext(ca_field_cache_t cache, ca_ext_struct ** x, slong length, ca_ctx_t ctx);
0048 
0049 #ifdef __cplusplus
0050 }
0051 #endif
0052 
0053 #endif