Revision 364879d2
| utility/matrix.h | ||
|---|---|---|
| 117 | 117 |
} |
| 118 | 118 |
|
| 119 | 119 |
|
| 120 |
Matrix operator + (Matrix m)
|
|
| 120 |
Matrix operator+(const Matrix& m) const
|
|
| 121 | 121 |
{
|
| 122 | 122 |
Matrix ret; |
| 123 |
for(int x = 0; x < N; x++)
|
|
| 123 |
for (int ij = 0; ij < N*N; ++ij)
|
|
| 124 | 124 |
{
|
| 125 |
for(int y = 0; y < N; y++) |
|
| 126 |
{
|
|
| 127 |
ret._cell[x*N+y] = _cell[x*N+y] + m._cell[x*N+y]; |
|
| 128 |
} |
|
| 125 |
ret._cell_data[ij] = _cell_data[ij] + m._cell_data[ij]; |
|
| 129 | 126 |
} |
| 130 | 127 |
return ret; |
| 131 | 128 |
} |
| 132 | 129 |
|
| 133 |
Matrix operator - (Matrix m)
|
|
| 130 |
Matrix operator-(const Matrix& m) const
|
|
| 134 | 131 |
{
|
| 135 | 132 |
Matrix ret; |
| 136 |
for(int x = 0; x < N; x++)
|
|
| 133 |
for (int ij = 0; ij < N*N; ++ij)
|
|
| 137 | 134 |
{
|
| 138 |
for(int y = 0; y < N; y++) |
|
| 139 |
{
|
|
| 140 |
ret._cell[x*N+y] = _cell[x*N+y] - m._cell[x*N+y]; |
|
| 141 |
} |
|
| 135 |
ret._cell_data[ij] = _cell_data[ij] - m._cell_data[ij]; |
|
| 142 | 136 |
} |
| 143 | 137 |
return ret; |
| 144 | 138 |
} |
| 145 | 139 |
|
| 146 |
Matrix operator * (double scalar)
|
|
| 140 |
Matrix operator*(double scalar) const
|
|
| 147 | 141 |
{
|
| 148 | 142 |
Matrix ret; |
| 149 |
for(int x = 0; x < N; x++)
|
|
| 143 |
for (int ij = 0; ij < N*N; ++ij)
|
|
| 150 | 144 |
{
|
| 151 |
for(int y = 0; y < N; y++) |
|
| 152 |
{
|
|
| 153 |
ret._cell[x*N+y] = _cell[x*N+y] * scalar; |
|
| 154 |
} |
|
| 145 |
ret._cell_data[ij] = _cell_data[ij] * scalar; |
|
| 155 | 146 |
} |
| 156 | 147 |
return ret; |
| 157 | 148 |
} |
Also available in: Unified diff