当前位置: 首页>>代码示例>>Python>>正文


Python pytools.match_precision函数代码示例

本文整理汇总了Python中pytools.match_precision函数的典型用法代码示例。如果您正苦于以下问题:Python match_precision函数的具体用法?Python match_precision怎么用?Python match_precision使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了match_precision函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

    def __init__(self, order, startup_stepper=None, dtype=numpy.float64, rcon=None):
        self.f_history = []

        from pytools import match_precision
        self.dtype = numpy.dtype(dtype)
        self.scalar_dtype = match_precision(
                numpy.dtype(numpy.float64), self.dtype)
        self.coefficients = numpy.asarray(make_ab_coefficients(order),
                dtype=self.scalar_dtype)

        if startup_stepper is not None:
            self.startup_stepper = startup_stepper
        else:
            from hedge.timestep.runge_kutta import LSRK4TimeStepper
            self.startup_stepper = LSRK4TimeStepper(self.dtype)

        from pytools.log import IntervalTimer, EventCounter
        timer_factory = IntervalTimer
        if rcon is not None:
            timer_factory = rcon.make_timer

        self.timer = timer_factory(
                "t_ab", "Time spent doing algebra in Adams-Bashforth")
        self.flop_counter = EventCounter(
                "n_flops_ab", "Floating point operations performed in AB")
开发者ID:allansnielsen,项目名称:hedge,代码行数:25,代码来源:ab.py

示例2: __abs__

    def __abs__(self):
        """Return a `GPUArray` of the absolute values of the elements
        of `self`.
        """

        result = self._new_like_me()

        if self.dtype == np.float32:
            fname = "fabsf"
        elif self.dtype == np.float64:
            fname = "fabs"
        else:
            fname = "abs"

        if issubclass(self.dtype.type, np.complexfloating):
            from pytools import match_precision
            out_dtype = match_precision(np.dtype(np.float64), self.dtype)
            result = self._new_like_me(out_dtype)
        else:
            out_dtype = self.dtype

        func = elementwise.get_unary_func_kernel(fname, self.dtype,
                out_dtype=out_dtype)

        func.prepared_async_call(self._grid, self._block, None,
                self.gpudata, result.gpudata, self.mem_size)

        return result
开发者ID:Benli11,项目名称:pycuda,代码行数:28,代码来源:gpuarray.py

示例3: squared_norm

def squared_norm(self):
    a = self.data
    dtype_out = match_precision(np.dtype("float64"), a.dtype)
    out = a._new_like_me(dtype=dtype_out)
    krnl = get_norm_kernel(a.dtype, dtype_out)
    krnl(a, out)
    return out
开发者ID:lppekows,项目名称:pycbc,代码行数:7,代码来源:array_cuda.py

示例4: simple_result_dtype_getter

def simple_result_dtype_getter(vector_dtype_map, scalar_dtype_map, const_dtypes):
    from pytools import common_dtype, match_precision

    result = common_dtype(vector_dtype_map.values())

    scalar_dtypes = scalar_dtype_map.values() + const_dtypes
    if scalar_dtypes:
        prec_matched_scalar_dtype = match_precision(
                common_dtype(scalar_dtypes),
                dtype_to_match=result)
        result = common_dtype([result, prec_matched_scalar_dtype])

    return result
开发者ID:haowu80s,项目名称:hedge,代码行数:13,代码来源:vector_expr.py

示例5: real

    def real(self):
        dtype = self.dtype
        if issubclass(dtype.type, np.complexfloating):
            from pytools import match_precision

            real_dtype = match_precision(np.dtype(np.float64), dtype)

            result = self._new_like_me(dtype=real_dtype)

            func = elementwise.get_real_kernel(dtype, real_dtype)
            func.prepared_async_call(self._grid, self._block, None, self.gpudata, result.gpudata, self.mem_size)

            return result
        else:
            return self
开发者ID:abergeron,项目名称:pycuda,代码行数:15,代码来源:gpuarray.py

示例6: bind

    def bind(self, discr):
        compiled = discr.compile(self.op_template())

        from pytools import match_precision
        scalar_type = match_precision(
                numpy.dtype(numpy.float64),
                discr.default_scalar_type).type

        kappa = scalar_type(self.kappa)
        eps0 = scalar_type(self.eps0)
        s_0 = scalar_type(self.s_0)

        def apply(u):
            return compiled(u=u, kappa=kappa, eps0=eps0, s_0=s_0)

        return apply
开发者ID:allansnielsen,项目名称:hedge,代码行数:16,代码来源:bad_cell.py

示例7: imag

    def imag(self):
        dtype = self.dtype
        if issubclass(self.dtype.type, numpy.complexfloating):
            from pytools import match_precision
            real_dtype = match_precision(numpy.dtype(numpy.float64), dtype)

            result = self._new_like_me(dtype=real_dtype)

            func = elementwise.get_imag_kernel(dtype, real_dtype)
            func.set_block_shape(*self._block)
            func.prepared_async_call(self._grid, None,
                    self.gpudata, result.gpudata,
                    self.mem_size)

            return result
        else:
            return zeros_like(self)
开发者ID:minrk,项目名称:PyCUDA,代码行数:17,代码来源:gpuarray.py

