@@ -411,15 +411,15 @@ lmul!(A, B)
411411_vec_or_mat_str (s:: Tuple{Any} ) = " vector"
412412_vec_or_mat_str (s:: Tuple{Any,Any} ) = " matrix"
413413@noinline function matmul_size_check (sizeA:: Tuple{Integer,Vararg{Integer}} , sizeB:: Tuple{Integer,Vararg{Integer}} )
414- strA = _vec_or_mat_str (sizeA)
415- strB = _vec_or_mat_str (sizeB)
416414 szA2 = get (sizeA, 2 , 1 )
417- B_size_len = length (sizeB) == 1 ? sizeB[1 ] : sizeB
418- size_or_len_str_B = B_size_len isa Integer ? " length" : " size"
419- dim_or_len_str_B = B_size_len isa Integer ? " length" : " first dimension"
420- pos_str_A = (length (sizeA) == length (sizeB) ? " first " : " " )* strA
421- pos_str_B = (length (sizeA) == length (sizeB) ? " second " : " " )* strB
422415 if szA2 != sizeB[1 ]
416+ strA = _vec_or_mat_str (sizeA)
417+ strB = _vec_or_mat_str (sizeB)
418+ B_size_len = length (sizeB) == 1 ? sizeB[1 ] : sizeB
419+ size_or_len_str_B = B_size_len isa Integer ? " length" : " size"
420+ dim_or_len_str_B = B_size_len isa Integer ? " length" : " first dimension"
421+ pos_str_A = LazyString (length (sizeA) == length (sizeB) ? " first " : " " , strA)
422+ pos_str_B = LazyString (length (sizeA) == length (sizeB) ? " second " : " " , strB)
423423 throw (DimensionMismatch (
424424 LazyString (
425425 lazy " incompatible dimensions for matrix multiplication: " ,
@@ -432,13 +432,13 @@ _vec_or_mat_str(s::Tuple{Any,Any}) = "matrix"
432432 return nothing
433433end
434434@noinline function matmul_size_check (sizeC:: Tuple{Integer,Vararg{Integer}} , sizeA:: Tuple{Integer,Vararg{Integer}} , sizeB:: Tuple{Integer,Vararg{Integer}} )
435- strA = _vec_or_mat_str (sizeA)
436- strB = _vec_or_mat_str (sizeB)
437- strC = _vec_or_mat_str (sizeC)
435+ matmul_size_check (sizeA, sizeB)
438436 szB2 = get (sizeB, 2 , 1 )
439437 szC2 = get (sizeC, 2 , 1 )
440- matmul_size_check (sizeA, sizeB)
441438 if sizeC[1 ] != sizeA[1 ] || szC2 != szB2
439+ strA = _vec_or_mat_str (sizeA)
440+ strB = _vec_or_mat_str (sizeB)
441+ strC = _vec_or_mat_str (sizeC)
442442 C_size_len = length (sizeC) == 1 ? sizeC[1 ] : sizeC
443443 size_or_len_str_C = C_size_len isa Integer ? " length" : " size"
444444 B_size_len = length (sizeB) == 1 ? sizeB[1 ] : sizeB
0 commit comments