t8  1.2.0
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
t8_vec.h
Go to the documentation of this file.
1 /*
2  This file is part of t8code.
3  t8code is a C library to manage a collection (a forest) of multiple
4  connected adaptive space-trees of general element classes in parallel.
5 
6  Copyright (C) 2015 the developers
7 
8  t8code is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  t8code 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  You should have received a copy of the GNU General Public License
19  along with t8code; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
27 #ifndef T8_VEC_H
28 #define T8_VEC_H
29 
30 #include <t8.h>
31 
32 T8_EXTERN_C_BEGIN ();
33 
38 double t8_vec_norm (const double vec[3]);
39 
46 double t8_vec_dist (const double vec_x[3],
47  const double vec_y[3]);
48 
53 void t8_vec_ax (double vec_x[3], const double alpha);
54 
60 void t8_vec_axy (const double vec_x[3], double vec_y[3],
61  const double alpha);
62 
71 void t8_vec_axb (const double vec_x[3], double vec_y[3],
72  const double alpha, const double b);
73 
80 void t8_vec_axpy (const double vec_x[3], double vec_y[3],
81  const double alpha);
82 
88 void t8_vec_axpyz (const double vec_x[3],
89  const double vec_y[3], double vec_z[3],
90  const double alpha);
91 
97 double t8_vec_dot (const double vec_x[3], const double vec_y[3]);
98 
104 void t8_vec_cross (const double vec_x[3],
105  const double vec_y[3], double cross[3]);
106 
107 T8_EXTERN_C_END ();
108 
109 #endif /* !T8_VEC_H! */
This is the administrative header file for t8code.
void t8_vec_axy(const double vec_x[3], double vec_y[3], const double alpha)
Compute Y = alpha * X.
Definition: t8_vec.c:56
void t8_vec_axpy(const double vec_x[3], double vec_y[3], const double alpha)
Y = Y + alpha * X.
Definition: t8_vec.c:75
void t8_vec_cross(const double vec_x[3], const double vec_y[3], double cross[3])
Cross product of X and Y.
Definition: t8_vec.c:104
void t8_vec_axb(const double vec_x[3], double vec_y[3], const double alpha, const double b)
Y = alpha * X + b.
Definition: t8_vec.c:65
double t8_vec_dist(const double vec_x[3], const double vec_y[3])
Euclidean distance of X and Y.
Definition: t8_vec.c:37
double t8_vec_dot(const double vec_x[3], const double vec_y[3])
Dot product of X and Y.
Definition: t8_vec.c:93
double t8_vec_norm(const double vec[3])
Vector norm.
Definition: t8_vec.c:26
void t8_vec_axpyz(const double vec_x[3], const double vec_y[3], double vec_z[3], const double alpha)
Z = Y + alpha * X.
Definition: t8_vec.c:84
void t8_vec_ax(double vec_x[3], const double alpha)
Compute X = alpha * X.
Definition: t8_vec.c:48