001// Copyright (c) FIRST and other WPILib contributors.
002// Open Source Software; you can modify and/or share it under the terms of
003// the WPILib BSD license file in the root directory of this project.
004
005// THIS FILE WAS AUTO-GENERATED BY ./wpiunits/generate_units.py. DO NOT MODIFY
006
007package edu.wpi.first.units.measure;
008
009import static edu.wpi.first.units.Units.*;
010import edu.wpi.first.units.*;
011
012@SuppressWarnings({"unchecked", "cast", "checkstyle", "PMD"})
013public interface LinearVelocity extends Measure<LinearVelocityUnit> {
014  static  LinearVelocity ofRelativeUnits(double magnitude, LinearVelocityUnit unit) {
015    return new ImmutableLinearVelocity(magnitude, unit.toBaseUnits(magnitude), unit);
016  }
017
018  static  LinearVelocity ofBaseUnits(double baseUnitMagnitude, LinearVelocityUnit unit) {
019    return new ImmutableLinearVelocity(unit.fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, unit);
020  }
021
022  @Override
023  LinearVelocity copy();
024
025  @Override
026  default MutLinearVelocity mutableCopy() {
027    return new MutLinearVelocity(magnitude(), baseUnitMagnitude(), unit());
028  }
029
030  @Override
031  LinearVelocityUnit unit();
032
033  @Override
034  default LinearVelocityUnit baseUnit() { return (LinearVelocityUnit) unit().getBaseUnit(); }
035
036  @Override
037  default double in(LinearVelocityUnit unit) {
038    return unit.fromBaseUnits(baseUnitMagnitude());
039  }
040
041  @Override
042  default LinearVelocity unaryMinus() {
043    return (LinearVelocity) unit().ofBaseUnits(0 - baseUnitMagnitude());
044  }
045
046  /**
047  * {@inheritDoc}
048  *
049  * @deprecated use unaryMinus() instead. This was renamed for consistency with other WPILib classes like Rotation2d
050  */
051  @Override
052  @Deprecated(since = "2025", forRemoval = true)
053  @SuppressWarnings({"deprecation", "removal"})
054  default LinearVelocity negate() {
055    return (LinearVelocity) unaryMinus();
056  }
057
058  @Override
059  default LinearVelocity plus(Measure<? extends LinearVelocityUnit> other) {
060    return (LinearVelocity) unit().ofBaseUnits(baseUnitMagnitude() + other.baseUnitMagnitude());
061  }
062
063  @Override
064  default LinearVelocity minus(Measure<? extends LinearVelocityUnit> other) {
065    return (LinearVelocity) unit().ofBaseUnits(baseUnitMagnitude() - other.baseUnitMagnitude());
066  }
067
068  @Override
069  default LinearVelocity times(double multiplier) {
070    return (LinearVelocity) unit().ofBaseUnits(baseUnitMagnitude() * multiplier);
071  }
072
073  @Override
074  default LinearVelocity div(double divisor) {
075    return (LinearVelocity) unit().ofBaseUnits(baseUnitMagnitude() / divisor);
076  }
077
078  /**
079  * {@inheritDoc}
080  *
081  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
082  */
083  @Override
084  @Deprecated(since = "2025", forRemoval = true)
085  @SuppressWarnings({"deprecation", "removal"})
086  default LinearVelocity divide(double divisor) {
087    return (LinearVelocity) div(divisor);
088  }
089
090
091  @Override
092  default Mult<LinearVelocityUnit, AccelerationUnit<?>> times(Acceleration<?> multiplier) {
093    return (Mult<LinearVelocityUnit, AccelerationUnit<?>>) Measure.super.times(multiplier);
094  }
095
096  @Override
097  default Per<LinearVelocityUnit, AccelerationUnit<?>> div(Acceleration<?> divisor) {
098    return (Per<LinearVelocityUnit, AccelerationUnit<?>>) Measure.super.div(divisor);
099  }
100
101  /**
102  * {@inheritDoc}
103  *
104  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
105  */
106  @Deprecated(since = "2025", forRemoval = true)
107  @SuppressWarnings({"deprecation", "removal"})
108  @Override
109  default Per<LinearVelocityUnit, AccelerationUnit<?>> divide(Acceleration<?> divisor) {
110    return div(divisor);
111  }
112
113  @Override
114  default Per<LinearVelocityUnit, AccelerationUnit<?>> per(AccelerationUnit<?> divisorUnit) {
115    return div(divisorUnit.one());
116  }
117
118
119  @Override
120  default Mult<LinearVelocityUnit, AngleUnit> times(Angle multiplier) {
121    return (Mult<LinearVelocityUnit, AngleUnit>) Measure.super.times(multiplier);
122  }
123
124  @Override
125  default Per<LinearVelocityUnit, AngleUnit> div(Angle divisor) {
126    return (Per<LinearVelocityUnit, AngleUnit>) Measure.super.div(divisor);
127  }
128
129  /**
130  * {@inheritDoc}
131  *
132  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
133  */
134  @Deprecated(since = "2025", forRemoval = true)
135  @SuppressWarnings({"deprecation", "removal"})
136  @Override
137  default Per<LinearVelocityUnit, AngleUnit> divide(Angle divisor) {
138    return div(divisor);
139  }
140
141  @Override
142  default Per<LinearVelocityUnit, AngleUnit> per(AngleUnit divisorUnit) {
143    return div(divisorUnit.one());
144  }
145
146
147  @Override
148  default Mult<LinearVelocityUnit, AngularAccelerationUnit> times(AngularAcceleration multiplier) {
149    return (Mult<LinearVelocityUnit, AngularAccelerationUnit>) Measure.super.times(multiplier);
150  }
151
152  @Override
153  default Per<LinearVelocityUnit, AngularAccelerationUnit> div(AngularAcceleration divisor) {
154    return (Per<LinearVelocityUnit, AngularAccelerationUnit>) Measure.super.div(divisor);
155  }
156
157  /**
158  * {@inheritDoc}
159  *
160  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
161  */
162  @Deprecated(since = "2025", forRemoval = true)
163  @SuppressWarnings({"deprecation", "removal"})
164  @Override
165  default Per<LinearVelocityUnit, AngularAccelerationUnit> divide(AngularAcceleration divisor) {
166    return div(divisor);
167  }
168
169  @Override
170  default Per<LinearVelocityUnit, AngularAccelerationUnit> per(AngularAccelerationUnit divisorUnit) {
171    return div(divisorUnit.one());
172  }
173
174
175  @Override
176  default Mult<LinearVelocityUnit, AngularMomentumUnit> times(AngularMomentum multiplier) {
177    return (Mult<LinearVelocityUnit, AngularMomentumUnit>) Measure.super.times(multiplier);
178  }
179
180  @Override
181  default Per<LinearVelocityUnit, AngularMomentumUnit> div(AngularMomentum divisor) {
182    return (Per<LinearVelocityUnit, AngularMomentumUnit>) Measure.super.div(divisor);
183  }
184
185  /**
186  * {@inheritDoc}
187  *
188  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
189  */
190  @Deprecated(since = "2025", forRemoval = true)
191  @SuppressWarnings({"deprecation", "removal"})
192  @Override
193  default Per<LinearVelocityUnit, AngularMomentumUnit> divide(AngularMomentum divisor) {
194    return div(divisor);
195  }
196
197  @Override
198  default Per<LinearVelocityUnit, AngularMomentumUnit> per(AngularMomentumUnit divisorUnit) {
199    return div(divisorUnit.one());
200  }
201
202
203  @Override
204  default Mult<LinearVelocityUnit, AngularVelocityUnit> times(AngularVelocity multiplier) {
205    return (Mult<LinearVelocityUnit, AngularVelocityUnit>) Measure.super.times(multiplier);
206  }
207
208  @Override
209  default Per<LinearVelocityUnit, AngularVelocityUnit> div(AngularVelocity divisor) {
210    return (Per<LinearVelocityUnit, AngularVelocityUnit>) Measure.super.div(divisor);
211  }
212
213  /**
214  * {@inheritDoc}
215  *
216  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
217  */
218  @Deprecated(since = "2025", forRemoval = true)
219  @SuppressWarnings({"deprecation", "removal"})
220  @Override
221  default Per<LinearVelocityUnit, AngularVelocityUnit> divide(AngularVelocity divisor) {
222    return div(divisor);
223  }
224
225  @Override
226  default Per<LinearVelocityUnit, AngularVelocityUnit> per(AngularVelocityUnit divisorUnit) {
227    return div(divisorUnit.one());
228  }
229
230
231  @Override
232  default Mult<LinearVelocityUnit, CurrentUnit> times(Current multiplier) {
233    return (Mult<LinearVelocityUnit, CurrentUnit>) Measure.super.times(multiplier);
234  }
235
236  @Override
237  default Per<LinearVelocityUnit, CurrentUnit> div(Current divisor) {
238    return (Per<LinearVelocityUnit, CurrentUnit>) Measure.super.div(divisor);
239  }
240
241  /**
242  * {@inheritDoc}
243  *
244  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
245  */
246  @Deprecated(since = "2025", forRemoval = true)
247  @SuppressWarnings({"deprecation", "removal"})
248  @Override
249  default Per<LinearVelocityUnit, CurrentUnit> divide(Current divisor) {
250    return div(divisor);
251  }
252
253  @Override
254  default Per<LinearVelocityUnit, CurrentUnit> per(CurrentUnit divisorUnit) {
255    return div(divisorUnit.one());
256  }
257
258  @Override
259  default LinearVelocity div(Dimensionless divisor) {
260    return (LinearVelocity) MetersPerSecond.of(baseUnitMagnitude() / divisor.baseUnitMagnitude());
261  }
262
263  /**
264  * {@inheritDoc}
265  *
266  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
267  */
268  @Override
269  @Deprecated(since = "2025", forRemoval = true)
270  @SuppressWarnings({"deprecation", "removal"})
271  default LinearVelocity divide(Dimensionless divisor) {
272    return (LinearVelocity) div(divisor);
273  }
274
275  @Override
276  default LinearVelocity times(Dimensionless multiplier) {
277    return (LinearVelocity) MetersPerSecond.of(baseUnitMagnitude() * multiplier.baseUnitMagnitude());
278  }
279
280
281  @Override
282  default Mult<LinearVelocityUnit, DistanceUnit> times(Distance multiplier) {
283    return (Mult<LinearVelocityUnit, DistanceUnit>) Measure.super.times(multiplier);
284  }
285
286  @Override
287  default Per<LinearVelocityUnit, DistanceUnit> div(Distance divisor) {
288    return (Per<LinearVelocityUnit, DistanceUnit>) Measure.super.div(divisor);
289  }
290
291  /**
292  * {@inheritDoc}
293  *
294  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
295  */
296  @Deprecated(since = "2025", forRemoval = true)
297  @SuppressWarnings({"deprecation", "removal"})
298  @Override
299  default Per<LinearVelocityUnit, DistanceUnit> divide(Distance divisor) {
300    return div(divisor);
301  }
302
303  @Override
304  default Per<LinearVelocityUnit, DistanceUnit> per(DistanceUnit divisorUnit) {
305    return div(divisorUnit.one());
306  }
307
308
309  @Override
310  default Mult<LinearVelocityUnit, EnergyUnit> times(Energy multiplier) {
311    return (Mult<LinearVelocityUnit, EnergyUnit>) Measure.super.times(multiplier);
312  }
313
314  @Override
315  default Per<LinearVelocityUnit, EnergyUnit> div(Energy divisor) {
316    return (Per<LinearVelocityUnit, EnergyUnit>) Measure.super.div(divisor);
317  }
318
319  /**
320  * {@inheritDoc}
321  *
322  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
323  */
324  @Deprecated(since = "2025", forRemoval = true)
325  @SuppressWarnings({"deprecation", "removal"})
326  @Override
327  default Per<LinearVelocityUnit, EnergyUnit> divide(Energy divisor) {
328    return div(divisor);
329  }
330
331  @Override
332  default Per<LinearVelocityUnit, EnergyUnit> per(EnergyUnit divisorUnit) {
333    return div(divisorUnit.one());
334  }
335
336
337  @Override
338  default Mult<LinearVelocityUnit, ForceUnit> times(Force multiplier) {
339    return (Mult<LinearVelocityUnit, ForceUnit>) Measure.super.times(multiplier);
340  }
341
342  @Override
343  default Per<LinearVelocityUnit, ForceUnit> div(Force divisor) {
344    return (Per<LinearVelocityUnit, ForceUnit>) Measure.super.div(divisor);
345  }
346
347  /**
348  * {@inheritDoc}
349  *
350  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
351  */
352  @Deprecated(since = "2025", forRemoval = true)
353  @SuppressWarnings({"deprecation", "removal"})
354  @Override
355  default Per<LinearVelocityUnit, ForceUnit> divide(Force divisor) {
356    return div(divisor);
357  }
358
359  @Override
360  default Per<LinearVelocityUnit, ForceUnit> per(ForceUnit divisorUnit) {
361    return div(divisorUnit.one());
362  }
363
364
365  @Override
366  default LinearAcceleration times(Frequency multiplier) {
367    return MetersPerSecondPerSecond.of(baseUnitMagnitude() * multiplier.baseUnitMagnitude());
368  }
369
370  @Override
371  default Per<LinearVelocityUnit, FrequencyUnit> div(Frequency divisor) {
372    return (Per<LinearVelocityUnit, FrequencyUnit>) Measure.super.div(divisor);
373  }
374
375  /**
376  * {@inheritDoc}
377  *
378  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
379  */
380  @Deprecated(since = "2025", forRemoval = true)
381  @SuppressWarnings({"deprecation", "removal"})
382  @Override
383  default Per<LinearVelocityUnit, FrequencyUnit> divide(Frequency divisor) {
384    return div(divisor);
385  }
386
387  @Override
388  default Per<LinearVelocityUnit, FrequencyUnit> per(FrequencyUnit divisorUnit) {
389    return div(divisorUnit.one());
390  }
391
392
393  @Override
394  default Mult<LinearVelocityUnit, LinearAccelerationUnit> times(LinearAcceleration multiplier) {
395    return (Mult<LinearVelocityUnit, LinearAccelerationUnit>) Measure.super.times(multiplier);
396  }
397
398  @Override
399  default Per<LinearVelocityUnit, LinearAccelerationUnit> div(LinearAcceleration divisor) {
400    return (Per<LinearVelocityUnit, LinearAccelerationUnit>) Measure.super.div(divisor);
401  }
402
403  /**
404  * {@inheritDoc}
405  *
406  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
407  */
408  @Deprecated(since = "2025", forRemoval = true)
409  @SuppressWarnings({"deprecation", "removal"})
410  @Override
411  default Per<LinearVelocityUnit, LinearAccelerationUnit> divide(LinearAcceleration divisor) {
412    return div(divisor);
413  }
414
415  @Override
416  default Per<LinearVelocityUnit, LinearAccelerationUnit> per(LinearAccelerationUnit divisorUnit) {
417    return div(divisorUnit.one());
418  }
419
420
421  @Override
422  default Mult<LinearVelocityUnit, LinearMomentumUnit> times(LinearMomentum multiplier) {
423    return (Mult<LinearVelocityUnit, LinearMomentumUnit>) Measure.super.times(multiplier);
424  }
425
426  @Override
427  default Per<LinearVelocityUnit, LinearMomentumUnit> div(LinearMomentum divisor) {
428    return (Per<LinearVelocityUnit, LinearMomentumUnit>) Measure.super.div(divisor);
429  }
430
431  /**
432  * {@inheritDoc}
433  *
434  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
435  */
436  @Deprecated(since = "2025", forRemoval = true)
437  @SuppressWarnings({"deprecation", "removal"})
438  @Override
439  default Per<LinearVelocityUnit, LinearMomentumUnit> divide(LinearMomentum divisor) {
440    return div(divisor);
441  }
442
443  @Override
444  default Per<LinearVelocityUnit, LinearMomentumUnit> per(LinearMomentumUnit divisorUnit) {
445    return div(divisorUnit.one());
446  }
447
448
449  @Override
450  default Mult<LinearVelocityUnit, LinearVelocityUnit> times(LinearVelocity multiplier) {
451    return (Mult<LinearVelocityUnit, LinearVelocityUnit>) Measure.super.times(multiplier);
452  }
453
454  @Override
455  default Dimensionless div(LinearVelocity divisor) {
456    return Value.of(baseUnitMagnitude() / divisor.baseUnitMagnitude());
457  }
458
459  /**
460  * {@inheritDoc}
461  *
462  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
463  */
464  @Deprecated(since = "2025", forRemoval = true)
465  @SuppressWarnings({"deprecation", "removal"})
466  @Override
467  default Dimensionless divide(LinearVelocity divisor) {
468    return div(divisor);
469  }
470
471  @Override
472  default Dimensionless per(LinearVelocityUnit divisorUnit) {
473    return div(divisorUnit.one());
474  }
475
476
477  @Override
478  default Mult<LinearVelocityUnit, MassUnit> times(Mass multiplier) {
479    return (Mult<LinearVelocityUnit, MassUnit>) Measure.super.times(multiplier);
480  }
481
482  @Override
483  default Per<LinearVelocityUnit, MassUnit> div(Mass divisor) {
484    return (Per<LinearVelocityUnit, MassUnit>) Measure.super.div(divisor);
485  }
486
487  /**
488  * {@inheritDoc}
489  *
490  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
491  */
492  @Deprecated(since = "2025", forRemoval = true)
493  @SuppressWarnings({"deprecation", "removal"})
494  @Override
495  default Per<LinearVelocityUnit, MassUnit> divide(Mass divisor) {
496    return div(divisor);
497  }
498
499  @Override
500  default Per<LinearVelocityUnit, MassUnit> per(MassUnit divisorUnit) {
501    return div(divisorUnit.one());
502  }
503
504
505  @Override
506  default Mult<LinearVelocityUnit, MomentOfInertiaUnit> times(MomentOfInertia multiplier) {
507    return (Mult<LinearVelocityUnit, MomentOfInertiaUnit>) Measure.super.times(multiplier);
508  }
509
510  @Override
511  default Per<LinearVelocityUnit, MomentOfInertiaUnit> div(MomentOfInertia divisor) {
512    return (Per<LinearVelocityUnit, MomentOfInertiaUnit>) Measure.super.div(divisor);
513  }
514
515  /**
516  * {@inheritDoc}
517  *
518  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
519  */
520  @Deprecated(since = "2025", forRemoval = true)
521  @SuppressWarnings({"deprecation", "removal"})
522  @Override
523  default Per<LinearVelocityUnit, MomentOfInertiaUnit> divide(MomentOfInertia divisor) {
524    return div(divisor);
525  }
526
527  @Override
528  default Per<LinearVelocityUnit, MomentOfInertiaUnit> per(MomentOfInertiaUnit divisorUnit) {
529    return div(divisorUnit.one());
530  }
531
532
533  @Override
534  default Mult<LinearVelocityUnit, MultUnit<?, ?>> times(Mult<?, ?> multiplier) {
535    return (Mult<LinearVelocityUnit, MultUnit<?, ?>>) Measure.super.times(multiplier);
536  }
537
538  @Override
539  default Per<LinearVelocityUnit, MultUnit<?, ?>> div(Mult<?, ?> divisor) {
540    return (Per<LinearVelocityUnit, MultUnit<?, ?>>) Measure.super.div(divisor);
541  }
542
543  /**
544  * {@inheritDoc}
545  *
546  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
547  */
548  @Deprecated(since = "2025", forRemoval = true)
549  @SuppressWarnings({"deprecation", "removal"})
550  @Override
551  default Per<LinearVelocityUnit, MultUnit<?, ?>> divide(Mult<?, ?> divisor) {
552    return div(divisor);
553  }
554
555  @Override
556  default Per<LinearVelocityUnit, MultUnit<?, ?>> per(MultUnit<?, ?> divisorUnit) {
557    return div(divisorUnit.ofNative(1));
558  }
559
560
561  @Override
562  default Mult<LinearVelocityUnit, PerUnit<?, ?>> times(Per<?, ?> multiplier) {
563    return (Mult<LinearVelocityUnit, PerUnit<?, ?>>) Measure.super.times(multiplier);
564  }
565
566  @Override
567  default Per<LinearVelocityUnit, PerUnit<?, ?>> div(Per<?, ?> divisor) {
568    return (Per<LinearVelocityUnit, PerUnit<?, ?>>) Measure.super.div(divisor);
569  }
570
571  /**
572  * {@inheritDoc}
573  *
574  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
575  */
576  @Deprecated(since = "2025", forRemoval = true)
577  @SuppressWarnings({"deprecation", "removal"})
578  @Override
579  default Per<LinearVelocityUnit, PerUnit<?, ?>> divide(Per<?, ?> divisor) {
580    return div(divisor);
581  }
582
583  @Override
584  default Per<LinearVelocityUnit, PerUnit<?, ?>> per(PerUnit<?, ?> divisorUnit) {
585    return div(divisorUnit.ofNative(1));
586  }
587
588
589  @Override
590  default Mult<LinearVelocityUnit, PowerUnit> times(Power multiplier) {
591    return (Mult<LinearVelocityUnit, PowerUnit>) Measure.super.times(multiplier);
592  }
593
594  @Override
595  default Per<LinearVelocityUnit, PowerUnit> div(Power divisor) {
596    return (Per<LinearVelocityUnit, PowerUnit>) Measure.super.div(divisor);
597  }
598
599  /**
600  * {@inheritDoc}
601  *
602  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
603  */
604  @Deprecated(since = "2025", forRemoval = true)
605  @SuppressWarnings({"deprecation", "removal"})
606  @Override
607  default Per<LinearVelocityUnit, PowerUnit> divide(Power divisor) {
608    return div(divisor);
609  }
610
611  @Override
612  default Per<LinearVelocityUnit, PowerUnit> per(PowerUnit divisorUnit) {
613    return div(divisorUnit.one());
614  }
615
616
617  @Override
618  default Mult<LinearVelocityUnit, ResistanceUnit> times(Resistance multiplier) {
619    return (Mult<LinearVelocityUnit, ResistanceUnit>) Measure.super.times(multiplier);
620  }
621
622  @Override
623  default Per<LinearVelocityUnit, ResistanceUnit> div(Resistance divisor) {
624    return (Per<LinearVelocityUnit, ResistanceUnit>) Measure.super.div(divisor);
625  }
626
627  /**
628  * {@inheritDoc}
629  *
630  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
631  */
632  @Deprecated(since = "2025", forRemoval = true)
633  @SuppressWarnings({"deprecation", "removal"})
634  @Override
635  default Per<LinearVelocityUnit, ResistanceUnit> divide(Resistance divisor) {
636    return div(divisor);
637  }
638
639  @Override
640  default Per<LinearVelocityUnit, ResistanceUnit> per(ResistanceUnit divisorUnit) {
641    return div(divisorUnit.one());
642  }
643
644
645  @Override
646  default Mult<LinearVelocityUnit, TemperatureUnit> times(Temperature multiplier) {
647    return (Mult<LinearVelocityUnit, TemperatureUnit>) Measure.super.times(multiplier);
648  }
649
650  @Override
651  default Per<LinearVelocityUnit, TemperatureUnit> div(Temperature divisor) {
652    return (Per<LinearVelocityUnit, TemperatureUnit>) Measure.super.div(divisor);
653  }
654
655  /**
656  * {@inheritDoc}
657  *
658  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
659  */
660  @Deprecated(since = "2025", forRemoval = true)
661  @SuppressWarnings({"deprecation", "removal"})
662  @Override
663  default Per<LinearVelocityUnit, TemperatureUnit> divide(Temperature divisor) {
664    return div(divisor);
665  }
666
667  @Override
668  default Per<LinearVelocityUnit, TemperatureUnit> per(TemperatureUnit divisorUnit) {
669    return div(divisorUnit.one());
670  }
671
672
673  @Override
674  default Distance times(Time multiplier) {
675    return Meters.of(baseUnitMagnitude() * multiplier.baseUnitMagnitude());
676  }
677
678  @Override
679  default LinearAcceleration div(Time divisor) {
680    return MetersPerSecondPerSecond.of(baseUnitMagnitude() / divisor.baseUnitMagnitude());
681  }
682
683  /**
684  * {@inheritDoc}
685  *
686  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
687  */
688  @Override
689  @Deprecated(since = "2025", forRemoval = true)
690  @SuppressWarnings({"deprecation", "removal"})
691  default LinearAcceleration divide(Time divisor) {
692    return div(divisor);
693  }
694
695  @Override
696  default LinearAcceleration per(TimeUnit divisorUnit) {
697    return div(divisorUnit.one());
698  }
699
700
701  @Override
702  default Mult<LinearVelocityUnit, TorqueUnit> times(Torque multiplier) {
703    return (Mult<LinearVelocityUnit, TorqueUnit>) Measure.super.times(multiplier);
704  }
705
706  @Override
707  default Per<LinearVelocityUnit, TorqueUnit> div(Torque divisor) {
708    return (Per<LinearVelocityUnit, TorqueUnit>) Measure.super.div(divisor);
709  }
710
711  /**
712  * {@inheritDoc}
713  *
714  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
715  */
716  @Deprecated(since = "2025", forRemoval = true)
717  @SuppressWarnings({"deprecation", "removal"})
718  @Override
719  default Per<LinearVelocityUnit, TorqueUnit> divide(Torque divisor) {
720    return div(divisor);
721  }
722
723  @Override
724  default Per<LinearVelocityUnit, TorqueUnit> per(TorqueUnit divisorUnit) {
725    return div(divisorUnit.one());
726  }
727
728
729  @Override
730  default Mult<LinearVelocityUnit, VelocityUnit<?>> times(Velocity<?> multiplier) {
731    return (Mult<LinearVelocityUnit, VelocityUnit<?>>) Measure.super.times(multiplier);
732  }
733
734  @Override
735  default Per<LinearVelocityUnit, VelocityUnit<?>> div(Velocity<?> divisor) {
736    return (Per<LinearVelocityUnit, VelocityUnit<?>>) Measure.super.div(divisor);
737  }
738
739  /**
740  * {@inheritDoc}
741  *
742  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
743  */
744  @Deprecated(since = "2025", forRemoval = true)
745  @SuppressWarnings({"deprecation", "removal"})
746  @Override
747  default Per<LinearVelocityUnit, VelocityUnit<?>> divide(Velocity<?> divisor) {
748    return div(divisor);
749  }
750
751  @Override
752  default Per<LinearVelocityUnit, VelocityUnit<?>> per(VelocityUnit<?> divisorUnit) {
753    return div(divisorUnit.one());
754  }
755
756
757  @Override
758  default Mult<LinearVelocityUnit, VoltageUnit> times(Voltage multiplier) {
759    return (Mult<LinearVelocityUnit, VoltageUnit>) Measure.super.times(multiplier);
760  }
761
762  @Override
763  default Per<LinearVelocityUnit, VoltageUnit> div(Voltage divisor) {
764    return (Per<LinearVelocityUnit, VoltageUnit>) Measure.super.div(divisor);
765  }
766
767  /**
768  * {@inheritDoc}
769  *
770  * @deprecated use div instead. This was renamed for consistency with other languages like Kotlin
771  */
772  @Deprecated(since = "2025", forRemoval = true)
773  @SuppressWarnings({"deprecation", "removal"})
774  @Override
775  default Per<LinearVelocityUnit, VoltageUnit> divide(Voltage divisor) {
776    return div(divisor);
777  }
778
779  @Override
780  default Per<LinearVelocityUnit, VoltageUnit> per(VoltageUnit divisorUnit) {
781    return div(divisorUnit.one());
782  }
783
784}