123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- from numpy.testing import assert_raises
- import numpy as np
- from .. import all
- from .._creation_functions import (
- asarray,
- arange,
- empty,
- empty_like,
- eye,
- full,
- full_like,
- linspace,
- meshgrid,
- ones,
- ones_like,
- zeros,
- zeros_like,
- )
- from .._dtypes import float32, float64
- from .._array_object import Array
- def test_asarray_errors():
- # Test various protections against incorrect usage
- assert_raises(TypeError, lambda: Array([1]))
- assert_raises(TypeError, lambda: asarray(["a"]))
- assert_raises(ValueError, lambda: asarray([1.0], dtype=np.float16))
- assert_raises(OverflowError, lambda: asarray(2**100))
- # Preferably this would be OverflowError
- # assert_raises(OverflowError, lambda: asarray([2**100]))
- assert_raises(TypeError, lambda: asarray([2**100]))
- asarray([1], device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: asarray([1], device="gpu"))
- assert_raises(ValueError, lambda: asarray([1], dtype=int))
- assert_raises(ValueError, lambda: asarray([1], dtype="i"))
- def test_asarray_copy():
- a = asarray([1])
- b = asarray(a, copy=True)
- a[0] = 0
- assert all(b[0] == 1)
- assert all(a[0] == 0)
- a = asarray([1])
- b = asarray(a, copy=np._CopyMode.ALWAYS)
- a[0] = 0
- assert all(b[0] == 1)
- assert all(a[0] == 0)
- a = asarray([1])
- b = asarray(a, copy=np._CopyMode.NEVER)
- a[0] = 0
- assert all(b[0] == 0)
- assert_raises(NotImplementedError, lambda: asarray(a, copy=False))
- assert_raises(NotImplementedError,
- lambda: asarray(a, copy=np._CopyMode.IF_NEEDED))
- def test_arange_errors():
- arange(1, device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: arange(1, device="gpu"))
- assert_raises(ValueError, lambda: arange(1, dtype=int))
- assert_raises(ValueError, lambda: arange(1, dtype="i"))
- def test_empty_errors():
- empty((1,), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: empty((1,), device="gpu"))
- assert_raises(ValueError, lambda: empty((1,), dtype=int))
- assert_raises(ValueError, lambda: empty((1,), dtype="i"))
- def test_empty_like_errors():
- empty_like(asarray(1), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: empty_like(asarray(1), device="gpu"))
- assert_raises(ValueError, lambda: empty_like(asarray(1), dtype=int))
- assert_raises(ValueError, lambda: empty_like(asarray(1), dtype="i"))
- def test_eye_errors():
- eye(1, device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: eye(1, device="gpu"))
- assert_raises(ValueError, lambda: eye(1, dtype=int))
- assert_raises(ValueError, lambda: eye(1, dtype="i"))
- def test_full_errors():
- full((1,), 0, device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: full((1,), 0, device="gpu"))
- assert_raises(ValueError, lambda: full((1,), 0, dtype=int))
- assert_raises(ValueError, lambda: full((1,), 0, dtype="i"))
- def test_full_like_errors():
- full_like(asarray(1), 0, device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: full_like(asarray(1), 0, device="gpu"))
- assert_raises(ValueError, lambda: full_like(asarray(1), 0, dtype=int))
- assert_raises(ValueError, lambda: full_like(asarray(1), 0, dtype="i"))
- def test_linspace_errors():
- linspace(0, 1, 10, device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: linspace(0, 1, 10, device="gpu"))
- assert_raises(ValueError, lambda: linspace(0, 1, 10, dtype=float))
- assert_raises(ValueError, lambda: linspace(0, 1, 10, dtype="f"))
- def test_ones_errors():
- ones((1,), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: ones((1,), device="gpu"))
- assert_raises(ValueError, lambda: ones((1,), dtype=int))
- assert_raises(ValueError, lambda: ones((1,), dtype="i"))
- def test_ones_like_errors():
- ones_like(asarray(1), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: ones_like(asarray(1), device="gpu"))
- assert_raises(ValueError, lambda: ones_like(asarray(1), dtype=int))
- assert_raises(ValueError, lambda: ones_like(asarray(1), dtype="i"))
- def test_zeros_errors():
- zeros((1,), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: zeros((1,), device="gpu"))
- assert_raises(ValueError, lambda: zeros((1,), dtype=int))
- assert_raises(ValueError, lambda: zeros((1,), dtype="i"))
- def test_zeros_like_errors():
- zeros_like(asarray(1), device="cpu") # Doesn't error
- assert_raises(ValueError, lambda: zeros_like(asarray(1), device="gpu"))
- assert_raises(ValueError, lambda: zeros_like(asarray(1), dtype=int))
- assert_raises(ValueError, lambda: zeros_like(asarray(1), dtype="i"))
- def test_meshgrid_dtype_errors():
- # Doesn't raise
- meshgrid()
- meshgrid(asarray([1.], dtype=float32))
- meshgrid(asarray([1.], dtype=float32), asarray([1.], dtype=float32))
- assert_raises(ValueError, lambda: meshgrid(asarray([1.], dtype=float32), asarray([1.], dtype=float64)))
|