[wpiunits] Make Velocity.mult(Time) return Measure<D> (#7162)

Update code generator to allow arbitrary implementations of multiplication methods.
This commit is contained in:
Sam Carlberg
2024-10-04 01:19:36 -04:00
committed by GitHub
parent bc6553cd2b
commit 9a7710ebd3
4 changed files with 55 additions and 4 deletions

View File

@@ -80,10 +80,14 @@ public interface {{ helpers['type_decl'](name) }} extends Measure<{{ helpers['mt
}
{% else %}
{% if unit in config[name]['multiply'] %}
{%- if 'implementation' in config[name]['multiply'][unit] -%}
{{ helpers['indent'](config[name]['multiply'][unit]['implementation'], 2) }}
{%- else %}
@Override
default {{ config[name]['multiply'][unit] }} times({{ unit }} multiplier) {
return {{ config[config[name]['multiply'][unit]]['base_unit'] }}.of(baseUnitMagnitude() * multiplier.baseUnitMagnitude());
}
{%- endif %}
{% else %}
@Override
default Mult<{{ helpers['mtou'](name) }}, {{ helpers['mtou'](unit) }}> times({{ unit }} multiplier) {