Coverage for pyxfem/core/config.py: 71%
28 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 07:17 +0000
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 07:17 +0000
1"""
2Created on Sat 28 march 2026
3@author: nchevaug
4"""
5from typing import TYPE_CHECKING, Final
7import numpy as np
8from numpy.typing import NDArray
10HAVE_UMFPACK = False
11PRECISION: Final = "float64"
12USE_NUMBA = True
13FASTMATH = True
15if USE_NUMBA:
16 import numba.core.types as nbct
17# Pour Pyright / VSCodium : il n'analyse que cette branche statiquement
18if TYPE_CHECKING:
19 npfloat = np.float64
20 fzero = npfloat(0.0)
21 fone = npfloat(1.0)
22 fhalf = npfloat(0.5)
23 if USE_NUMBA:
24 nbfloat = nbct.float64
25else :
26 if PRECISION == "float64":
27 npfloat = np.float64
28 fzero = npfloat(0.)
29 fone = npfloat(1.)
30 fhalf = npfloat(0.5)
31 if USE_NUMBA:
32 nbfloat = nbct.float64
33 elif PRECISION == "float32":
34 npfloat = np.float32
35 fzero = npfloat(0.)
36 fone = npfloat(1.)
37 fhalf = npfloat(0.5)
38 if USE_NUMBA:
39 nbfloat = nbct.float32
40 else:
41 raise ValueError(f"Précision non supportée : {PRECISION}")
43FloatArray = NDArray[npfloat]
44FloatVars = npfloat | FloatArray
46IndexType = np.intp
47IndexArray = NDArray[IndexType]