# Path: pyDEA/core/utils/dea_utils.py
# ZERO_TOLERANCE = 1e-10


from pyDEA.core.utils.dea_utils import ZERO_TOLERANCE
''' This module contains classes that implement methods common for input- and
    output-oriented models.
'''



class InputOrientedModel(object):

    ''' This class implements methods that are the same for all input-oriented
        models.
    '''
    def get_orientation(self):
        ''' Returns orientation of the model as a string.

            Returns:
                str: a string 'input'.
        '''
        return 'input'

    def process_obj_var(self, obj_value):
        ''' Post-process objective function value if necessary.

            Args:
                obj_value (double): value of the objective function.

            Returns:
                double: value of obj_variable, since efficiency score is in
                    the interval [0, 1] for input-oriented model.
        '''

# Path: pyDEA/core/utils/dea_utils.py
# ZERO_TOLERANCE = 1e-10


# Path: pyDEA/core/models/input_output_model_bases.py
from pyDEA.core.utils.dea_utils import ZERO_TOLERANCE

''' This module contains classes that implement methods common for input- and
    output-oriented models.
'''



class InputOrientedModel(object):

    ''' This class implements methods that are the same for all input-oriented
        models.
    '''
    def get_orientation(self):
        ''' Returns orientation of the model as a string.

            Returns:
                str: a string 'input'.
        '''
        return 'input'

    def process_obj_var(self, obj_value):
        ''' Post-process objective function value if necessary.

            Args:
                obj_value (double): value of the objective function.

            Returns:
                double: value of obj_variable, since efficiency score is in
                    the interval [0, 1] for input-oriented model.
        '''

        if obj_value > 1 and obj_value <= 1 + ZERO_TOLERANCE: