ai-content-maker/.venv/Lib/site-packages/numba/cuda/tests/cudapy/test_mandel.py

38 lines
1.1 KiB
Python
Raw Permalink Normal View History

2024-05-03 04:18:51 +03:00
from numba import float64, uint32
from numba.cuda.compiler import compile_ptx
from numba.cuda.testing import skip_on_cudasim, unittest
@skip_on_cudasim('Compilation unsupported in the simulator')
class TestCudaMandel(unittest.TestCase):
def test_mandel(self):
"""Just make sure we can compile this
"""
def mandel(tid, min_x, max_x, min_y, max_y, width, height, iters):
pixel_size_x = (max_x - min_x) / width
pixel_size_y = (max_y - min_y) / height
x = tid % width
y = tid / width
real = min_x + x * pixel_size_x
imag = min_y + y * pixel_size_y
c = complex(real, imag)
z = 0.0j
for i in range(iters):
z = z * z + c
if (z.real * z.real + z.imag * z.imag) >= 4:
return i
return iters
args = (uint32, float64, float64, float64, float64,
uint32, uint32, uint32)
compile_ptx(mandel, args, device=True)
if __name__ == '__main__':
unittest.main()