Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit79e5ea2

Browse files
authored
Merge pull request#102 from SwayamInSync/dragon4
Updating Quaddtype
2 parentscf6cf91 +1a6618a commit79e5ea2

31 files changed

+5201
-1914
lines changed

‎quaddtype/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#Numpy-QuadDType
2+
3+
##Installation
4+
5+
```
6+
pip install numpy==2.1.0
7+
pip install -i https://test.pypi.org/simple/ quaddtype
8+
```
9+
10+
##Usage
11+
12+
```python
13+
import numpyas np
14+
from numpy_quaddtypeimport QuadPrecDType, QuadPrecision
15+
16+
# using sleef backend (default)
17+
np.array([1,2,3],dtype=QuadPrecDType())
18+
np.array([1,2,3],dtype=QuadPrecDType("sleef"))
19+
20+
# using longdouble backend
21+
np.array([1,2,3],dtype=QuadPrecDType("longdouble"))
22+
```

‎quaddtype/meson.build

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
project('quaddtype','c','cpp',default_options: ['cpp_std=c++17','b_pie=true'])
1+
project('numpy_quaddtype','c','cpp',default_options: ['cpp_std=c++17','b_pie=true'])
22

33
py_mod=import('python')
44
py= py_mod.find_installation()
@@ -19,30 +19,33 @@ incdir_numpy = run_command(py,
1919
includes=include_directories(
2020
[
2121
incdir_numpy,
22-
'quaddtype/src',
22+
'numpy_quaddtype/src',
2323
]
2424
)
2525

2626
srcs= [
27-
'quaddtype/src/casts.h',
28-
'quaddtype/src/casts.cpp',
29-
'quaddtype/src/scalar.h',
30-
'quaddtype/src/scalar.c',
31-
'quaddtype/src/dtype.h',
32-
'quaddtype/src/dtype.c',
33-
'quaddtype/src/quaddtype_main.c',
34-
'quaddtype/src/scalar_ops.h',
35-
'quaddtype/src/scalar_ops.cpp',
36-
'quaddtype/src/ops.hpp',
37-
'quaddtype/src/umath.h',
38-
'quaddtype/src/umath.cpp'
27+
'numpy_quaddtype/src/quad_common.h',
28+
'numpy_quaddtype/src/casts.h',
29+
'numpy_quaddtype/src/casts.cpp',
30+
'numpy_quaddtype/src/scalar.h',
31+
'numpy_quaddtype/src/scalar.c',
32+
'numpy_quaddtype/src/dtype.h',
33+
'numpy_quaddtype/src/dtype.c',
34+
'numpy_quaddtype/src/quaddtype_main.c',
35+
'numpy_quaddtype/src/scalar_ops.h',
36+
'numpy_quaddtype/src/scalar_ops.cpp',
37+
'numpy_quaddtype/src/ops.hpp',
38+
'numpy_quaddtype/src/umath.h',
39+
'numpy_quaddtype/src/umath.cpp',
40+
'numpy_quaddtype/src/dragon4.h',
41+
'numpy_quaddtype/src/dragon4.c'
3942
]
4043

4144
py.install_sources(
4245
[
43-
'quaddtype/__init__.py',
46+
'numpy_quaddtype/__init__.py',
4447
],
45-
subdir:'quaddtype',
48+
subdir:'numpy_quaddtype',
4649
pure:false
4750
)
4851

@@ -51,6 +54,6 @@ srcs,
5154
c_args: ['-g','-O0','-lsleef','-lsleefquad'],
5255
dependencies: [sleef_dep, sleefquad_dep],
5356
install:true,
54-
subdir:'quaddtype',
57+
subdir:'numpy_quaddtype',
5558
include_directories: includes
5659
)

‎quaddtype/numpy_quaddtype/__init__.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from ._quaddtype_mainimport (
2+
QuadPrecision,
3+
QuadPrecDType,
4+
is_longdouble_128,
5+
get_sleef_constant
6+
)
7+
8+
__all__= [
9+
'QuadPrecision','QuadPrecDType','SleefQuadPrecision','LongDoubleQuadPrecision',
10+
'SleefQuadPrecDType','LongDoubleQuadPrecDType','is_longdouble_128','pi','e',
11+
'log2e','log10e','ln2','ln10','max_value','min_value','epsilon'
12+
]
13+
14+
defSleefQuadPrecision(value):
15+
returnQuadPrecision(value,backend='sleef')
16+
17+
defLongDoubleQuadPrecision(value):
18+
returnQuadPrecision(value,backend='longdouble')
19+
20+
defSleefQuadPrecDType():
21+
returnQuadPrecDType(backend='sleef')
22+
23+
defLongDoubleQuadPrecDType():
24+
returnQuadPrecDType(backend='longdouble')
25+
26+
pi=get_sleef_constant("pi")
27+
e=get_sleef_constant("e")
28+
log2e=get_sleef_constant("log2e")
29+
log10e=get_sleef_constant("log10e")
30+
ln2=get_sleef_constant("ln2")
31+
ln10=get_sleef_constant("ln10")
32+
max_value=get_sleef_constant("quad_max")
33+
min_value=get_sleef_constant("quad_min")
34+
epsilon=get_sleef_constant("epsilon")

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp