123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- import sys
- import datetime as dt
- import pytest
- import numpy as np
- # Construction
- class D:
- def __index__(self) -> int:
- return 0
- class C:
- def __complex__(self) -> complex:
- return 3j
- class B:
- def __int__(self) -> int:
- return 4
- class A:
- def __float__(self) -> float:
- return 4.0
- np.complex64(3j)
- np.complex64(A())
- np.complex64(C())
- np.complex128(3j)
- np.complex128(C())
- np.complex128(None)
- np.complex64("1.2")
- np.complex128(b"2j")
- np.int8(4)
- np.int16(3.4)
- np.int32(4)
- np.int64(-1)
- np.uint8(B())
- np.uint32()
- np.int32("1")
- np.int64(b"2")
- np.float16(A())
- np.float32(16)
- np.float64(3.0)
- np.float64(None)
- np.float32("1")
- np.float16(b"2.5")
- if sys.version_info >= (3, 8):
- np.uint64(D())
- np.float32(D())
- np.complex64(D())
- np.bytes_(b"hello")
- np.bytes_("hello", 'utf-8')
- np.bytes_("hello", encoding='utf-8')
- np.str_("hello")
- np.str_(b"hello", 'utf-8')
- np.str_(b"hello", encoding='utf-8')
- # Array-ish semantics
- np.int8().real
- np.int16().imag
- np.int32().data
- np.int64().flags
- np.uint8().itemsize * 2
- np.uint16().ndim + 1
- np.uint32().strides
- np.uint64().shape
- # Time structures
- np.datetime64()
- np.datetime64(0, "D")
- np.datetime64(0, b"D")
- np.datetime64(0, ('ms', 3))
- np.datetime64("2019")
- np.datetime64(b"2019")
- np.datetime64("2019", "D")
- np.datetime64(np.datetime64())
- np.datetime64(dt.datetime(2000, 5, 3))
- np.datetime64(None)
- np.datetime64(dt.date(2000, 5, 3))
- np.datetime64(None, "D")
- np.timedelta64()
- np.timedelta64(0)
- np.timedelta64(0, "D")
- np.timedelta64(0, ('ms', 3))
- np.timedelta64(0, b"D")
- np.timedelta64("3")
- np.timedelta64(b"5")
- np.timedelta64(np.timedelta64(2))
- np.timedelta64(dt.timedelta(2))
- np.timedelta64(None)
- np.timedelta64(None, "D")
- np.void(1)
- np.void(np.int64(1))
- np.void(True)
- np.void(np.bool_(True))
- np.void(b"test")
- np.void(np.bytes_("test"))
- # Protocols
- i8 = np.int64()
- u8 = np.uint64()
- f8 = np.float64()
- c16 = np.complex128()
- b_ = np.bool_()
- td = np.timedelta64()
- U = np.str_("1")
- S = np.bytes_("1")
- AR = np.array(1, dtype=np.float64)
- int(i8)
- int(u8)
- int(f8)
- int(b_)
- int(td)
- int(U)
- int(S)
- int(AR)
- with pytest.warns(np.ComplexWarning):
- int(c16)
- float(i8)
- float(u8)
- float(f8)
- float(b_)
- float(td)
- float(U)
- float(S)
- float(AR)
- with pytest.warns(np.ComplexWarning):
- float(c16)
- complex(i8)
- complex(u8)
- complex(f8)
- complex(c16)
- complex(b_)
- complex(td)
- complex(U)
- complex(AR)
- # Misc
- c16.dtype
- c16.real
- c16.imag
- c16.real.real
- c16.real.imag
- c16.ndim
- c16.size
- c16.itemsize
- c16.shape
- c16.strides
- c16.squeeze()
- c16.byteswap()
- c16.transpose()
|