📄 mymath.cpp
字号:
#endif
if(abs(e21)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e21 = (e21>>PHT_EXT)*s;
else
e21 = e21*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(e22)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(e22)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e22 = (e22>>PHT_EXT)*s;
else
e22 = e22*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(e23)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(e23)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e23 = (e23>>PHT_EXT)*s;
else
e23 = e23*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(e31)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(e31)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e31 = (e31>>PHT_EXT)*s;
else
e31 = e31*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(e32)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(e32)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e32 = (e32>>PHT_EXT)*s;
else
e32 = e32*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(e33)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(e33)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e33 = (e33>>PHT_EXT)*s;
else
e33 = e33*s>>PHT_EXT;
return *this;
}
Matrix3x3& Matrix3x3::operator/=(PhType s)
{
e11 = e11<<PHT_EXT;
e11 /= s;
e12 = e12<<PHT_EXT;
e12 /= s;
e13 = e13<<PHT_EXT;
e13 /= s;
e21 = e21<<PHT_EXT;
e21 /= s;
e22 = e22<<PHT_EXT;
e22 /= s;
e23 = e23<<PHT_EXT;
e23 /= s;
e31 = e31<<PHT_EXT;
e31 /= s;
e32 = e32<<PHT_EXT;
e32 /= s;
e33 = e33<<PHT_EXT;
e33 /= s;
return *this;
}
Matrix3x3 operator+(Matrix3x3 m1, Matrix3x3 m2)
{
return Matrix3x3( m1.e11+m2.e11,
m1.e12+m2.e12,
m1.e13+m2.e13,
m1.e21+m2.e21,
m1.e22+m2.e22,
m1.e23+m2.e23,
m1.e31+m2.e31,
m1.e32+m2.e32,
m1.e33+m2.e33);
}
Matrix3x3 operator-(Matrix3x3 m1, Matrix3x3 m2)
{
return Matrix3x3( m1.e11-m2.e11,
m1.e12-m2.e12,
m1.e13-m2.e13,
m1.e21-m2.e21,
m1.e22-m2.e22,
m1.e23-m2.e23,
m1.e31-m2.e31,
m1.e32-m2.e32,
m1.e33-m2.e33);
}
Matrix3x3 operator/(Matrix3x3 m, PhType s)
{
return Matrix3x3( (m.e11<<PHT_EXT)/s,
(m.e12<<PHT_EXT)/s,
(m.e13<<PHT_EXT)/s,
(m.e21<<PHT_EXT)/s,
(m.e22<<PHT_EXT)/s,
(m.e23<<PHT_EXT)/s,
(m.e31<<PHT_EXT)/s,
(m.e32<<PHT_EXT)/s,
(m.e33<<PHT_EXT)/s);
}
Matrix3x3 operator*(Matrix3x3 m1, Matrix3x3 m2)
{
#ifdef USE_FLOAT
return Matrix3x3( m1.e11*m2.e11 + m1.e12*m2.e21 + m1.e13*m2.e31,
m1.e11*m2.e12 + m1.e12*m2.e22 + m1.e13*m2.e32,
m1.e11*m2.e13 + m1.e12*m2.e23 + m1.e13*m2.e33,
m1.e21*m2.e11 + m1.e22*m2.e21 + m1.e23*m2.e31,
m1.e21*m2.e12 + m1.e22*m2.e22 + m1.e23*m2.e32,
m1.e21*m2.e13 + m1.e22*m2.e23 + m1.e23*m2.e33,
m1.e31*m2.e11 + m1.e32*m2.e21 + m1.e33*m2.e31,
m1.e31*m2.e12 + m1.e32*m2.e22 + m1.e33*m2.e32,
m1.e31*m2.e13 + m1.e32*m2.e23 + m1.e33*m2.e33 );
#else
Matrix3x3 m;
//m1.e11*m2.e11 + m1.e12*m2.e21 + m1.e13*m2.e31
#ifdef DEBUG_OVERFLOW
if(abs(m1.e11)>=DANGER_VALUET&&abs(m2.e11)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e11)>=CRIT_VALUE&&abs(m2.e11)>=CRIT_VALUE)
m.e11 += (m1.e11>>TRI_EXT)*m2.e11;
else
m.e11 += m1.e11*m2.e11>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e12)>=DANGER_VALUET&&abs(m2.e21)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e12)>=CRIT_VALUE&&abs(m2.e21)>=CRIT_VALUE)
m.e11 += (m1.e12>>TRI_EXT)*m2.e21;
else
m.e11 += m1.e12*m2.e21>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e13)>=DANGER_VALUET&&abs(m2.e31)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e13)>=CRIT_VALUE&&abs(m2.e31)>=CRIT_VALUE)
m.e11 += (m1.e13>>TRI_EXT)*m2.e31;
else
m.e11 += m1.e13*m2.e31>>TRI_EXT;
//m1.e11*m2.e12 + m1.e12*m2.e22 + m1.e13*m2.e32
#ifdef DEBUG_OVERFLOW
if(abs(m1.e11)>=DANGER_VALUET&&abs(m2.e12)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e11)>=CRIT_VALUE&&abs(m2.e12)>=CRIT_VALUE)
m.e12 += (m1.e11>>TRI_EXT)*m2.e12;
else
m.e12 += m1.e11*m2.e12>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e12)>=DANGER_VALUET&&abs(m2.e22)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e12)>=CRIT_VALUE&&abs(m2.e22)>=CRIT_VALUE)
m.e12 += (m1.e12>>TRI_EXT)*m2.e22;
else
m.e12 += m1.e12*m2.e22>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e13)>=DANGER_VALUET&&abs(m2.e32)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e13)>=CRIT_VALUE&&abs(m2.e32)>=CRIT_VALUE)
m.e12 += (m1.e13>>TRI_EXT)*m2.e32;
else
m.e12 += m1.e13*m2.e32>>TRI_EXT;
//m1.e11*m2.e13 + m1.e12*m2.e23 + m1.e13*m2.e33
#ifdef DEBUG_OVERFLOW
if(abs(m1.e11)>=DANGER_VALUET&&abs(m2.e13)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e11)>=CRIT_VALUE&&abs(m2.e13)>=CRIT_VALUE)
m.e13 += (m1.e11>>TRI_EXT)*m2.e13;
else
m.e13 += m1.e11*m2.e13>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e12)>=DANGER_VALUET&&abs(m2.e23)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e12)>=CRIT_VALUE&&abs(m2.e23)>=CRIT_VALUE)
m.e13 += (m1.e12>>TRI_EXT)*m2.e23;
else
m.e13 += m1.e12*m2.e23>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e13)>=DANGER_VALUET&&abs(m2.e33)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e13)>=CRIT_VALUE&&abs(m2.e33)>=CRIT_VALUE)
m.e13 += (m1.e13>>TRI_EXT)*m2.e33;
else
m.e13 += m1.e13*m2.e33>>TRI_EXT;
//m1.e21*m2.e11 + m1.e22*m2.e21 + m1.e23*m2.e31
#ifdef DEBUG_OVERFLOW
if(abs(m1.e21)>=DANGER_VALUET&&abs(m2.e11)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e21)>=CRIT_VALUE&&abs(m2.e11)>=CRIT_VALUE)
m.e21 += (m1.e21>>TRI_EXT)*m2.e11;
else
m.e21 += m1.e21*m2.e11>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e22)>=DANGER_VALUET&&abs(m2.e21)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e22)>=CRIT_VALUE&&abs(m2.e21)>=CRIT_VALUE)
m.e21 += (m1.e22>>TRI_EXT)*m2.e21;
else
m.e21 += m1.e22*m2.e21>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e23)>=DANGER_VALUET&&abs(m2.e31)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e23)>=CRIT_VALUE&&abs(m2.e31)>=CRIT_VALUE)
m.e21 += (m1.e23>>TRI_EXT)*m2.e31;
else
m.e21 += m1.e23*m2.e31>>TRI_EXT;
//m1.e21*m2.e12 + m1.e22*m2.e22 + m1.e23*m2.e32
#ifdef DEBUG_OVERFLOW
if(abs(m1.e21)>=DANGER_VALUET&&abs(m2.e12)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e21)>=CRIT_VALUE&&abs(m2.e12)>=CRIT_VALUE)
m.e22 += (m1.e21>>TRI_EXT)*m2.e12;
else
m.e22 += m1.e21*m2.e12>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e22)>=DANGER_VALUET&&abs(m2.e22)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e22)>=CRIT_VALUE&&abs(m2.e22)>=CRIT_VALUE)
m.e22 += (m1.e22>>TRI_EXT)*m2.e22;
else
m.e22 += m1.e22*m2.e22>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e23)>=DANGER_VALUET&&abs(m2.e32)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e23)>=CRIT_VALUE&&abs(m2.e32)>=CRIT_VALUE)
m.e22 += (m1.e23>>TRI_EXT)*m2.e32;
else
m.e22 += m1.e23*m2.e32>>TRI_EXT;
//m1.e21*m2.e13 + m1.e22*m2.e23 + m1.e23*m2.e33
#ifdef DEBUG_OVERFLOW
if(abs(m1.e21)>=DANGER_VALUET&&abs(m2.e13)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e21)>=CRIT_VALUE&&abs(m2.e13)>=CRIT_VALUE)
m.e23 += (m1.e21>>TRI_EXT)*m2.e13;
else
m.e23 += m1.e21*m2.e13>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e22)>=DANGER_VALUET&&abs(m2.e23)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e22)>=CRIT_VALUE&&abs(m2.e23)>=CRIT_VALUE)
m.e23 += (m1.e22>>TRI_EXT)*m2.e23;
else
m.e23 += m1.e22*m2.e23>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e23)>=DANGER_VALUET&&abs(m2.e33)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e23)>=CRIT_VALUE&&abs(m2.e33)>=CRIT_VALUE)
m.e23 += (m1.e23>>TRI_EXT)*m2.e33;
else
m.e23 += m1.e23*m2.e33>>TRI_EXT;
//m1.e31*m2.e11 + m1.e32*m2.e21 + m1.e33*m2.e31
#ifdef DEBUG_OVERFLOW
if(abs(m1.e31)>=DANGER_VALUET&&abs(m2.e11)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e31)>=CRIT_VALUE&&abs(m2.e11)>=CRIT_VALUE)
m.e31 += (m1.e31>>TRI_EXT)*m2.e11;
else
m.e31 += m1.e31*m2.e11>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e32)>=DANGER_VALUET&&abs(m2.e21)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e32)>=CRIT_VALUE&&abs(m2.e21)>=CRIT_VALUE)
m.e31 += (m1.e32>>TRI_EXT)*m2.e21;
else
m.e31 += m1.e32*m2.e21>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e33)>=DANGER_VALUET&&abs(m2.e31)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e33)>=CRIT_VALUE&&abs(m2.e31)>=CRIT_VALUE)
m.e31 += (m1.e33>>TRI_EXT)*m2.e31;
else
m.e31 += m1.e33*m2.e31>>TRI_EXT;
//m1.e31*m2.e12 + m1.e32*m2.e22 + m1.e33*m2.e32
#ifdef DEBUG_OVERFLOW
if(abs(m1.e31)>=DANGER_VALUET&&abs(m2.e12)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e31)>=CRIT_VALUE&&abs(m2.e12)>=CRIT_VALUE)
m.e32 += (m1.e31>>TRI_EXT)*m2.e12;
else
m.e32 += m1.e31*m2.e12>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e32)>=DANGER_VALUET&&abs(m2.e22)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e32)>=CRIT_VALUE&&abs(m2.e22)>=CRIT_VALUE)
m.e32 += (m1.e32>>TRI_EXT)*m2.e22;
else
m.e32 += m1.e32*m2.e22>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e33)>=DANGER_VALUET&&abs(m2.e32)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e33)>=CRIT_VALUE&&abs(m2.e32)>=CRIT_VALUE)
m.e32 += (m1.e33>>TRI_EXT)*m2.e32;
else
m.e32 += m1.e33*m2.e32>>TRI_EXT;
//m1.e31*m2.e13 + m1.e32*m2.e23 + m1.e33*m2.e33
#ifdef DEBUG_OVERFLOW
if(abs(m1.e31)>=DANGER_VALUET&&abs(m2.e13)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e31)>=CRIT_VALUE&&abs(m2.e13)>=CRIT_VALUE)
m.e33 += (m1.e31>>TRI_EXT)*m2.e13;
else
m.e33 += m1.e31*m2.e13>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e32)>=DANGER_VALUET&&abs(m2.e23)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e32)>=CRIT_VALUE&&abs(m2.e23)>=CRIT_VALUE)
m.e33 += (m1.e32>>TRI_EXT)*m2.e23;
else
m.e33 += m1.e32*m2.e23>>TRI_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m1.e33)>=DANGER_VALUET&&abs(m2.e33)>=DANGER_VALUET)
myPrintError("ERROR_T");
#endif
if(abs(m1.e33)>=CRIT_VALUE&&abs(m2.e33)>=CRIT_VALUE)
m.e33 += (m1.e33>>TRI_EXT)*m2.e33;
else
m.e33 += m1.e33*m2.e33>>TRI_EXT;
return m;
#endif
}
Matrix3x3 operator*(Matrix3x3 m, PhType s)
{
PhType e11,e12,e13,e21,e22,e23,e31,e32,e33;
#ifdef DEBUG_OVERFLOW
if(abs(m.e11)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e11)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e11 = (m.e11>>PHT_EXT)*s;
else
e11 = m.e11*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e12)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e12)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e12 = (m.e12>>PHT_EXT)*s;
else
e12 = m.e12*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e13)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e13)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e13 = (m.e13>>PHT_EXT)*s;
else
e13 = m.e13*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e21)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e21)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e21 = (m.e21>>PHT_EXT)*s;
else
e21 = m.e21*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e22)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e22)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e22 = (m.e22>>PHT_EXT)*s;
else
e22 = m.e22*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e23)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e23)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e23 = (m.e23>>PHT_EXT)*s;
else
e23 = m.e23*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e31)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e31)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e31 = (m.e31>>PHT_EXT)*s;
else
e31 = m.e31*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e32)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e32)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e32 = (m.e32>>PHT_EXT)*s;
else
e32 = m.e32*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e33)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e33)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e33 = (m.e33>>PHT_EXT)*s;
else
e33 = m.e33*s>>PHT_EXT;
return Matrix3x3( e11,e12,e13,
e21,e22,e23,
e31,e32,e33 );
}
Matrix3x3 operator*(PhType s, Matrix3x3 m)
{
PhType e11,e12,e13,e21,e22,e23,e31,e32,e33;
#ifdef DEBUG_OVERFLOW
if(abs(m.e11)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e11)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e11 = (m.e11>>PHT_EXT)*s;
else
e11 = m.e11*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e12)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e12)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e12 = (m.e12>>PHT_EXT)*s;
else
e12 = m.e12*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e13)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e13)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e13 = (m.e13>>PHT_EXT)*s;
else
e13 = m.e13*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e21)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e21)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e21 = (m.e21>>PHT_EXT)*s;
else
e21 = m.e21*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e22)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e22)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e22 = (m.e22>>PHT_EXT)*s;
else
e22 = m.e22*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e23)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e23)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e23 = (m.e23>>PHT_EXT)*s;
else
e23 = m.e23*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e31)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e31)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e31 = (m.e31>>PHT_EXT)*s;
else
e31 = m.e31*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e32)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
#endif
if(abs(m.e32)>=CRIT_VALUE&&abs(s)>=CRIT_VALUE)
e32 = (m.e32>>PHT_EXT)*s;
else
e32 = m.e32*s>>PHT_EXT;
#ifdef DEBUG_OVERFLOW
if(abs(m.e33)>=DANGER_VALUE&&abs(s)>=DANGER_VALUE)
myPrintError("ERROR");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -