@@ -309,6 +309,7 @@ ResultTypes.Number or ResultTypes.ComplexNumber or ResultTypes.Vector
309
309
ResultTypes . AngleNumber => ResultTypes . AngleNumber ,
310
310
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
311
311
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
312
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
312
313
ResultTypes . MassNumber => ResultTypes . MassNumber ,
313
314
_ => ResultTypes . NumbersOrComplexOrVector . ThrowFor ( result ) ,
314
315
} ;
@@ -351,6 +352,11 @@ public virtual ResultTypes Analyze(Add exp)
351
352
( ResultTypes . MassNumber , ResultTypes . MassNumber )
352
353
=> ResultTypes . MassNumber ,
353
354
355
+ ( ResultTypes . Number , ResultTypes . LengthNumber ) or
356
+ ( ResultTypes . LengthNumber , ResultTypes . Number ) or
357
+ ( ResultTypes . LengthNumber , ResultTypes . LengthNumber )
358
+ => ResultTypes . LengthNumber ,
359
+
354
360
( ResultTypes . Number , ResultTypes . ComplexNumber ) or
355
361
( ResultTypes . ComplexNumber , ResultTypes . Number ) or
356
362
( ResultTypes . ComplexNumber , ResultTypes . ComplexNumber )
@@ -395,6 +401,7 @@ public virtual ResultTypes Analyze(Ceil exp)
395
401
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
396
402
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
397
403
ResultTypes . MassNumber => ResultTypes . MassNumber ,
404
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
398
405
_ => ResultTypes . Numbers . ThrowFor ( result ) ,
399
406
} ;
400
407
}
@@ -454,6 +461,9 @@ public virtual ResultTypes Analyze(Div exp)
454
461
( ResultTypes . MassNumber , ResultTypes . Number )
455
462
=> ResultTypes . MassNumber ,
456
463
464
+ ( ResultTypes . LengthNumber , ResultTypes . Number )
465
+ => ResultTypes . LengthNumber ,
466
+
457
467
( ResultTypes . Number , ResultTypes . ComplexNumber ) or
458
468
( ResultTypes . ComplexNumber , ResultTypes . Number ) or
459
469
( ResultTypes . ComplexNumber , ResultTypes . ComplexNumber )
@@ -515,6 +525,7 @@ public virtual ResultTypes Analyze(Floor exp)
515
525
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
516
526
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
517
527
ResultTypes . MassNumber => ResultTypes . MassNumber ,
528
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
518
529
_ => ResultTypes . NumberOrAngle . ThrowFor ( result ) ,
519
530
} ;
520
531
}
@@ -535,6 +546,7 @@ public virtual ResultTypes Analyze(Trunc exp)
535
546
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
536
547
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
537
548
ResultTypes . MassNumber => ResultTypes . MassNumber ,
549
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
538
550
_ => ResultTypes . NumberOrAngle . ThrowFor ( result ) ,
539
551
} ;
540
552
}
@@ -555,6 +567,7 @@ public virtual ResultTypes Analyze(Frac exp)
555
567
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
556
568
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
557
569
ResultTypes . MassNumber => ResultTypes . MassNumber ,
570
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
558
571
_ => ResultTypes . NumberOrAngle . ThrowFor ( result ) ,
559
572
} ;
560
573
}
@@ -727,6 +740,10 @@ public virtual ResultTypes Analyze(Mul exp)
727
740
( ResultTypes . MassNumber , ResultTypes . Number )
728
741
=> ResultTypes . MassNumber ,
729
742
743
+ ( ResultTypes . Number , ResultTypes . LengthNumber ) or
744
+ ( ResultTypes . LengthNumber , ResultTypes . Number )
745
+ => ResultTypes . LengthNumber ,
746
+
730
747
( ResultTypes . Number , ResultTypes . ComplexNumber ) or
731
748
( ResultTypes . ComplexNumber , ResultTypes . Number ) or
732
749
( ResultTypes . ComplexNumber , ResultTypes . ComplexNumber )
@@ -780,6 +797,10 @@ public virtual ResultTypes Analyze(Temperature exp)
780
797
public virtual ResultTypes Analyze ( Mass exp )
781
798
=> CheckArgument ( exp , ResultTypes . MassNumber ) ;
782
799
800
+ /// <inheritdoc />
801
+ public virtual ResultTypes Analyze ( Length exp )
802
+ => CheckArgument ( exp , ResultTypes . LengthNumber ) ;
803
+
783
804
/// <inheritdoc />
784
805
public virtual ResultTypes Analyze ( ToDegree exp )
785
806
=> AngleConversion ( exp ) ;
@@ -806,7 +827,8 @@ ResultTypes.Undefined or
806
827
ResultTypes . AngleNumber or
807
828
ResultTypes . PowerNumber or
808
829
ResultTypes . TemperatureNumber or
809
- ResultTypes . MassNumber
830
+ ResultTypes . MassNumber or
831
+ ResultTypes . LengthNumber
810
832
=> ResultTypes . Number ,
811
833
_ => ResultTypes . AngleNumber . ThrowFor ( result ) ,
812
834
} ;
@@ -885,6 +907,7 @@ public virtual ResultTypes Analyze(Round exp)
885
907
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
886
908
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
887
909
ResultTypes . MassNumber => ResultTypes . MassNumber ,
910
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
888
911
_ => throw new DifferentParameterTypeMismatchException (
889
912
ResultTypes . Undefined | ResultTypes . Numbers ,
890
913
number ,
@@ -943,6 +966,11 @@ public virtual ResultTypes Analyze(Sub exp)
943
966
( ResultTypes . MassNumber , ResultTypes . MassNumber )
944
967
=> ResultTypes . MassNumber ,
945
968
969
+ ( ResultTypes . Number , ResultTypes . LengthNumber ) or
970
+ ( ResultTypes . LengthNumber , ResultTypes . Number ) or
971
+ ( ResultTypes . LengthNumber , ResultTypes . LengthNumber )
972
+ => ResultTypes . LengthNumber ,
973
+
946
974
( ResultTypes . Number , ResultTypes . ComplexNumber ) or
947
975
( ResultTypes . ComplexNumber , ResultTypes . Number ) or
948
976
( ResultTypes . ComplexNumber , ResultTypes . ComplexNumber )
@@ -983,6 +1011,7 @@ public virtual ResultTypes Analyze(UnaryMinus exp)
983
1011
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
984
1012
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
985
1013
ResultTypes . MassNumber => ResultTypes . MassNumber ,
1014
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
986
1015
ResultTypes . ComplexNumber => ResultTypes . ComplexNumber ,
987
1016
_ => ResultTypes . NumberOrComplex . ThrowFor ( result ) ,
988
1017
} ;
@@ -1057,6 +1086,7 @@ ResultTypes.Undefined or
1057
1086
ResultTypes . PowerNumber => ResultTypes . PowerNumber ,
1058
1087
ResultTypes . TemperatureNumber => ResultTypes . TemperatureNumber ,
1059
1088
ResultTypes . MassNumber => ResultTypes . MassNumber ,
1089
+ ResultTypes . LengthNumber => ResultTypes . LengthNumber ,
1060
1090
1061
1091
_ => ResultTypes . Numbers . ThrowFor ( valueResult ) ,
1062
1092
} ;
0 commit comments