You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In storage constructors of tensor, vector, and matrix, make-array has been used to initialise the actual storage.
Before PR #143, make-array doesn't specify zero as the :initial-element argument. It causes inconsistencies among different Lisp implementations, as unspecified :initial-element argument is undefined behaviour in the standard.
One example is from-diag. It forgot to specify :initial-elements in both of the occurrences of make-tensor. While this works in SBCL (where make-array initialises all zeros), it won't work in other implementations e.g. allegro.
Therefore, PR #143 tried to fix this issue by explicitly specifying zeros as :initial-element argument in all storage constructors.
As Erik suggested:
perhaps it is something we will try to fix in a more systematic fashion.
The text was updated successfully, but these errors were encountered:
In storage constructors of
tensor
,vector
, andmatrix
,make-array
has been used to initialise the actual storage.Before PR #143,
make-array
doesn't specify zero as the:initial-element
argument. It causes inconsistencies among different Lisp implementations, as unspecified:initial-element
argument is undefined behaviour in the standard.One example is from-diag. It forgot to specify
:initial-elements
in both of the occurrences ofmake-tensor
. While this works in SBCL (wheremake-array
initialises all zeros), it won't work in other implementations e.g. allegro.Therefore, PR #143 tried to fix this issue by explicitly specifying zeros as
:initial-element
argument in all storage constructors.As Erik suggested:
The text was updated successfully, but these errors were encountered: