]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGMatrix33.cpp
Updated to match changes in radiostack.[ch]xx
[flightgear.git] / src / FDM / JSBSim / FGMatrix33.cpp
index 0c69dd7a8ca50843de69a8ee63c4715c58db64bd..830e99dddfb9c8715fa429b7f4f72715ca8e7f3d 100644 (file)
@@ -28,66 +28,24 @@ static const char *IdHdr = ID_MATRIX33;
 CLASS IMPLEMENTATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-double** FGalloc(void)
-{
-  double **A;
-
-  A = new double *[4];
-  if (!A) return NULL;
-  
-  double *tmp;
-  tmp = new double [16];
-  
-  if (!tmp) {
-         delete A;
-         return NULL;
-  }
-  A[0] = tmp;
-  A[1] = tmp + 4;
-  A[2] = tmp + 8;
-  A[3] = tmp + 12;
-#if 0
-  A[0] = new double [4];
-  if (!A[0]) return NULL;
-  A[1] = new double [4];
-  if (!A[1]) return NULL;
-  A[2] = new double [4];
-  if (!A[2]) return NULL;
-  A[3] = new double [4];
-  if (!A[3]) return NULL;
-#endif
-  
-  return A;
-}
-
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-void dealloc(double **A)
-{
-  delete[] A[0];
-  delete[] A;
-}
-
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 FGMatrix33::FGMatrix33(void)
 {
-  data=FGalloc();
   InitMatrix();
   rowCtr = colCtr = 1;
   
-  if (debug_lvl & 2) cout << "Instantiated: FGMatrix33" << endl;
+  Debug(0);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 FGMatrix33::FGMatrix33(int r, int c)
 {
-  data=FGalloc();
   InitMatrix();
   rowCtr = colCtr = 1;
   
-  if (debug_lvl & 2) cout << "Instantiated: FGMatrix33" << endl;
+  Debug(0);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -95,12 +53,6 @@ FGMatrix33::FGMatrix33(int r, int c)
 FGMatrix33::FGMatrix33(const FGMatrix33& M)
 {
   rowCtr = colCtr = 1;
-  width  = M.width;
-  prec   = M.prec;
-  delim  = M.delim;
-  origin = M.origin;
-
-  data=FGalloc();
 
   data[1][1] = M.data[1][1];
   data[1][2] = M.data[1][2];
@@ -112,17 +64,16 @@ FGMatrix33::FGMatrix33(const FGMatrix33& M)
   data[3][2] = M.data[3][2];
   data[3][3] = M.data[3][3];
 
-  if (debug_lvl & 2) cout << "Instantiated: FGMatrix33" << endl;
+  Debug(0);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 FGMatrix33::~FGMatrix33(void)
 {
-  dealloc(data);
   rowCtr = colCtr = 1;
 
-  if (debug_lvl & 2) cout << "Destroyed:    FGMatrix33" << endl;
+  Debug(1);
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -142,7 +93,7 @@ ostream& operator<<(ostream& os, const FGMatrix33& M)
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-FGMatrix33& FGMatrix33::operator<<(const float ff)
+FGMatrix33& FGMatrix33::operator<<(const double ff)
 {
   data[rowCtr][colCtr] = ff;
   if (++colCtr > Cols()) {
@@ -170,15 +121,6 @@ istream& operator>>(istream& is, FGMatrix33& M)
 FGMatrix33& FGMatrix33::operator=(const FGMatrix33& M)
 {
   if (&M != this) {
-    if (data != NULL) dealloc(data);
-
-    width  = M.width;
-    prec   = M.prec;
-    delim  = M.delim;
-    origin = M.origin;
-    
-    data=FGalloc();
-    
     data[1][1] = M.data[1][1];
     data[1][2] = M.data[1][2];
     data[1][3] = M.data[1][3];
@@ -188,23 +130,12 @@ FGMatrix33& FGMatrix33::operator=(const FGMatrix33& M)
     data[3][1] = M.data[3][1];
     data[3][2] = M.data[3][2];
     data[3][3] = M.data[3][3];
-
   }
   return *this;
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-void FGMatrix33::SetOParams(char delim,int width,int prec,int origin)
-{
-  FGMatrix33::delim  = delim;
-  FGMatrix33::width  = width;
-  FGMatrix33::prec   = prec;
-  FGMatrix33::origin = origin;
-}
-
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
 void FGMatrix33::InitMatrix(double value)
 {
   if (data) {
@@ -245,7 +176,6 @@ FGMatrix33 FGMatrix33::operator-(const FGMatrix33& M)
   Diff(3,2) = data[3][2] - M(3,2);
   Diff(3,3) = data[3][3] - M(3,3);
 
-  
   return Diff;
 }
 
@@ -262,7 +192,6 @@ void FGMatrix33::operator-=(const FGMatrix33 &M)
   data[3][1] -= M(3,1);
   data[3][2] -= M(3,2);
   data[3][3] -= M(3,3);
-
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -297,7 +226,6 @@ void FGMatrix33::operator+=(const FGMatrix33 &M)
   data[3][1] += M(3,1);
   data[3][2] += M(3,2);
   data[3][3] += M(3,3);
-
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -342,7 +270,6 @@ FGMatrix33 operator*(double scalar, FGMatrix33 &M)
 
 void FGMatrix33::operator*=(const double scalar)
 {
-
   data[1][1] *= scalar;
   data[1][2] *= scalar;
   data[1][3] *= scalar;
@@ -352,7 +279,6 @@ void FGMatrix33::operator*=(const double scalar)
   data[3][1] *= scalar;
   data[3][2] *= scalar;
   data[3][3] *= scalar;
-
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -378,7 +304,7 @@ FGMatrix33 FGMatrix33::operator*(const FGMatrix33& M)
 
 void FGMatrix33::operator*=(const FGMatrix33& M)
 {
-  float a,b,c;
+  double a,b,c;
   
   a = data[1][1]; b=data[1][2]; c=data[1][3];
   data[1][1] = a*M(1,1) + b*M(2,1) + c*M(3,1);
@@ -394,7 +320,6 @@ void FGMatrix33::operator*=(const FGMatrix33& M)
   data[3][1] = a*M(1,1) + b*M(2,1) + c*M(3,1);
   data[3][2] = a*M(1,2) + b*M(2,2) + c*M(3,2);
   data[3][3] = a*M(1,3) + b*M(2,3) + c*M(3,3);
-
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -403,7 +328,7 @@ FGMatrix33 FGMatrix33::operator/(const double scalar)
 {
   FGMatrix33 Quot;
   
-  if( scalar != 0 ) {
+  if ( scalar != 0 ) {
          double tmp = 1.0/scalar;
     Quot(1,1) = data[1][1] * tmp;
     Quot(1,2) = data[1][2] * tmp;
@@ -426,8 +351,8 @@ FGMatrix33 FGMatrix33::operator/(const double scalar)
 
 void FGMatrix33::operator/=(const double scalar)
 {
-  if( scalar != 0 ) {
-         double tmp = 1.0/scalar;
+  if ( scalar != 0 ) {
+    double tmp = 1.0/scalar;
     data[1][1] *= tmp;
     data[1][2] *= tmp;
     data[1][3] *= tmp;
@@ -471,11 +396,48 @@ FGColumnVector3 FGMatrix33::operator*(const FGColumnVector3& Col)
 }
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-void FGMatrix33::Debug(void)
+//    The bitmasked value choices are as follows:
+//    unset: In this case (the default) JSBSim would only print
+//       out the normally expected messages, essentially echoing
+//       the config files as they are read. If the environment
+//       variable is not set, debug_lvl is set to 1 internally
+//    0: This requests JSBSim not to output any messages
+//       whatsoever.
+//    1: This value explicity requests the normal JSBSim
+//       startup messages
+//    2: This value asks for a message to be printed out when
+//       a class is instantiated
+//    4: When this value is set, a message is displayed when a
+//       FGModel object executes its Run() method
+//    8: When this value is set, various runtime state variables
+//       are printed out periodically
+//    16: When set various parameters are sanity checked and
+//       a message is printed out when they go out of bounds
+
+void FGMatrix33::Debug(int from)
 {
-    //TODO: Add your source code here
-}
+  if (debug_lvl <= 0) return;
 
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  if (debug_lvl & 1) { // Standard console startup message output
+    if (from == 0) { // Constructor
+
+    }
+  }
+  if (debug_lvl & 2 ) { // Instantiation/Destruction notification
+    if (from == 0) cout << "Instantiated: FGMatrix33" << endl;
+    if (from == 1) cout << "Destroyed:    FGMatrix33" << endl;
+  }
+  if (debug_lvl & 4 ) { // Run() method entry print for FGModel-derived objects
+  }
+  if (debug_lvl & 8 ) { // Runtime state variables
+  }
+  if (debug_lvl & 16) { // Sanity checking
+  }
+  if (debug_lvl & 64) {
+    if (from == 0) { // Constructor
+      cout << IdSrc << endl;
+      cout << IdHdr << endl;
+    }
+  }
+}