示例#1
0
    def make_temporary_field(
        self, name: str, dtype: gt_ir.DataType, extent: gt_definitions.Extent
    ) -> List[str]:
        source_lines = super().make_temporary_field(name, dtype, extent)
        source_lines.extend(self._make_field_origin(name, extent.to_boundary().lower_indices))

        return source_lines
示例#2
0
    def make_temporary_field(self, name: str, dtype: gt_ir.DataType,
                             axes: list, extent: gt_definitions.Extent):
        source_lines = super().make_temporary_field(name, dtype, axes, extent)
        source_lines.extend(
            self._make_field_accessor(name,
                                      extent.to_boundary().lower_indices))

        return source_lines
示例#3
0
    def make_temporary_field(self, name: str, data_type: gt_ir.DataType,
                             extent: gt_definitions.Extent):
        source_lines = []
        boundary = extent.to_boundary()
        shape = ", ".join("{domain}[{d}]{size}".format(
            domain=self.domain_arg_name,
            d=d,
            size=" {:+d}".format(size) if size > 0 else "")
                          for d, size in enumerate(boundary.frame_size))
        source_lines.append(
            "{name} = {np_prefix}.empty(({shape}), dtype={np_prefix}.{dtype})".
            format(name=name,
                   np_prefix=self.numpy_prefix,
                   shape=shape,
                   dtype=data_type.dtype.name))

        return source_lines