concepts.pdsketch.generator.Generator#

class Generator[source]#

Bases: object

A generator is function that generates a set of values from a set of given values. Semantically, it certifies that the generated values satisfy a given condition.

Methods

Attributes

argument_names

The names of the arguments of the operator.

argument_types

The types of the arguments of the operator.

input_vars

The input variables of the function.

name

The name of the generator.

arguments

The arguments of the generator.

certifies

The condition that the generated values should satisfy.

context

The context values that the generator depends on.

generates

The values that the generator generates.

function

The declaration of the underlying function that generates the values.

output_vars

The output variables of the function.

output_types

The output type of the function.

flatten_certifies

The condition that the generated values should satisfy, flattened.

implementation

The implementation of the generator.

priority

The priority of the generator.

unsolvable

Whether the generator is unsolvable.

__init__(name, arguments, certifies, context, generates, function, output_vars, flatten_certifies, implementation=None, priority=0, unsolvable=False)[source]#
Parameters:
__new__(**kwargs)#
short_str()[source]#
property argument_names: Tuple[str, ...]#

The names of the arguments of the operator.

property argument_types: Tuple[ObjectType | ValueType, ...]#

The types of the arguments of the operator.

arguments: Tuple[Variable, ...]#

The arguments of the generator.

certifies: ValueOutputExpression#

The condition that the generated values should satisfy.

context: Tuple[VariableExpression | ValueOutputExpression, ...]#

The context values that the generator depends on.

flatten_certifies: ValueOutputExpression#

The condition that the generated values should satisfy, flattened.

function: Function#

The declaration of the underlying function that generates the values.

generates: Tuple[VariableExpression | ValueOutputExpression, ...]#

The values that the generator generates.

implementation: Implementation | None#

The implementation of the generator.

property input_vars: Tuple[Variable, ...]#

The input variables of the function.

name: str#

The name of the generator.

output_types: Tuple[TensorValueTypeBase | PyObjValueType, ...]#

The output type of the function.

output_vars: Tuple[Variable, ...]#

The output variables of the function.

priority: int#

The priority of the generator.

unsolvable: bool#

Whether the generator is unsolvable.