June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,28 +1,27 @@
func rref (Array m) {
m.is_empty && return;
var (lead, rows, cols) = (0, m.len, m[0].len);
func rref (M) {
var (j, rows, cols) = (0, M.len, M[0].len)
rows.range.each { |r|
lead >= cols && return m;
var i = r;
for r in (^rows) {
j < cols || return M
while (!m[i][lead]) {
++i == rows || next;
i = r;
++lead == cols && return m;
var i = r
while (!M[i][j]) {
++i == rows || next
i = r
++j == cols && return M
}
m[i, r] = m[r, i];
var lv = m[r][lead];
m[r] = (m[r] »/» lv);
M[i, r] = M[r, i] if (r != i)
M[r] = (M[r] »/» M[r][j])
rows.range.each { |n|
n == r && next;
m[n] = (m[n] »-« (m[r] «*« m[n][lead]))
for n in (^rows) {
next if (n == r)
M[n] = (M[n] »-« (M[r] »*» M[n][j]))
}
++lead;
++j
}
return m
return M
}
func say_it (message, array) {