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 }