return TraceVariableDT(rhs.time_pts, lhs - rhs.data_pts)

    @classmethod
    def do_mul(cls, lhs, rhs):
        assert type(rhs) == TraceVariableDT and type(lhs) == units.Quantity
        return TraceVariableDT(rhs.time_pts, lhs * rhs.data_pts)

    @classmethod
    def do_div(cls, lhs, rhs):
        assert type(rhs) == TraceVariableDT and type(lhs) == units.Quantity
        return TraceVariableDT(rhs.time_pts, lhs / rhs.data_pts)


TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__add__,
        lhs_type=TraceVariableDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceVariableDT_Quantity.do_add,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__sub__,
        lhs_type=TraceVariableDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceVariableDT_Quantity.do_sub,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__mul__,
        lhs_type=TraceVariableDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceVariableDT_Quantity.do_mul,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__div__,
        lhs_type=TraceVariableDT, rhs_type=units.Quantity,
Ejemplo n.º 2
0
 def __pow__(self, rhs):
     from morphforge.traces.traceobjpluginctrl import TraceOperatorCtrl
     return TraceOperatorCtrl.operate(operator.__pow__, lhs=self, rhs=rhs)
Ejemplo n.º 3
0
        return TraceVariableDT(rhs.time_pts, lhs - rhs.data_pts)

    @classmethod
    def do_mul(cls, lhs, rhs):
        assert type(rhs) == TraceVariableDT and type(lhs) == pq.Quantity
        return TraceVariableDT(rhs.time_pts, lhs * rhs.data_pts)

    @classmethod
    def do_div(cls, lhs, rhs):
        assert type(rhs) == TraceVariableDT and type(lhs) == pq.Quantity
        return TraceVariableDT(rhs.time_pts, lhs / rhs.data_pts)


TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__add__,
    lhs_type=TraceVariableDT,
    rhs_type=pq.Quantity,
    operator_func=TraceOperator_TraceVariableDT_Quantity.do_add,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__sub__,
    lhs_type=TraceVariableDT,
    rhs_type=pq.Quantity,
    operator_func=TraceOperator_TraceVariableDT_Quantity.do_sub,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__mul__,
    lhs_type=TraceVariableDT,
    rhs_type=pq.Quantity,
    operator_func=TraceOperator_TraceVariableDT_Quantity.do_mul,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
