(N, M=None, k=0, dtype=float, chunks="auto", *, like=None)
| 824 | |
| 825 | @derived_from(np) |
| 826 | def tri(N, M=None, k=0, dtype=float, chunks="auto", *, like=None): |
| 827 | if M is None: |
| 828 | M = N |
| 829 | |
| 830 | chunks = normalize_chunks(chunks, shape=(N, M), dtype=dtype) |
| 831 | |
| 832 | m = greater_equal( |
| 833 | arange(N, chunks=chunks[0][0], like=like).reshape(1, N).T, |
| 834 | arange(-k, M - k, chunks=chunks[1][0], like=like), |
| 835 | ) |
| 836 | |
| 837 | # Avoid making a copy if the requested type is already bool |
| 838 | m = m.astype(dtype, copy=False) |
| 839 | |
| 840 | return m |
| 841 | |
| 842 | |
| 843 | @derived_from(np) |
no test coverage detected