NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
vec3.hpp File Reference
#include <Kokkos_Core.hpp>
#include "NeoN/core/primitives/scalar.hpp"
#include "NeoN/core/primitives/label.hpp"
#include "NeoN/core/primitives/traits.hpp"

Go to the source code of this file.

Classes

class  NeoN::Vec3
 A class for the representation of a 3D Vec3. More...
 

Namespaces

namespace  NeoN
 Integer types used throughout NeoN.
 

Functions

KOKKOS_INLINE_FUNCTION Vec3 NeoN::operator* (const scalar &sclr, Vec3 rhs)
 
KOKKOS_INLINE_FUNCTION Vec3 NeoN::operator* (const Vec3 &lhs, Vec3 rhs)
 compute component wise product
 
KOKKOS_INLINE_FUNCTION scalar NeoN::operator& (const Vec3 &lhs, Vec3 rhs)
 inner product
 
KOKKOS_INLINE_FUNCTION Vec3 NeoN::operator^ (const Vec3 &lhs, Vec3 rhs)
 cross (vector) product, right-handed: lhs ^ rhs
 
KOKKOS_INLINE_FUNCTION Vec3 NeoN::cross (const Vec3 &lhs, const Vec3 &rhs)
 cross (vector) product, spelled out for call sites that read better as a named function than as ^
 
KOKKOS_INLINE_FUNCTION Vec3 NeoN::operator/ (const Vec3 &lhs, scalar rhs)
 
KOKKOS_INLINE_FUNCTION scalar NeoN::mag (const Vec3 &vec)
 
std::ostream & NeoN::operator<< (std::ostream &out, const Vec3 &vec)
 
template<>
KOKKOS_INLINE_FUNCTION Vec3 NeoN::one< Vec3 > ()
 
template<>
KOKKOS_INLINE_FUNCTION Vec3 NeoN::zero< Vec3 > ()
 
template<>
KOKKOS_INLINE_FUNCTION Vec3 NeoN::inv< Vec3 > (Vec3 in)