base
Base abstractions for binary transformations over distributions.
- class pysatl_core.transformations.operations.distributions.binary.base.BinaryDistribution(left_distribution, right_distribution, *, operation, methods, sampling_strategy=None, computation_strategy=None)[source]
Bases:
DerivedDistribution,ABCBase class for binary transformations over two parent distributions.
- Parameters:
left_distribution (Distribution)
right_distribution (Distribution)
operation (BinaryOperationName)
methods (TransformationMethodSpecsMap)
sampling_strategy (SamplingStrategy | None)
computation_strategy (ComputationStrategy | None)
- __init__(left_distribution, right_distribution, *, operation, methods, sampling_strategy=None, computation_strategy=None)[source]
- Parameters:
left_distribution (Distribution)
right_distribution (Distribution)
operation (BinaryOperationName)
methods (TransformationMethodSpecsMap)
sampling_strategy (SamplingStrategy | None)
computation_strategy (ComputationStrategy | None)
- Return type:
None
- property left_distribution: LightweightDistribution
Get the lightweight snapshot of the left parent distribution.
- property right_distribution: LightweightDistribution
Get the lightweight snapshot of the right parent distribution.
- property operation: BinaryOperationName
Get the binary operation name.
- property parent_roles: tuple[ParentRole, ...]
Return parent role sequence for binary transformation.
- property transformation_methods: TransformationMethodSpecsMap
Get transformation method specifications used to build this distribution.
- class pysatl_core.transformations.operations.distributions.binary.base.BinaryOperationName(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
StrEnumEnumeration of supported binary operations for transformed distributions.
- ADD
Sum
X + Y.
- SUB
Difference
X - Y.
- MUL
Product
X * Y.
- DIV
Ratio
X / Y.
- ADD = 'add'
- SUB = 'sub'
- MUL = 'mul'
- DIV = 'div'
- pysatl_core.transformations.operations.distributions.binary.base.binary(left_distribution, right_distribution, *, operation, methods=None)[source]
Apply a binary operation to two distributions.
- Return type:
- Parameters:
left_distribution (pysatl_core.distributions.distribution.Distribution)
right_distribution (pysatl_core.distributions.distribution.Distribution)
operation (BinaryOperationName)
methods (TransformationMethodSpecsMap | None)