@@ -176,7 +176,7 @@ public static TQuantity Sum<TSource, TQuantity>(this IEnumerable<TSource> source
176176 /// logarithmic space.
177177 /// </remarks>
178178 public static TQuantity Sum < TQuantity , TUnit > ( this IEnumerable < TQuantity > quantities , TUnit targetUnit )
179- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
179+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
180180 where TUnit : struct , Enum
181181 {
182182 if ( quantities is null )
@@ -224,7 +224,7 @@ public static TQuantity Sum<TQuantity, TUnit>(this IEnumerable<TQuantity> quanti
224224 /// logarithmic space.
225225 /// </remarks>
226226 public static TQuantity Sum < TSource , TQuantity , TUnit > ( this IEnumerable < TSource > source , Func < TSource , TQuantity > selector , TUnit targetUnit )
227- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
227+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
228228 where TUnit : struct , Enum
229229 {
230230 return source . Select ( selector ) . Sum ( targetUnit ) ;
@@ -312,7 +312,7 @@ public static TQuantity ArithmeticMean<TSource, TQuantity>(this IEnumerable<TSou
312312 /// averaged, and then the result is converted back to logarithmic space using the same unit.
313313 /// </remarks>
314314 public static TQuantity ArithmeticMean < TQuantity , TUnit > ( this IEnumerable < TQuantity > quantities , TUnit unit )
315- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
315+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
316316 where TUnit : struct , Enum
317317 {
318318 if ( quantities is null )
@@ -363,7 +363,7 @@ public static TQuantity ArithmeticMean<TQuantity, TUnit>(this IEnumerable<TQuant
363363 /// averaged, and then the result is converted back to logarithmic space using the same unit.
364364 /// </remarks>
365365 public static TQuantity ArithmeticMean < TSource , TQuantity , TUnit > ( this IEnumerable < TSource > source , Func < TSource , TQuantity > selector , TUnit targetUnit )
366- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
366+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
367367 where TUnit : struct , Enum
368368 {
369369 return ArithmeticMean ( source . Select ( selector ) , targetUnit ) ;
@@ -448,7 +448,7 @@ public static TQuantity GeometricMean<TSource, TQuantity>(this IEnumerable<TSour
448448 /// logarithmic quantities is equal to the sum the values, converted in unit of the first element.
449449 /// </remarks>
450450 public static TQuantity GeometricMean < TQuantity , TUnit > ( this IEnumerable < TQuantity > quantities , TUnit targetUnit )
451- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
451+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
452452 where TUnit : struct , Enum
453453 {
454454 if ( quantities is null )
@@ -494,7 +494,7 @@ public static TQuantity GeometricMean<TQuantity, TUnit>(this IEnumerable<TQuanti
494494 /// logarithmic quantities is equal to the sum the values, converted in unit of the first element.
495495 /// </remarks>
496496 public static TQuantity GeometricMean < TSource , TQuantity , TUnit > ( this IEnumerable < TSource > source , Func < TSource , TQuantity > selector , TUnit targetUnit )
497- where TQuantity : ILogarithmicQuantity < TQuantity , TUnit >
497+ where TQuantity : ILogarithmicQuantity < TQuantity > , IQuantity < TQuantity , TUnit >
498498 where TUnit : struct , Enum
499499 {
500500 return source . Select ( selector ) . GeometricMean ( targetUnit ) ;
0 commit comments