hilbert-modular-group 0.1.3__cp312-cp312-macosx_15_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of hilbert-modular-group might be problematic. Click here for more details.

@@ -0,0 +1,66 @@
1
+ """
2
+ General utility functions
3
+
4
+ """
5
+ from sage.rings.real_mpfi import RealIntervalField
6
+ from sage.structure.element import Vector
7
+
8
+
9
+ def upper(x, prec):
10
+ r"""
11
+ Return an upper bound to x given by precision prec.
12
+
13
+ EXAMPLES::
14
+
15
+ sage: from hilbert_modgroup.utils import upper
16
+ sage: upper(0.1,8)
17
+ 0.11
18
+ sage: upper(0.1,53)
19
+ 0.100000000000001
20
+ sage: upper(RR.pi(),16)
21
+ 3.142
22
+ """
23
+ return RealIntervalField(prec)(x).upper()
24
+
25
+
26
+ def lower(x, prec):
27
+ r"""
28
+ Return a lower bound to x given by precision prec.
29
+
30
+ EXAMPLES::
31
+
32
+ sage: from hilbert_modgroup.utils import lower
33
+ sage: lower(0.1,8)
34
+ 0.099
35
+ sage: lower(0.1,30)
36
+ 0.099999999
37
+ sage: lower(RR.pi(),16)
38
+ 3.141
39
+ """
40
+ return RealIntervalField(prec)(x).lower()
41
+
42
+
43
+ def get_prec(x, **kwds):
44
+ r"""
45
+ Return the precision of x.
46
+
47
+ EXAMPLES::
48
+
49
+ sage: from hilbert_modgroup.utils import get_prec
50
+ sage: get_prec(0.1)
51
+ 53
52
+ sage: get_prec(RR.pi())
53
+ 53
54
+ sage: get_prec([RealField(103).pi(), RealField(103)(1)])
55
+ 103
56
+ """
57
+ if 'prec' in kwds:
58
+ return kwds['prec']
59
+ try:
60
+ if isinstance(x, (list, tuple, Vector)):
61
+ prec = x[0].prec()
62
+ else:
63
+ prec = x.prec()
64
+ except AttributeError:
65
+ prec = 53
66
+ return prec
@@ -0,0 +1,21 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
6
+ TYPE_CHECKING = False
7
+ if TYPE_CHECKING:
8
+ from typing import Tuple
9
+ from typing import Union
10
+
11
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
12
+ else:
13
+ VERSION_TUPLE = object
14
+
15
+ version: str
16
+ __version__: str
17
+ __version_tuple__: VERSION_TUPLE
18
+ version_tuple: VERSION_TUPLE
19
+
20
+ __version__ = version = '0.1.3'
21
+ __version_tuple__ = version_tuple = (0, 1, 3)