field.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:fluxion 作者: fluxion 项目源码 文件源码
def __init__(self, name, *dimensions, data=None, kind=None):
        super(Field, self).__init__(name)
        self.__name = name
        self.dimensions = dimensions

        if kind is None:
            if data is None:
                self.kind = COMPLEX
            elif isinstance(data, (numpy.ndarray, numpy.number)):
                self.kind = DTYPE_KINDS[data.dtype.kind]
            elif isinstance(data, SCALAR_TYPES):
                self.kind = SCALAR_KINDS[type(data)]
        else:
            assert kind in (REAL, COMPLEX)
            self.kind = kind

        dtype = DEFAULT_DTYPES[self.kind]
        shape = tuple(d.grid.size for d in dimensions)

        if data is None:
            self.data = numpy.empty(shape, dtype)
        elif isinstance(data, SCALAR_TYPES):
            self.data = numpy.ones(shape, dtype) * numpy.array(data).astype(dtype)
        elif isinstance(data, numpy.ndarray):
            assert data.shape == shape
            assert numpy.can_cast(data.dtype, dtype)
            self.data = data.astype(dtype)
        else:
            raise ValueError
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号