Source code for inferlo.base.variable

# Copyright (c) 2020, The InferLO authors. All rights reserved.
# Licensed under the Apache License, Version 2.0 - see LICENSE file.
from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from inferlo.base import Domain, GraphModel


[docs] class Variable: """Random variable."""
[docs] def __init__( self, model: GraphModel, index: int, domain: Domain): """Initializies a random variable. :param model: Model this variable belongs to. :param index: Index (position) of this variable in a model. :param domain: Domain of this variable (set of values it can take). """ self.model = model self.index = index self.domain = domain self.name = 'x_%d' % index
def __str__(self): return self.name def __repr__(self): return self.name