@sh.add_function(dsp, outputs=['gear_box_speeds_in'])
def calculate_gear_box_speeds_in_v1(
gears, gear_box_speeds_out, gear_box_ratios):
"""
Calculates Gear box speed vector [RPM].
:param gears:
Gear vector [-].
:type gears: numpy.array
:param gear_box_speeds_out:
Wheel speed vector [RPM].
:type gear_box_speeds_out: numpy.array
:param gear_box_ratios:
Gear box ratios [-].
:type gear_box_ratios: dict[int, float | int]
:return:
Gear box speed vector [RPM].
:rtype: numpy.array
"""
d = {0: 0.0}
d.update(gear_box_ratios)
ratios = np.vectorize(lambda k: d[k])(gears)
return gear_box_speeds_out * ratios