@parameterized.named_parameters(jtu.cases_from_list(({'testcase_name': '_dtype={}_m={}_n={}_k={}'.format(onp.dtype(dtype).name, m, n, k), 'm': m, 'n': n, 'k': k, 'dtype': dtype, 'rng_factory': jtu.rand_default} for dtype in default_dtypes for n in [0, 4] for m in [None, 0, 1, 3, 4] for k in list(range((- 4), 4)))))
def testTri(self, m, n, k, dtype, rng_factory):
    rng = rng_factory()
    onp_fun = (lambda : onp.tri(n, M=m, k=k, dtype=dtype))
    jnp_fun = (lambda : jnp.tri(n, M=m, k=k, dtype=dtype))
    args_maker = (lambda : [])
    self._CheckAgainstNumpy(onp_fun, jnp_fun, args_maker, check_dtypes=True)
    self._CompileAndCheck(jnp_fun, args_maker, check_dtypes=True)
@parameterized.named_parameters(jtu.cases_from_list(({'testcase_name': '_dtype={}_m={}_n={}_k={}'.format(onp.dtype(dtype).name, m, n, k), 'm': m, 'n': n, 'k': k, 'dtype': dtype, 'rng_factory': jtu.rand_default} for dtype in default_dtypes for n in [0, 4] for m in [None, 0, 1, 3, 4] for k in list(range((- 4), 4)))))
def testTri(self, m, n, k, dtype, rng_factory):
    rng = rng_factory()
    onp_fun = (lambda : onp.tri(n, M=m, k=k, dtype=dtype))
    jnp_fun = (lambda : jnp.tri(n, M=m, k=k, dtype=dtype))
    args_maker = (lambda : [])
    self._CheckAgainstNumpy(onp_fun, jnp_fun, args_maker, check_dtypes=True)
    self._CompileAndCheck(jnp_fun, args_maker, check_dtypes=True)