Exemple #1
0
class Computation(Node, SymbolTableTrait):
    name: Str
    connectivities: List[Connectivity]
    params: List[Union[UField, SparseField]]
    declarations: Optional[List[Union[TemporaryField, TemporarySparseField]]]
    stencils: List[Stencil]

    _validate_symbol_refs = stable_gtc_common.validate_symbol_refs()
Exemple #2
0
class Computation(Node, SymbolTableTrait):
    name: Str
    connectivities: List[Connectivity]
    parameters: List[Union[UField, SparseField]]
    temporaries: List[Union[Temporary, TemporarySparseField]]
    kernels: List[Kernel]
    ctrlflow_ast: List[KernelCall]

    _validate_symbol_refs = stable_gtc_common.validate_symbol_refs()
Exemple #3
0
class Stencil(LocNode, SymbolTableTrait):
    name: Str
    # TODO: fix to be List[Union[ScalarDecl, FieldDecl]]
    params: List[Decl]
    vertical_loops: List[VerticalLoop]
    declarations: List[Temporary]

    _validate_dtype_is_set = common.validate_dtype_is_set()
    _validate_symbol_refs = common.validate_symbol_refs()
Exemple #4
0
class Program(LocNode, SymbolTableTrait):
    name: Str
    parameters: List[
        ApiParamDecl]  # in the current implementation these symbols can be accessed by the functor body
    functors: List[GTFunctor]
    gt_computation: GTComputationCall  # here could be the CtrlFlow region

    _validate_dtype_is_set = common.validate_dtype_is_set()
    _validate_symbol_refs = common.validate_symbol_refs()
Exemple #5
0
class Stencil(LocNode, SymbolTableTrait):
    name: Str
    # TODO(havogt) deal with gtscript externals
    params: List[Decl]
    vertical_loops: List[VerticalLoop]

    @property
    def param_names(self) -> List:
        return [p.name for p in self.params]

    _validate_symbol_refs = common.validate_symbol_refs()
Exemple #6
0
class Stencil(LocNode, SymbolTableTrait):
    name: Str
    api_signature: List[Argument]
    params: List[Decl]
    vertical_loops: List[VerticalLoop]
    externals: Dict[str, Literal]
    sources: Optional[Dict[str, str]]
    docstring: Optional[Str]

    @property
    def param_names(self) -> List[str]:
        return [p.name for p in self.params]

    _validate_symbol_refs = common.validate_symbol_refs()
    _validate_lvalue_dims = common.validate_lvalue_dims(
        VerticalLoop, FieldDecl)
Exemple #7
0
class SymbolTableRootNode(eve.Node, eve.SymbolTableTrait):
    nodes: List[Union[SymbolRefChildNode, SymbolChildNode, AnotherSymbolTable]]

    _validate_symbol_refs = common.validate_symbol_refs()