|
252 | 252 | end
|
253 | 253 | return eval_end(d, s)
|
254 | 254 | end
|
255 |
| -result_type(dist::UnionMetrics, a::AbstractArray, b::AbstractArray) = |
256 |
| - typeof(evaluate(dist, oneunit(eltype(a)), oneunit(eltype(b)))) |
257 |
| - |
| 255 | +result_type(dist::UnionMetrics, Ta::Type, Tb::Type) = |
| 256 | + typeof(evaluate(dist, oneunit(Ta), oneunit(Tb))) |
258 | 257 | eval_start(d::UnionMetrics, a::AbstractArray, b::AbstractArray) =
|
259 | 258 | zero(result_type(d, a, b))
|
260 | 259 | eval_end(d::UnionMetrics, s) = s
|
@@ -352,7 +351,7 @@ evaluate(::CorrDist, a::AbstractArray, b::AbstractArray) = cosine_dist(_centrali
|
352 | 351 | # Ambiguity resolution
|
353 | 352 | evaluate(::CorrDist, a::Array, b::Array) = cosine_dist(_centralize(a), _centralize(b))
|
354 | 353 | corr_dist(a::AbstractArray, b::AbstractArray) = evaluate(CorrDist(), a, b)
|
355 |
| -result_type(::CorrDist, a::AbstractArray, b::AbstractArray) = result_type(CosineDist(), a, b) |
| 354 | +result_type(::CorrDist, Ta::Type, Tb::Type) = result_type(CosineDist(), Ta, Tb) |
356 | 355 |
|
357 | 356 | # ChiSqDist
|
358 | 357 | @inline eval_op(::ChiSqDist, ai, bi) = (d = abs2(ai - bi) / (ai + bi); ifelse(ai != bi, d, zero(d)))
|
|
452 | 451 |
|
453 | 452 | eval_end(::SpanNormDist, s) = s[2] - s[1]
|
454 | 453 | spannorm_dist(a::AbstractArray, b::AbstractArray) = evaluate(SpanNormDist(), a, b)
|
455 |
| -result_type(dist::SpanNormDist, a::AbstractArray, b::AbstractArray) = |
456 |
| - typeof(eval_op(dist, oneunit(eltype(a)), oneunit(eltype(b)))) |
457 |
| - |
| 454 | +result_type(dist::SpanNormDist, Ta::Type, Tb::Type) = |
| 455 | + typeof(eval_op(dist, oneunit(Ta), oneunit(Tb))) |
458 | 456 |
|
459 | 457 | # Jaccard
|
460 | 458 |
|
|
0 commit comments