aboutsummaryrefslogtreecommitdiff
path: root/sp/src/public/nvector.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/public/nvector.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/public/nvector.h')
-rw-r--r--sp/src/public/nvector.h406
1 files changed, 203 insertions, 203 deletions
diff --git a/sp/src/public/nvector.h b/sp/src/public/nvector.h
index 677dc0d0..e80b317f 100644
--- a/sp/src/public/nvector.h
+++ b/sp/src/public/nvector.h
@@ -1,203 +1,203 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef NVECTOR_H
-#define NVECTOR_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-
-#include <math.h>
-
-
-#define NVectorN NVector<N>
-#define NVector3 NVector<3>
-
-
-// N-dimensional vector.
-template<int N>
-class NVector
-{
-public:
-
- NVectorN() {}
-
- float& operator[]( int i );
- float const& operator[]( int i ) const;
-
- float Dot( NVectorN const &b ) const;
- NVectorN Cross( NVectorN const &b ) const;
- NVectorN Normalize() const;
- float Length() const;
-
- NVectorN operator-() const;
- NVectorN operator+( NVectorN const &b ) const;
- NVectorN const &operator+=( NVectorN const &b );
- NVectorN operator-( NVectorN const &b ) const;
- NVectorN operator*( float val ) const;
-
-
-// Static helpers.
-public:
-
- static NVectorN SetupNVectorNull(); // Returns a vector of all zeros.
-
-
-public:
-
- float v[N];
-};
-
-
-template<int N>
-inline float NDot( NVector<N> const &a, NVector<N> const &b )
-{
- float ret = 0;
- for( int i=0; i < N; i++ )
- ret += a.v[i] * b.v[i];
- return ret;
-}
-
-template<int N>
-Vector& ToVec( NVector<N> &vec ) {assert( N >= 3 ); return *((Vector*)&vec);}
-
-template<int N>
-Vector const& ToVec( NVector<N> const &vec ){assert( N >= 3 ); return *((Vector const*)&vec);}
-
-NVector<3>& ToNVec( Vector &vec ) {return *((NVector<3>*)&vec);}
-NVector<3> const& ToNVec( Vector const &vec ) {return *((NVector<3> const*)&vec);}
-
-
-// ------------------------------------------------------------------------------------ //
-// NVector inlines.
-// ------------------------------------------------------------------------------------ //
-
-template<int N>
-NVectorN NVectorN::SetupNVectorNull()
-{
- NVector<N> ret;
- memset( ret.v, 0, sizeof(float)*N );
- return ret;
-}
-
-
-template<int N>
-float& NVectorN::operator[]( int i )
-{
- assert( i >= 0 && i < N );
- return v[i];
-}
-
-
-template<int N>
-float const& NVectorN::operator[]( int i ) const
-{
- assert( i >= 0 && i < N );
- return v[i];
-}
-
-
-template<int N>
-float NVectorN::Dot( NVectorN const &b ) const
-{
- float ret = 0;
-
- for( int i=0; i < N; i++ )
- ret += v[i]*b.v[i];
-
- return ret;
-}
-
-
-template<int N>
-NVectorN NVectorN::Cross( NVectorN const &b ) const
-{
- NVector<N> ret;
- NMatrix<N-1> mat;
-
- for( int i=0; i < N; i++ )
- {
- for( y=0; y < N; y++ )
- for( x=0; x < N; x++ )
- mat.m[y][x] =
-
- ret.v[i] = v[i]*b.v[i];
- }
-
- return ret;
-}
-
-
-template<int N>
-NVectorN NVectorN::Normalize() const
-{
- return *this * (1.0f / Length());
-}
-
-
-template<int N>
-float NVectorN::Length() const
-{
- return (float)sqrt( Dot(*this) );
-}
-
-
-template<int N>
-NVectorN NVectorN::operator-() const
-{
- NVectorN ret;
- for( int i=0; i < N; i++ )
- ret.v[i] = -v[i];
- return ret;
-}
-
-
-template<int N>
-NVectorN NVectorN::operator+( NVectorN const &b ) const
-{
- NVectorN ret;
-
- for( int i=0; i < N; i++ )
- ret.v[i] = v[i]+b.v[i];
-
- return ret;
-}
-
-
-template<int N>
-NVectorN const &NVectorN::operator+=( NVectorN const &b )
-{
- for( int i=0; i < N; i++ )
- v[i] += b.v[i];
- return *this;
-}
-
-
-template<int N>
-NVectorN NVectorN::operator-( NVectorN const &b ) const
-{
- NVectorN ret;
-
- for( int i=0; i < N; i++ )
- ret.v[i] = v[i]-b.v[i];
-
- return ret;
-}
-
-template<int N>
-NVectorN NVectorN::operator*( float val ) const
-{
- NVectorN ret;
- for( int i=0; i < N; i++ )
- ret.v[i] = v[i] * val;
- return ret;
-}
-
-
-#endif // NVECTOR_H
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef NVECTOR_H
+#define NVECTOR_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include <math.h>
+
+
+#define NVectorN NVector<N>
+#define NVector3 NVector<3>
+
+
+// N-dimensional vector.
+template<int N>
+class NVector
+{
+public:
+
+ NVectorN() {}
+
+ float& operator[]( int i );
+ float const& operator[]( int i ) const;
+
+ float Dot( NVectorN const &b ) const;
+ NVectorN Cross( NVectorN const &b ) const;
+ NVectorN Normalize() const;
+ float Length() const;
+
+ NVectorN operator-() const;
+ NVectorN operator+( NVectorN const &b ) const;
+ NVectorN const &operator+=( NVectorN const &b );
+ NVectorN operator-( NVectorN const &b ) const;
+ NVectorN operator*( float val ) const;
+
+
+// Static helpers.
+public:
+
+ static NVectorN SetupNVectorNull(); // Returns a vector of all zeros.
+
+
+public:
+
+ float v[N];
+};
+
+
+template<int N>
+inline float NDot( NVector<N> const &a, NVector<N> const &b )
+{
+ float ret = 0;
+ for( int i=0; i < N; i++ )
+ ret += a.v[i] * b.v[i];
+ return ret;
+}
+
+template<int N>
+Vector& ToVec( NVector<N> &vec ) {assert( N >= 3 ); return *((Vector*)&vec);}
+
+template<int N>
+Vector const& ToVec( NVector<N> const &vec ){assert( N >= 3 ); return *((Vector const*)&vec);}
+
+NVector<3>& ToNVec( Vector &vec ) {return *((NVector<3>*)&vec);}
+NVector<3> const& ToNVec( Vector const &vec ) {return *((NVector<3> const*)&vec);}
+
+
+// ------------------------------------------------------------------------------------ //
+// NVector inlines.
+// ------------------------------------------------------------------------------------ //
+
+template<int N>
+NVectorN NVectorN::SetupNVectorNull()
+{
+ NVector<N> ret;
+ memset( ret.v, 0, sizeof(float)*N );
+ return ret;
+}
+
+
+template<int N>
+float& NVectorN::operator[]( int i )
+{
+ assert( i >= 0 && i < N );
+ return v[i];
+}
+
+
+template<int N>
+float const& NVectorN::operator[]( int i ) const
+{
+ assert( i >= 0 && i < N );
+ return v[i];
+}
+
+
+template<int N>
+float NVectorN::Dot( NVectorN const &b ) const
+{
+ float ret = 0;
+
+ for( int i=0; i < N; i++ )
+ ret += v[i]*b.v[i];
+
+ return ret;
+}
+
+
+template<int N>
+NVectorN NVectorN::Cross( NVectorN const &b ) const
+{
+ NVector<N> ret;
+ NMatrix<N-1> mat;
+
+ for( int i=0; i < N; i++ )
+ {
+ for( y=0; y < N; y++ )
+ for( x=0; x < N; x++ )
+ mat.m[y][x] =
+
+ ret.v[i] = v[i]*b.v[i];
+ }
+
+ return ret;
+}
+
+
+template<int N>
+NVectorN NVectorN::Normalize() const
+{
+ return *this * (1.0f / Length());
+}
+
+
+template<int N>
+float NVectorN::Length() const
+{
+ return (float)sqrt( Dot(*this) );
+}
+
+
+template<int N>
+NVectorN NVectorN::operator-() const
+{
+ NVectorN ret;
+ for( int i=0; i < N; i++ )
+ ret.v[i] = -v[i];
+ return ret;
+}
+
+
+template<int N>
+NVectorN NVectorN::operator+( NVectorN const &b ) const
+{
+ NVectorN ret;
+
+ for( int i=0; i < N; i++ )
+ ret.v[i] = v[i]+b.v[i];
+
+ return ret;
+}
+
+
+template<int N>
+NVectorN const &NVectorN::operator+=( NVectorN const &b )
+{
+ for( int i=0; i < N; i++ )
+ v[i] += b.v[i];
+ return *this;
+}
+
+
+template<int N>
+NVectorN NVectorN::operator-( NVectorN const &b ) const
+{
+ NVectorN ret;
+
+ for( int i=0; i < N; i++ )
+ ret.v[i] = v[i]-b.v[i];
+
+ return ret;
+}
+
+template<int N>
+NVectorN NVectorN::operator*( float val ) const
+{
+ NVectorN ret;
+ for( int i=0; i < N; i++ )
+ ret.v[i] = v[i] * val;
+ return ret;
+}
+
+
+#endif // NVECTOR_H
+