Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/math_Matrix.lxx is written in an unsupported language. File is not indexed.

0001 // Copyright (c) 1997-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 // lpa le 29/10/91
0016 
0017 #include <Standard_DimensionError.hxx>
0018 
0019 inline Standard_OStream& operator<<(Standard_OStream& o, const math_Matrix& mat)
0020 {
0021   mat.Dump(o);
0022   return o;
0023 }
0024 
0025 inline math_Matrix operator*(const Standard_Real Left, const math_Matrix& Right)
0026 {
0027   return Right.Multiplied(Left);
0028 }
0029 
0030 inline Standard_Real& math_Matrix::Value(const Standard_Integer Row,
0031                                          const Standard_Integer Col) const
0032 {
0033   Standard_RangeError_Raise_if(((Row < LowerRowIndex) || (Row > UpperRowIndex)
0034                                 || (Col < LowerColIndex) || (Col > UpperColIndex)),
0035                                " ");
0036 
0037   return Array(Row, Col);
0038 }
0039 
0040 inline Standard_Integer math_Matrix::RowNumber() const
0041 {
0042   return UpperRowIndex - LowerRowIndex + 1;
0043 }
0044 
0045 // returns the row range of a matrix.
0046 
0047 inline Standard_Integer math_Matrix::ColNumber() const
0048 {
0049   return UpperColIndex - LowerColIndex + 1;
0050 }
0051 
0052 // returns the column range of a matrix.
0053 
0054 inline Standard_Integer math_Matrix::LowerRow() const
0055 {
0056   return LowerRowIndex;
0057 }
0058 
0059 // returns the value of the Lower index of the row range of a matrix.
0060 
0061 inline Standard_Integer math_Matrix::UpperRow() const
0062 {
0063   return UpperRowIndex;
0064 }
0065 
0066 // returns the value of the Upper index of the row range of a matrix.
0067 
0068 inline Standard_Integer math_Matrix::LowerCol() const
0069 {
0070   return LowerColIndex;
0071 }
0072 
0073 // returns the value of the Lower index of the column range of a matrix.
0074 
0075 inline Standard_Integer math_Matrix::UpperCol() const
0076 {
0077   return UpperColIndex;
0078 }
0079 
0080 // returns the value of the Upper index of the column range of a matrix.
0081 
0082 inline void math_Matrix::SetLower(const Standard_Integer LowerRow, const Standard_Integer LowerCol)
0083 {
0084   SetLowerRow(LowerRow);
0085   SetLowerCol(LowerCol);
0086 }