BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_cross.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
21
31
32#ifndef BELFEM_FN_CROSS_HPP
33#define BELFEM_FN_CROSS_HPP
34
35#include "assert.hpp"
36#ifdef BELFEM_ARMADILLO
37#include "fn_AR_cross.hpp"
38#elif BELFEM_BLAZE
39#include "fn_BZ_cross.hpp"
40#endif
41
42
43namespace belfem
44{
45 template < typename T >
46 auto
47 cross( const Vector< T > & aA, const Vector< T > & aB )
48 -> decltype( cross( aA.vector_data(), aB.vector_data() ) )
49 {
50 BELFEM_ASSERT( aA.length() == 3 && aB.length() == 3,
51 "Both vectors must have a length of 3");
52
53 return cross( aA.vector_data(), aB.vector_data() );
54 }
55}
56#endif //BELFEM_FN_CROSS_HPP
#define BELFEM_ASSERT(aCheck,...)
Definition assert.hpp:244
Column vector.
Definition cl_BZ_Vector.hpp:41
USER GUIDES:
Definition cl_Capacitor.cpp:16
auto cross(const ET &aA, const ET &aB) -> decltype(arma::cross(aA, aB))
Definition fn_AR_cross.hpp:23