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