Hex  1.0
Hydrogen-electron collision solver
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
vec3d.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
2  * *
3  * / / / / __ \ \ / / *
4  * / /__ / / / _ \ \ \/ / *
5  * / ___ / | |/_/ / /\ \ *
6  * / / / / \_\ / / \ \ *
7  * *
8  * Jakub Benda (c) 2014 *
9  * Charles University in Prague *
10  * *
11 \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
12 
13 #ifndef HEX_VEC3D
14 #define HEX_VEC3D
15 
16 #include <iostream>
17 
19 struct vec3d
20 {
21  double x;
22  double y;
23  double z;
24 };
25 
27 std::ostream & operator << (std::ostream & os, vec3d const & v);
28 
30 std::istream & operator >> (std::istream & is, vec3d & v);
31 
33 double dot (vec3d const & u, vec3d const & v);
34 
36 vec3d cross (vec3d const & u, vec3d const & v);
37 
39 vec3d operator - (vec3d const & u, vec3d const & v);
40 
42 vec3d operator * (vec3d const & u, double a);
43 
45 double norm (vec3d const & v);
46 
48 vec3d normalize (vec3d const & v);
49 
50 #endif
std::ostream & operator<<(std::ostream &out, ArrayView< T > const &a)
Output to text stream.
Definition: arrays.h:1390
std::istream & operator>>(std::istream &is, std::pair< vec3d, vec3d > &p)
Definition: variables.h:84
Simple 3D vector class.
Definition: vec3d.h:19
double z
Definition: vec3d.h:23
vec3d normalize(vec3d const &v)
Return normal vector.
Definition: vec3d.cpp:110
vec3d operator-(vec3d const &u, vec3d const &v)
Vector difference.
Definition: vec3d.cpp:83
double y
Definition: vec3d.h:22
vec3d cross(vec3d const &u, vec3d const &v)
Cross product.
Definition: vec3d.cpp:72
auto operator*(std::complex< C1 > a, std::complex< C2 > b) -> std::complex< decltype(C1(0.)*C2(0.))>
Definition: complex.h:24
double dot(vec3d const &u, vec3d const &v)
Dot product.
Definition: vec3d.cpp:67
double norm(vec3d const &v)
Vector length.
Definition: vec3d.cpp:105
double x
Definition: vec3d.h:21