diff options
| author | Joe Ludwig <[email protected]> | 2013-07-17 18:26:59 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-07-17 18:26:59 -0700 |
| commit | e16ea21dc8a710237ade8413207f58d403c616a3 (patch) | |
| tree | 85dcfbda9881e4e022dedafefbc2727e2fd2aa59 /sp/src/public/mathlib/mathlib.h | |
| parent | Merge pull request #36 from AnAkIn1/fogplayerparams_fix (diff) | |
| download | source-sdk-2013-e16ea21dc8a710237ade8413207f58d403c616a3.tar.xz source-sdk-2013-e16ea21dc8a710237ade8413207f58d403c616a3.zip | |
* Added support for building shaders in your mod
* Added nav mesh support
* fixed many warnings and misc bugs
* Fixed the create*projects scripts in mp
* Added a bunch of stuff to .gitignore
Diffstat (limited to 'sp/src/public/mathlib/mathlib.h')
| -rw-r--r-- | sp/src/public/mathlib/mathlib.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sp/src/public/mathlib/mathlib.h b/sp/src/public/mathlib/mathlib.h index 83fdb6a0..e1873cd0 100644 --- a/sp/src/public/mathlib/mathlib.h +++ b/sp/src/public/mathlib/mathlib.h @@ -97,7 +97,9 @@ private: #ifdef DEBUG // stop crashing edit-and-continue
FORCEINLINE float clamp( float val, float minVal, float maxVal )
{
- if( val < minVal )
+ if ( maxVal < minVal )
+ return maxVal;
+ else if( val < minVal )
return minVal;
else if( val > maxVal )
return maxVal;
@@ -115,8 +117,8 @@ FORCEINLINE float clamp( float val, float minVal, float maxVal ) _mm_load_ss(&minVal) ),
_mm_load_ss(&maxVal) ) );
#else
- val = fpmin(maxVal, val);
val = fpmax(minVal, val);
+ val = fpmin(maxVal, val);
#endif
return val;
}
@@ -128,7 +130,9 @@ FORCEINLINE float clamp( float val, float minVal, float maxVal ) template< class T >
inline T clamp( T const &val, T const &minVal, T const &maxVal )
{
- if( val < minVal )
+ if ( maxVal < minVal )
+ return maxVal;
+ else if( val < minVal )
return minVal;
else if( val > maxVal )
return maxVal;
@@ -2172,9 +2176,9 @@ bool AlmostEqual(float a, float b, int maxUlps = 10); inline bool AlmostEqual( const Vector &a, const Vector &b, int maxUlps = 10)
{
- return AlmostEqual( a.x, a.x, maxUlps ) &&
- AlmostEqual( a.y, a.y, maxUlps ) &&
- AlmostEqual( a.z, a.z, maxUlps );
+ return AlmostEqual( a.x, b.x, maxUlps ) &&
+ AlmostEqual( a.y, b.y, maxUlps ) &&
+ AlmostEqual( a.z, b.z, maxUlps );
}
|