coeffdef["FG_RUDDER"] = 8192;
coeffdef["FG_MACH"] = 16384;
coeffdef["FG_ALTITUDE"] = 32768L;
- coeffdef["FG_I2VEL"] = 65536L;
- coeffdef["FG_HALF"] = 131072L;
+ coeffdef["FG_BI2VEL"] = 65536L;
+ coeffdef["FG_CI2VEL"] = 131072L;
FDMExec = fdex;
State = FDMExec->GetState();
mult_count++;
cout << "h ";
}
- if (multipliers & FG_I2VEL) {
- mult_idx[mult_count] = FG_I2VEL;
+ if (multipliers & FG_BI2VEL) {
+ mult_idx[mult_count] = FG_BI2VEL;
mult_count++;
- cout << "1 /(2*Vt) ";
+ cout << "b /(2*Vt) ";
+ }
+ if (multipliers & FG_CI2VEL) {
+ mult_idx[mult_count] = FG_CI2VEL;
+ mult_count++;
+ cout << "c /(2*Vt) ";
}
cout << endl;
return State->GetMach();
case FG_ALTITUDE:
return State->Geth();
- case FG_I2VEL:
- return 1.0/(0.5 * State->GetVt());
+ case FG_BI2VEL:
+ return Aircraft->GetWingSpan()/(2.0 * State->GetVt());
+ case FG_CI2VEL:
+ return Aircraft->Getcbar()/(2.0 * State->GetVt());
}
return 0;
}
data = A.data;
} else {
data = alloc(rows,cols);
- for (int i=0; i<=rows; i++) {
- for (int j=0; j<=cols; j++) {
+ for (unsigned int i=0; i<=rows; i++) {
+ for (unsigned int j=0; j<=cols; j++) {
data[i][j] = A.data[i][j];
}
}
void FGMatrix::InitMatrix(double value)
{
if (data) {
- for (int i=0;i<=rows;i++) {
- for (int j=0;j<=cols;j++) {
+ for (unsigned int i=0;i<=rows;i++) {
+ for (unsigned int j=0;j<=cols;j++) {
operator()(i,j) = value;
}
}
FGMatrix Diff(A.Rows(),A.Cols());
Diff.keep=true;
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
Diff(i,j)=A(i,j)-B(i,j);
}
}
exit(1);
}
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
A(i,j)-=B(i,j);
}
}
FGMatrix Sum(A.Rows(),A.Cols());
Sum.keep = true;
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
Sum(i,j)=A(i,j)+B(i,j);
}
}
cout << endl;
exit(1);
}
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
A(i,j)+=B(i,j);
}
}
{
FGMatrix Product(A.Rows(),A.Cols());
Product.keep = true;
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
Product(i,j) = scalar*A(i,j);
}
}
void operator*=(FGMatrix &A,double scalar)
{
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
A(i,j)*=scalar;
}
}
FGMatrix Product(Left.Rows(),Right.Cols());
Product.keep = true;
- for (int i=1;i<=Left.Rows();i++) {
- for (int j=1;j<=Right.Cols();j++) {
+ for (unsigned int i=1;i<=Left.Rows();i++) {
+ for (unsigned int j=1;j<=Right.Cols();j++) {
Product(i,j) = 0;
- for (int k=1;k<=Left.Cols();k++) {
+ for (unsigned int k=1;k<=Left.Cols();k++) {
Product(i,j)+=Left(i,k)*Right(k,j);
}
}
double **prod;
prod=alloc(Left.Rows(),Right.Cols());
- for (int i=1;i<=Left.Rows();i++) {
- for (int j=1;j<=Right.Cols();j++) {
+ for (unsigned int i=1;i<=Left.Rows();i++) {
+ for (unsigned int j=1;j<=Right.Cols();j++) {
prod[i][j] = 0;
- for (int k=1;k<=Left.Cols();k++) {
+ for (unsigned int k=1;k<=Left.Cols();k++) {
prod[i][j]+=Left(i,k)*Right(k,j);
}
}
{
FGMatrix Quot(A.Rows(),A.Cols());
A.keep = true;
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
Quot(i,j)=A(i,j)/scalar;
}
}
void operator/=(FGMatrix &A,double scalar)
{
- for (int i=1;i<=A.Rows();i++) {
- for (int j=1;j<=A.Cols();j++) {
+ for (unsigned int i=1;i<=A.Rows();i++) {
+ for (unsigned int j=1;j<=A.Cols();j++) {
A(i,j)/=scalar;
}
}
void FGMatrix::TransposeSquare(void)
{
- for (int i=1;i<=rows;i++) {
- for (int j=i+1;j<=cols;j++) {
+ for (unsigned int i=1;i<=rows;i++) {
+ for (unsigned int j=i+1;j<=cols;j++) {
double tmp=data[i][j];
data[i][j]=data[j][i];
data[j][i]=tmp;
double **tran;
tran=alloc(rows,cols);
- for (int i=1;i<=rows;i++) {
- for (int j=1;j<=cols;j++) {
+ for (unsigned int i=1;i<=rows;i++) {
+ for (unsigned int j=1;j<=cols;j++) {
tran[j][i]=data[i][j];
}
}