/usr/include/libwildmagic/Wm5RVector.h is in libwildmagic-dev 5.13-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | // Geometric Tools, LLC
// Copyright (c) 1998-2014
// Distributed under the Boost Software License, Version 1.0.
// http://www.boost.org/LICENSE_1_0.txt
// http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
//
// File Version: 5.0.1 (2011/03/27)
#ifndef WM5RVECTOR_H
#define WM5RVECTOR_H
#include "Wm5MathematicsLIB.h"
#include "Wm5Rational.h"
namespace Wm5
{
template <int VSIZE, int ISIZE>
class RVector
{
public:
// Construction.
RVector ();
RVector (const RVector& vec);
// Coordinate access.
inline operator const Rational<ISIZE>* () const;
inline operator Rational<ISIZE>* ();
inline const Rational<ISIZE>& operator[] (int i) const;
inline Rational<ISIZE>& operator[] (int i);
// Assignment.
RVector& operator= (const RVector& vec);
// Comparison.
bool operator== (const RVector& vec) const;
bool operator!= (const RVector& vec) const;
bool operator< (const RVector& vec) const;
bool operator<= (const RVector& vec) const;
bool operator> (const RVector& vec) const;
bool operator>= (const RVector& vec) const;
// Arithmetic operations.
RVector operator+ (const RVector& vec) const;
RVector operator- (const RVector& vec) const;
RVector operator* (const Rational<ISIZE>& scalar) const;
RVector operator/ (const Rational<ISIZE>& scalar) const;
RVector operator- () const;
// Arithmetic updates.
RVector& operator+= (const RVector& vec);
RVector& operator-= (const RVector& vec);
RVector& operator*= (const Rational<ISIZE>& scalar);
RVector& operator/= (const Rational<ISIZE>& scalar);
// Vector operations.
Rational<ISIZE> SquaredLength () const;
Rational<ISIZE> Dot (const RVector& vec) const;
protected:
// Support for comparisons.
int CompareArrays (const RVector& vec) const;
Rational<ISIZE> mTuple[VSIZE];
};
template <int VSIZE, int ISIZE>
RVector<VSIZE,ISIZE> operator* (const Rational<ISIZE>& scalar,
const RVector<VSIZE,ISIZE>& vec);
#include "Wm5RVector.inl"
}
#endif
|