def test_elemwise_erfinv(self): for dtype in self.dtypes: vec = vector(dtype=dtype) output = erfinv(vec) f_host = aesara.function( [vec], output, name="HOST/erfinv/" + dtype, mode=self.mode_without_gpu, ) f_gpu = aesara.function( [vec], output, name="GPU/erfinv/" + dtype, mode=self.mode_with_gpu ) assert ( len( [ n for n in f_host.maker.fgraph.apply_nodes if isinstance(n.op, GpuElemwise) ] ) == 0 ) if not aesara.config.device.startswith("opencl"): assert self.check_gpu_scalar_op( f_gpu, GpuErfinv ), 'Function graph does not contains scalar op "GpuErfinv".' vector_val = self.default_arrays[dtype] f_host(vector_val) f_gpu(vector_val) out_host = f_host(vector_val) out_gpu = f_gpu(vector_val) assert_allclose(out_host, out_gpu) assert_allclose(self.expected_erfinv_outputs[dtype], out_gpu)
def test_erfinv(): x = scalar("x") out = erfinv(x) fg = FunctionGraph([x], [out]) compare_jax_and_py(fg, [1.0])