dup <zero-matrix> ; inline
<PRIVATE
-: (nth-from-end) ( n seq -- n )
+: (nth-from-tail) ( n seq -- n )
length 1 - swap - ; inline flushable
: nth-end ( n seq -- elt )
- [ (nth-from-end) ] keep nth ; inline flushable
+ [ (nth-from-tail) ] keep nth ; inline flushable
: nth-end-unsafe ( n seq -- elt )
- [ (nth-from-end) ] keep nth-unsafe ; inline flushable
+ [ (nth-from-tail) ] keep nth-unsafe ; inline flushable
: array-nth-end-unsafe ( n seq -- elt )
- [ (nth-from-end) ] keep swap 2 fixnum+fast slot ; inline flushable
+ [ (nth-from-tail) ] keep swap 2 fixnum+fast slot ; inline flushable
: set-nth-end ( elt n seq -- )
- [ (nth-from-end) ] keep set-nth ; inline
+ [ (nth-from-tail) ] keep set-nth ; inline
: set-nth-end-unsafe ( elt n seq -- )
- [ (nth-from-end) ] keep set-nth-unsafe ; inline
+ [ (nth-from-tail) ] keep set-nth-unsafe ; inline
PRIVATE>
! main-diagonal matrix