@sh.add_function(dsp, outputs=['engine_speeds_parallel'])
def calculate_engine_speeds_parallel_v1(
on_engine, engine_speeds_out, gear_box_speeds_in, idle_engine_speed):
"""
Calculate hypothetical engine speed [RPM].
:param on_engine:
If the engine is on [-].
:type on_engine: numpy.array
:param engine_speeds_out:
Engine speed [RPM].
:type engine_speeds_out: numpy.array
:param gear_box_speeds_in:
Gear box speed [RPM].
:type gear_box_speeds_in: numpy.array | float
:param idle_engine_speed:
Idle engine speed and its standard deviation [RPM].
:type idle_engine_speed: (float, float)
:return:
Hypothetical engine speed in parallel mode [RPM].
:rtype: numpy.array | float
"""
s = calculate_engine_speeds_parallel(gear_box_speeds_in, idle_engine_speed)
return np.where(on_engine, engine_speeds_out, s)