cosapp.core.ir.ops¶
Classes
|
Abstract model AST node. |
|
Causal model AST node. |
|
Compute function of a causal model AST node. |
|
Connection AST node. |
|
Function definition AST node. |
|
Function prototype AST node. |
|
Mathematical problem AST node. |
alias of |
|
|
Model topology AST node. |
|
Module AST node. |
|
NestedModel instance AST node. |
|
Base class for AST nodes. |
|
Port instance AST node. |
|
Port definition AST node. |
|
Relation AST node. |
|
Relationship AST node. |
|
Function signature AST node. |
|
Unknown AST node. |
|
Variable AST node. |
- class cosapp.core.ir.ops.AbstractModel(name: str, bases: list[~cosapp.core.ir.ops.AbstractModel] = <factory>, topology: ~cosapp.core.ir.ops.ModelTopology = <factory>, *, desc: str | None = None)[source]¶
Bases:
NodeAbstract model AST node.
- bases: list[AbstractModel]¶
- name: str¶
- topology: ModelTopology¶
- class cosapp.core.ir.ops.CausalModel(name: str, bases: list[~cosapp.core.ir.ops.AbstractModel] = <factory>, topology: ~cosapp.core.ir.ops.ModelTopology = <factory>, *, desc: str | None = None, compute: ~cosapp.core.ir.ops.ComputeFunction = <factory>, exec_order: list[str] = <factory>)[source]¶
Bases:
AbstractModelCausal model AST node.
- compute: ComputeFunction¶
- exec_order: list[str]¶
- class cosapp.core.ir.ops.ComputeFunction(*, desc: str | None = None, local_names: list[str] = <factory>, global_names: list[str] = <factory>, globals: dict[str, ~typing.Any] = <factory>, body: list[~ast.stmt] = <factory>)[source]¶
Bases:
NodeCompute function of a causal model AST node.
- body: list[stmt]¶
- global_names: list[str]¶
- globals: dict[str, Any]¶
- local_names: list[str]¶
- class cosapp.core.ir.ops.Connection(*, desc: str | None = None, source: str, sink: str, mapping: dict[str, str] | None = None)[source]¶
Bases:
NodeConnection AST node.
- mapping: dict[str, str] | None = None¶
- sink: str¶
- source: str¶
- class cosapp.core.ir.ops.FunctionDef(name: str, variables: list[~cosapp.core.ir.ops.Variable] = <factory>, body: list[~ast.stmt] = <factory>, *, desc: str | None = None, signature: ~cosapp.core.ir.ops.Signature, long_desc: str | None = None)[source]¶
Bases:
FunctionPrototypeFunction definition AST node.
- body: list[stmt]¶
- class cosapp.core.ir.ops.FunctionPrototype(name: str, *, desc: str | None = None, signature: Signature, long_desc: str | None = None)[source]¶
Bases:
NodeFunction prototype AST node.
- long_desc: str | None = None¶
- name: str¶
- class cosapp.core.ir.ops.MathematicalProblem(*, desc: str | None = None, constraints: list[~cosapp.core.ir.ops.Relation] = <factory>, unknowns: list[~cosapp.core.ir.ops.Unknown] = <factory>)[source]¶
Bases:
NodeMathematical problem AST node.
- cosapp.core.ir.ops.Model¶
alias of
CausalModel
- class cosapp.core.ir.ops.ModelTopology(children: dict[str, ~cosapp.core.ir.ops.NestedModel] = <factory>, connections: list[~cosapp.core.ir.ops.Connection] = <factory>, inputs: list[~cosapp.core.ir.ops.Port | ~cosapp.core.ir.ops.Variable] = <factory>, outputs: list[~cosapp.core.ir.ops.Port | ~cosapp.core.ir.ops.Variable] = <factory>, mathematical_problem: ~cosapp.core.ir.ops.MathematicalProblem = <factory>, relationships: list[~cosapp.core.ir.ops.Relationship] = <factory>, *, desc: str | None = None)[source]¶
Bases:
NodeModel topology AST node.
- children: dict[str, NestedModel]¶
- connections: list[Connection]¶
- mathematical_problem: MathematicalProblem¶
- relationships: list[Relationship]¶
- class cosapp.core.ir.ops.Module(*, desc: str | None = None, body: list[~cosapp.core.ir.ops.CausalModel | ~ast.stmt] = <factory>)[source]¶
Bases:
NodeModule AST node.
- body: list[CausalModel | stmt]¶
- class cosapp.core.ir.ops.NestedModel(name: str, *, desc: str | None = None, ty: ~cosapp.core.ir.ops.AbstractModel, pullings: dict[str, str] = <factory>)[source]¶
Bases:
NodeNestedModel instance AST node.
- name: str¶
- pullings: dict[str, str]¶
- ty: AbstractModel¶
- class cosapp.core.ir.ops.Node(*, desc: str | None = None)[source]¶
Bases:
objectBase class for AST nodes.
- desc: str | None = None¶
- class cosapp.core.ir.ops.Port(name: str, *, desc: str | None = None, ty: PortDef)[source]¶
Bases:
NodePort instance AST node.
- name: str¶
- class cosapp.core.ir.ops.PortDef(name: str, *, desc: str | None = None, variables: list[~cosapp.core.ir.ops.Variable] = <factory>)[source]¶
Bases:
NodePort definition AST node.
- name: str¶
- class cosapp.core.ir.ops.Relation(*, desc: str | None = None, equation: str, lhs: ~ast.expr, rhs: ~ast.expr, operator: ~ast.Eq | ~ast.Lt | ~ast.LtE | ~ast.Gt | ~ast.GtE = <class 'ast.Eq'>, is_transient: bool = False)[source]¶
Bases:
NodeRelation AST node.
- equation: str¶
- is_transient: bool = False¶
- lhs: expr¶
- operator¶
alias of
Eq
- rhs: expr¶
- class cosapp.core.ir.ops.Relationship(*, desc: str | None = None, source: str, sink: str, func: Callable)[source]¶
Bases:
NodeRelationship AST node.
- func: Callable¶
- sink: str¶
- source: str¶
- class cosapp.core.ir.ops.Signature(*, desc: str | None = None, return_type: str, args: list[~cosapp.core.ir.ops.Variable] = <factory>)[source]¶
Bases:
NodeFunction signature AST node.
- return_type: str¶
- class cosapp.core.ir.ops.Unknown(name: str, max_abs_step: ~ast.Constant | None = None, max_rel_step: ~ast.Constant | None = None, *, desc: str | None = None, dtype: type | list[type] | None = None, type_value: type | list[type] = <class 'float'>, shape: tuple[int, int] | None = None, unit: str | None = None, initial_value: ~typing.Any | None = None, min_value: ~ast.Constant | None = None, max_value: ~ast.Constant | None = None)[source]¶
Bases:
VariableUnknown AST node.
- max_abs_step: Constant | None = None¶
- max_rel_step: Constant | None = None¶
- class cosapp.core.ir.ops.Variable(name: str, *, desc: str | None = None, dtype: type | list[type] | None = None, type_value: type | list[type] = <class 'float'>, shape: tuple[int, int] | None = None, unit: str | None = None, initial_value: ~typing.Any | None = None, min_value: ~ast.Constant | None = None, max_value: ~ast.Constant | None = None)[source]¶
Bases:
NodeVariable AST node.
- dtype: type | list[type] | None = None¶
- initial_value: Any | None = None¶
- max_value: Constant | None = None¶
- min_value: Constant | None = None¶
- name: str¶
- shape: tuple[int, int] | None = None¶
- type_value¶
alias of
float
- unit: str | None = None¶