示例8: imag

    def imag(self):
        dtype = self.dtype
        if issubclass(self.dtype.type, np.complexfloating):
            if not self.flags.forc:
                raise RuntimeError("only contiguous arrays may " "be used as arguments to this operation")

            from pytools import match_precision

            real_dtype = match_precision(np.dtype(np.float64), dtype)

            result = self._new_like_me(dtype=real_dtype)

            func = elementwise.get_imag_kernel(dtype, real_dtype)
            func.prepared_async_call(self._grid, self._block, None, self.gpudata, result.gpudata, self.mem_size)

            return result
        else:
            return zeros_like(self)
开发者ID:abergeron,项目名称:pycuda,代码行数:18,代码来源:gpuarray.py

示例9: test_complex_bits

    def test_complex_bits(self):
        from pycuda.curandom import rand as curand

        if has_double_support():
            dtypes = [np.complex64, np.complex128]
        else:
            dtypes = [np.complex64]

        n = 20
        for tp in dtypes:
            dtype = np.dtype(tp)
            from pytools import match_precision
            real_dtype = match_precision(np.dtype(np.float64), dtype)

            z = (curand((n,), real_dtype).astype(dtype)
                    + 1j*curand((n,), real_dtype).astype(dtype))

            assert la.norm(z.get().real - z.real.get()) == 0
            assert la.norm(z.get().imag - z.imag.get()) == 0
            assert la.norm(z.get().conj() - z.conj().get()) == 0
开发者ID:rutsky,项目名称:pycuda,代码行数:20,代码来源:test_gpuarray.py

示例10: __init__

    def __init__(self, use_high_order=True, dtype=numpy.float64, rcon=None,
            vector_primitive_factory=None, atol=0, rtol=0,
            max_dt_growth=5, min_dt_shrinkage=0.1,
            limiter=None):
        if vector_primitive_factory is None:
            from hedge.vector_primitives import VectorPrimitiveFactory
            self.vector_primitive_factory = VectorPrimitiveFactory()
        else:
            self.vector_primitive_factory = vector_primitive_factory

        from pytools.log import IntervalTimer, EventCounter
        timer_factory = IntervalTimer
        if rcon is not None:
            timer_factory = rcon.make_timer

        if limiter is None:
            self.limiter = lambda x: x
        else:
            self.limiter = limiter

        self.timer = timer_factory(
                "t_rk", "Time spent doing algebra in Runge-Kutta")
        self.flop_counter = EventCounter(
                "n_flops_rk", "Floating point operations performed in Runge-Kutta")

        self.use_high_order = use_high_order

        self.dtype = numpy.dtype(dtype)

        self.adaptive = bool(atol or rtol)
        self.atol = atol
        self.rtol = rtol

        from pytools import match_precision
        self.scalar_dtype = match_precision(
                numpy.dtype(numpy.float64), self.dtype)

        self.max_dt_growth = max_dt_growth
        self.min_dt_shrinkage = min_dt_shrinkage

        self.linear_combiner_cache = {}
开发者ID:felipeh,项目名称:hedge,代码行数:41,代码来源:runge_kutta.py

示例11: test_complex_bits

    def test_complex_bits(self):
        from pycuda.curandom import rand as curand

        if has_double_support():
            dtypes = [np.complex64, np.complex128]
        else:
            dtypes = [np.complex64]

        n = 20
        for tp in dtypes:
            dtype = np.dtype(tp)
            from pytools import match_precision
            real_dtype = match_precision(np.dtype(np.float64), dtype)

            z = (curand((n,), real_dtype).astype(dtype)
                    + 1j*curand((n,), real_dtype).astype(dtype))

            assert la.norm(z.get().real - z.real.get()) == 0
            assert la.norm(z.get().imag - z.imag.get()) == 0
            assert la.norm(z.get().conj() - z.conj().get()) == 0

            # verify contiguity is preserved
            for order in ["C", "F"]:
                # test both zero and non-zero value code paths
                z_real = gpuarray.zeros(z.shape, dtype=real_dtype,
                                        order=order)
                z2 = z.reshape(z.shape, order=order)
                for zdata in [z_real, z2]:
                    if order == "C":
                        assert zdata.flags.c_contiguous == True
                        assert zdata.real.flags.c_contiguous == True
                        assert zdata.imag.flags.c_contiguous == True
                        assert zdata.conj().flags.c_contiguous == True
                    elif order == "F":
                        assert zdata.flags.f_contiguous == True
                        assert zdata.real.flags.f_contiguous == True
                        assert zdata.imag.flags.f_contiguous == True
                        assert zdata.conj().flags.f_contiguous == True
开发者ID:grlee77,项目名称:pycuda,代码行数:38,代码来源:test_gpuarray.py

示例12: squared_norm

def squared_norm(self):
    dtype_out = match_precision(np.dtype('float64'), self.dtype)
    out = self.data._new_like_me(dtype=dtype_out)
    krnl = get_norm_kernel(self.dtype, dtype_out)
    krnl(self.data, out)
    return out 
开发者ID:AbhayMK,项目名称:pycbc,代码行数:6,代码来源:array_opencl.py


注:本文中的pytools.match_precision函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。