/usr/include/libwildmagic/Wm5RVector3.inl is in libwildmagic-dev 5.13-1ubuntu3.
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | // 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.0 (2010/01/01)
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>::RVector3 ()
{
// the vector is uninitialized
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>::RVector3 (const RVector3& vec)
{
mTuple[0] = vec.mTuple[0];
mTuple[1] = vec.mTuple[1];
mTuple[2] = vec.mTuple[2];
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>::RVector3 (const RVector<3,ISIZE>& vec)
{
mTuple[0] = vec[0];
mTuple[1] = vec[1];
mTuple[2] = vec[2];
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>::RVector3 (const Rational<ISIZE>& x, const Rational<ISIZE>& y,
const Rational<ISIZE>& z)
{
mTuple[0] = x;
mTuple[1] = y;
mTuple[2] = z;
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>& RVector3<ISIZE>::operator= (const RVector3& vec)
{
mTuple[0] = vec.mTuple[0];
mTuple[1] = vec.mTuple[1];
mTuple[2] = vec.mTuple[2];
return *this;
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE>& RVector3<ISIZE>::operator= (const RVector<3,ISIZE>& vec)
{
mTuple[0] = vec[0];
mTuple[1] = vec[1];
mTuple[2] = vec[2];
return *this;
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE> RVector3<ISIZE>::X () const
{
return mTuple[0];
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE>& RVector3<ISIZE>::X ()
{
return mTuple[0];
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE> RVector3<ISIZE>::Y () const
{
return mTuple[1];
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE>& RVector3<ISIZE>::Y ()
{
return mTuple[1];
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE> RVector3<ISIZE>::Z () const
{
return mTuple[2];
}
//----------------------------------------------------------------------------
template <int ISIZE>
inline Rational<ISIZE>& RVector3<ISIZE>::Z ()
{
return mTuple[2];
}
//----------------------------------------------------------------------------
template <int ISIZE>
Rational<ISIZE> RVector3<ISIZE>::Dot (const RVector3& vec) const
{
return mTuple[0]*vec.mTuple[0] + mTuple[1]*vec.mTuple[1] +
mTuple[2]*vec.mTuple[2];
}
//----------------------------------------------------------------------------
template <int ISIZE>
RVector3<ISIZE> RVector3<ISIZE>::Cross (const RVector3& vec) const
{
return RVector3<ISIZE>(
mTuple[1]*vec.mTuple[2] - mTuple[2]*vec.mTuple[1],
mTuple[2]*vec.mTuple[0] - mTuple[0]*vec.mTuple[2],
mTuple[0]*vec.mTuple[1] - mTuple[1]*vec.mTuple[0]);
}
//----------------------------------------------------------------------------
template <int ISIZE>
Rational<ISIZE> RVector3<ISIZE>::TripleScalar (const RVector3& U,
const RVector3& V) const
{
return Dot(U.Cross(V));
}
//----------------------------------------------------------------------------
|