From e398b411502c3f4bbf354e5cf36b2fdc8d7bac5a Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Tue, 29 Oct 2019 09:49:04 +0100 Subject: [PATCH] Add Field.itemsize (yields Field.dtype.numpy_dtype.itemsize) --- pystencils/field.py | 4 ++++ pystencils_tests/test_field.py | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pystencils/field.py b/pystencils/field.py index 2c25dce..aa0d1d3 100644 --- a/pystencils/field.py +++ b/pystencils/field.py @@ -357,6 +357,10 @@ class Field(AbstractField): def dtype(self): return self._dtype + @property + def itemsize(self): + return self.dtype.numpy_dtype.itemsize + def __repr__(self): return self._field_name diff --git a/pystencils_tests/test_field.py b/pystencils_tests/test_field.py index d4b9c6a..49bd448 100644 --- a/pystencils_tests/test_field.py +++ b/pystencils_tests/test_field.py @@ -3,8 +3,7 @@ import pytest import sympy as sp import pystencils as ps -from pystencils.field import Field, FieldType -from pystencils.field import layout_string_to_tuple +from pystencils.field import Field, FieldType, layout_string_to_tuple def test_field_basic(): @@ -117,3 +116,14 @@ def test_string_creation(): assert x.index_shape == (4,) assert y.index_shape == (3, 5) assert z.spatial_shape == (3, 47) + + +def test_itemsize(): + + x = ps.fields('x: float32[1d]') + y = ps.fields('y: float64[2d]') + i = ps.fields('i: int16[1d]') + + assert x.itemsize == 4 + assert y.itemsize == 8 + assert i.itemsize == 2 -- GitLab