Ejemplo n.º 4
0
        return TraceFixedDT(rhs.time_pts, lhs - rhs.data_pts)

    @classmethod
    def do_mul(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == units.Quantity
        return TraceFixedDT(rhs.time_pts, lhs * rhs.data_pts)

    @classmethod
    def do_div(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == units.Quantity
        return TraceFixedDT(rhs.time_pts, lhs / rhs.data_pts)


TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__add__,
        lhs_type=TraceFixedDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceFixedDT_Quantity.do_add,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__sub__,
        lhs_type=TraceFixedDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceFixedDT_Quantity.do_sub,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__mul__,
        lhs_type=TraceFixedDT, rhs_type=units.Quantity,
        operator_func=TraceOperator_TraceFixedDT_Quantity.do_mul,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__div__,
        lhs_type=TraceFixedDT, rhs_type=units.Quantity,
Ejemplo n.º 5
0
        return TraceFixedDT(
            time_axis,
            lhs.get_values(time_axis) * rhs.get_values(time_axis))

    @classmethod
    def do_div(cls, lhs, rhs):
        time_axis = cls.get_new_time_axis(lhs, rhs)
        return TraceFixedDT(
            time_axis,
            lhs.get_values(time_axis) / rhs.get_values(time_axis))


# FixedDT (+-*/) FixedDT
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__add__,
    lhs_type=TraceFixedDT,
    rhs_type=TraceFixedDT,
    operator_func=TraceOperator_TraceFixedDT_TraceFixedDT.do_add,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__sub__,
    lhs_type=TraceFixedDT,
    rhs_type=TraceFixedDT,
    operator_func=TraceOperator_TraceFixedDT_TraceFixedDT.do_sub,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__mul__,
    lhs_type=TraceFixedDT,
    rhs_type=TraceFixedDT,
    operator_func=TraceOperator_TraceFixedDT_TraceFixedDT.do_mul,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
Ejemplo n.º 6
0
    def do_add(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__add__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_sub(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__sub__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_mul(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__mul__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_div(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__div__, rhs_scalar=rhs) for piece in lhs.pieces] )        


TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__add__,
        lhs_type=TracePiecewise, rhs_type=units.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_add,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__sub__,
        lhs_type=TracePiecewise, rhs_type=units.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_sub,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__mul__,
        lhs_type=TracePiecewise, rhs_type=units.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_mul,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__div__,
        lhs_type=TracePiecewise, rhs_type=units.Quantity,
Ejemplo n.º 7
0
    def do_add(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__add__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_sub(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__sub__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_mul(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__mul__, rhs_scalar=rhs) for piece in lhs.pieces] )
    @classmethod
    def do_div(cls, lhs, rhs):        
        return TracePiecewise( [PiecewiseOperationLHS.visit(lhs_piece=piece, operator_type=operator.__div__, rhs_scalar=rhs) for piece in lhs.pieces] )        


TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__add__,
        lhs_type=TracePiecewise, rhs_type=pq.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_add,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__sub__,
        lhs_type=TracePiecewise, rhs_type=pq.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_sub,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__mul__,
        lhs_type=TracePiecewise, rhs_type=pq.Quantity,
        operator_func=TraceOperator_TracePiecewise_Quantity.do_mul,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__div__,
        lhs_type=TracePiecewise, rhs_type=pq.Quantity,
Ejemplo n.º 8
0
 def __pow__(self, rhs):
     from morphforge.traces.traceobjpluginctrl import TraceOperatorCtrl
     return TraceOperatorCtrl.operate(operator.__pow__, lhs=self, rhs=rhs)
Ejemplo n.º 9
0
    @classmethod
    def do_mul(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == float
        return TraceFixedDT(rhs.time_pts, lhs * rhs.data_pts)

    @classmethod
    def do_div(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == float
        return TraceFixedDT(rhs.time_pts, lhs / rhs.data_pts)




TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__add__,
        lhs_type=TraceFixedDT, rhs_type=float,
        operator_func=TraceOperator_TraceFixedDT_Scalar.do_add,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__sub__,
        lhs_type=TraceFixedDT, rhs_type=float,
        operator_func=TraceOperator_TraceFixedDT_Scalar.do_sub,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__mul__,
        lhs_type=TraceFixedDT, rhs_type=float,
        operator_func=TraceOperator_TraceFixedDT_Scalar.do_mul,
        flag='default')
TraceOperatorCtrl.add_trace_operator(
        operator_type=operator.__div__,
        lhs_type=TraceFixedDT, rhs_type=float,
Ejemplo n.º 10
0
        return TraceFixedDT(rhs.time_pts, lhs - rhs.data_pts)

    @classmethod
    def do_mul(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == float
        return TraceFixedDT(rhs.time_pts, lhs * rhs.data_pts)

    @classmethod
    def do_div(cls, lhs, rhs):
        assert type(rhs) == TraceFixedDT and type(lhs) == float
        return TraceFixedDT(rhs.time_pts, lhs / rhs.data_pts)


TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__add__,
    lhs_type=TraceFixedDT,
    rhs_type=float,
    operator_func=TraceOperator_TraceFixedDT_Scalar.do_add,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__sub__,
    lhs_type=TraceFixedDT,
    rhs_type=float,
    operator_func=TraceOperator_TraceFixedDT_Scalar.do_sub,
    flag='default')
TraceOperatorCtrl.add_trace_operator(
    operator_type=operator.__mul__,
    lhs_type=TraceFixedDT,
    rhs_type=float,
    operator_func=TraceOperator_TraceFixedDT_Scalar.do_mul,
    flag='default')
TraceOperatorCtrl.add_trace_operator(