matrix-cos-angle raises a /: division by zero error when either argument is a zero matrix:
> (matrix-cos-angle (matrix [[0]]) (matrix [[1]]))
/: division by zero
Found by DrDr here: https://drdr.racket-lang.org/72356/racket/share/pkgs/math-test/math/tests/matrix-tests.rkt
This code in matrix-basic.rkt looks suspicious:
[(or (nan? mxA) (nan? mxB) (= 0 mxA) (= 0 mxB))
(/ (matrix-dot A B) (* mxA mxB))]
When mxA or mxB is 0, (* mxA mxB) is 0, causing division by zero.
I don't know what it should return, though.
matrix-cos-angleraises a/: division by zeroerror when either argument is a zero matrix:Found by DrDr here: https://drdr.racket-lang.org/72356/racket/share/pkgs/math-test/math/tests/matrix-tests.rkt
This code in
matrix-basic.rktlooks suspicious:When
mxAormxBis 0,(* mxA mxB)is 0, causing division by zero.I don't know what it should return, though.