RosettaCodeData/Task/Identity-matrix/Tcl/identity-matrix-2.tcl
2026-02-01 16:33:20 -08:00

13 lines
309 B
Tcl

package require struct::matrix
proc I {rank {zero 0.0} {one 1.0}} {
set m [struct::matrix]
$m add columns $rank
$m add rows $rank
for {set i 0} {$i < $rank} {incr i} {
for {set j 0} {$j < $rank} {incr j} {
$m set cell $i $j [expr {$i==$j ? $one : $zero}]
}
}
return $m
}