blitz
Version 0.9
Main Page
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
blitz
tvcross.h
Go to the documentation of this file.
1
/***************************************************************************
2
* blitz/tvcross.h Cross product of TinyVector<N,3>'s
3
*
4
* $Id: tvcross.h,v 1.4 2003/12/11 03:44:22 julianc Exp $
5
*
6
* Copyright (C) 1997-2001 Todd Veldhuizen <tveldhui@oonumerics.org>
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* as published by the Free Software Foundation; either version 2
11
* of the License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* Suggestions: blitz-dev@oonumerics.org
19
* Bugs: blitz-bugs@oonumerics.org
20
*
21
* For more information, please see the Blitz++ Home Page:
22
* http://oonumerics.org/blitz/
23
*
24
***************************************************************************/
25
26
#ifndef BZ_TVCROSS_H
27
#define BZ_TVCROSS_H
28
29
#ifndef BZ_TINYVEC_H
30
#error <blitz/tvcross.h> must be included via <blitz/tinyvec.h>
31
#endif
32
33
BZ_NAMESPACE
(blitz)
34
35
/*
36
* cross product.
37
*
38
* NEEDS_WORK: - cross product of two different vector types
39
* - cross product involving expressions
40
*/
41
42
template<typename T_numtype>
43
TinyVector
<T_numtype,3>
cross
(const
TinyVector
<T_numtype,3>& x,
44
const
TinyVector
<T_numtype,3>& y)
45
{
46
return
TinyVector<T_numtype,3>
(x[1]*y[2] - y[1]*x[2],
47
y[0]*x[2] - x[0]*y[2], x[0]*y[1] - y[0]*x[1]);
48
}
49
50
51
BZ_NAMESPACE_END
52
53
#endif // BZ_TVCROSS_H
Generated on Fri Jun 15 2012 12:01:12 for blitz by
1.8.1.1