pow is total overkill for x*x, introduce pow2 inline function to fix it.

fix a warning.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2323 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard 2009-02-20 22:17:26 +00:00
parent 98bf1695c1
commit d3f7349692
3 changed files with 7 additions and 3 deletions

View File

@ -27,6 +27,9 @@
uses round towards zero. uses round towards zero.
*/ */
inline float pow2f(float x) {return x * x;}
inline double pow2(double x) {return x * x;}
void SaveSSEState(); void SaveSSEState();
void LoadSSEState(); void LoadSSEState();
void LoadDefaultSSEState(); void LoadDefaultSSEState();

View File

@ -257,7 +257,7 @@ CPluginInfo::CPluginInfo(const char *_rFilename)
If the user has done that he will instead get the "Can't open %s, it's missing" message. */ If the user has done that he will instead get the "Can't open %s, it's missing" message. */
void CPluginManager::GetPluginInfo(CPluginInfo *&info, std::string Filename) void CPluginManager::GetPluginInfo(CPluginInfo *&info, std::string Filename)
{ {
for (int i = 0; i < m_PluginInfos.size(); i++) for (int i = 0; i < (int)m_PluginInfos.size(); i++)
{ {
if (m_PluginInfos.at(i).GetFilename() == Filename) if (m_PluginInfos.at(i).GetFilename() == Filename)
{ {

View File

@ -26,6 +26,7 @@
#include "../../../Core/InputCommon/Src/XInput.h" #include "../../../Core/InputCommon/Src/XInput.h"
#include "Common.h" // Common #include "Common.h" // Common
#include "MathUtil.h"
#include "StringUtil.h" // for ArrayToString() #include "StringUtil.h" // for ArrayToString()
#include "IniFile.h" #include "IniFile.h"
#include "pluginspecs_wiimote.h" #include "pluginspecs_wiimote.h"
@ -133,10 +134,10 @@ void PitchDegreeToAccelerometer(float _Roll, float _Pitch, u8 &_x, u8 &_y, u8 &_
/* I got these from reversing the calculation in PitchAccelerometerToDegree() in a math program /* I got these from reversing the calculation in PitchAccelerometerToDegree() in a math program
I don't know if we can derive these from some kind of matrix or something */ I don't know if we can derive these from some kind of matrix or something */
float x_num = 2 * tanf(0.5f * _Roll) * z; float x_num = 2 * tanf(0.5f * _Roll) * z;
float x_den = powf(tanf(0.5f * _Roll), 2) - 1; float x_den = pow2f(tanf(0.5f * _Roll)) - 1;
x = - (x_num / x_den); x = - (x_num / x_den);
float y_num = 2 * tanf(0.5f * _Pitch) * z; float y_num = 2 * tanf(0.5f * _Pitch) * z;
float y_den = powf(tanf(0.5f * _Pitch), 2) - 1; float y_den = pow2f(tanf(0.5f * _Pitch)) - 1;
y = - (y_num / y_den); y = - (y_num / y_den);
// ========================= // =========================
} }