Mercurial > octave
comparison src/DLD-FUNCTIONS/kron.cc @ 5275:23b37da9fd5b
[project @ 2005-04-08 16:07:35 by jwe]
author | jwe |
---|---|
date | Fri, 08 Apr 2005 16:07:37 +0000 |
parents | 6b96ce9f5743 |
children | 4c8a2e4e0717 |
comparison
equal
deleted
inserted
replaced
5274:eae7b40388e9 | 5275:23b37da9fd5b |
---|---|
46 void | 46 void |
47 kron (const Array2<T>& A, const Array2<T>& B, Array2<T>& C) | 47 kron (const Array2<T>& A, const Array2<T>& B, Array2<T>& C) |
48 { | 48 { |
49 C.resize (A.rows () * B.rows (), A.columns () * B.columns ()); | 49 C.resize (A.rows () * B.rows (), A.columns () * B.columns ()); |
50 | 50 |
51 int Ac, Ar, Cc, Cr; | 51 octave_idx_type Ac, Ar, Cc, Cr; |
52 | 52 |
53 for (Ac = Cc = 0; Ac < A.columns (); Ac++, Cc += B.columns ()) | 53 for (Ac = Cc = 0; Ac < A.columns (); Ac++, Cc += B.columns ()) |
54 for (Ar = Cr = 0; Ar < A.rows (); Ar++, Cr += B.rows ()) | 54 for (Ar = Cr = 0; Ar < A.rows (); Ar++, Cr += B.rows ()) |
55 { | 55 { |
56 const T v = A (Ar, Ac); | 56 const T v = A (Ar, Ac); |
57 for (int Bc = 0; Bc < B.columns (); Bc++) | 57 for (octave_idx_type Bc = 0; Bc < B.columns (); Bc++) |
58 for (int Br = 0; Br < B.rows (); Br++) | 58 for (octave_idx_type Br = 0; Br < B.rows (); Br++) |
59 { | 59 { |
60 OCTAVE_QUIT; | 60 OCTAVE_QUIT; |
61 C.xelem (Cr+Br, Cc+Bc) = v * B.elem (Br, Bc); | 61 C.xelem (Cr+Br, Cc+Bc) = v * B.elem (Br, Bc); |
62 } | 62 } |
63 } | 63 } |