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

Go to the source code of this file.

Namespaces

namespace  NeoN
 Integer types used throughout NeoN.
 
namespace  NeoN::detail
 

Functions

template<typename ValueType >
requires requires(ValueType a, scalar b) { a* b; }
void NeoN::scalarMul (Vector< ValueType > &vect, const scalar value)
 
template<typename ValueType , typename BinaryOp >
void NeoN::detail::fieldBinaryOp (Vector< ValueType > &vect1, const Vector< std::type_identity_t< ValueType > > &vect2, BinaryOp op)
 
template<typename ValueType >
void NeoN::add (Vector< ValueType > &vect, const std::type_identity_t< ValueType > &value)
 
template<typename ValueType >
void NeoN::add (Vector< ValueType > &vect1, const Vector< std::type_identity_t< ValueType > > &vect2)
 
template<typename ValueType >
void NeoN::sub (Vector< ValueType > &vect, const std::type_identity_t< ValueType > &value)
 
template<typename ValueType >
void NeoN::sub (Vector< ValueType > &vect1, const Vector< std::type_identity_t< ValueType > > &vect2)
 
template<typename ValueType >
requires requires(ValueType a, ValueType b) { a* b; }
void NeoN::mul (Vector< ValueType > &vect, const std::type_identity_t< ValueType > &value)
 
template<typename ValueType >
requires requires(ValueType a, ValueType b) { a* b; }
void NeoN::mul (Vector< ValueType > &vect1, const Vector< std::type_identity_t< ValueType > > &vect2)
 
template<unsigned int I>
Vector< scalarNeoN::getComponent (const Vector< Vec3 > &in)
 Given a Vector of Vec3 this function extracts a single component.
 
template<unsigned int I>
void NeoN::setComponent (const Vector< scalar > &in, Vector< Vec3 > &out)
 Given a Vector of Vec3 this function sets a single component.
 
template<typename ValueType >
Vector< ValueType > NeoN::take (const Vector< ValueType > &in, std::pair< localIdx, localIdx > range)
 Given a Vector and an index range [first, first+length] a subvector is created.