ViennaGrid - The Vienna Grid Library  2.1.0
Data Structures | Namespaces | Functions
viennagrid/algorithm/inner_prod.hpp File Reference

Computes the inner product of vectors. More...

#include "viennagrid/forwards.hpp"
#include "viennagrid/point.hpp"

Go to the source code of this file.

Data Structures

struct  inner_prod_impl< PointT, 1 >
 Implementation of the inner product in one dimension. More...
struct  inner_prod_impl< PointT, 2 >
 Implementation of the inner product in two dimensions. More...
struct  inner_prod_impl< PointT, 3 >
 Implementation of the inner product in three dimensions. More...

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


namespace  viennagrid::detail
 

Namespace for implementation details. Not intended to be used directly by a library user.


Functions

template<typename PointT1 , typename PointT2 >
viennagrid::result_of::coord
< PointT1 >::type 
inner_prod (PointT1 const &p1, PointT2 const &p2)
 Returns the inner product of two vectors, which can be given in different coordinate systems.
template<typename PointT1 , typename PointT2 , typename CoordinateSystemT1 , typename CoordinateSystemT2 >
viennagrid::result_of::coord
< PointT1 >::type 
inner_prod_impl (PointT1 const &p1, PointT2 const &p2, CoordinateSystemT1 const &, CoordinateSystemT2 const &)
 Dispatched inner product function having full information about the coordinate systems. Transforms to Cartesian coordinates and forwards the calculation to the worker.
template<typename PointT1 , typename PointT2 , int d>
viennagrid::result_of::coord
< PointT1 >::type 
inner_prod_impl (PointT1 const &p1, PointT2 const &p2, cartesian_cs< d >, cartesian_cs< d >)
 Dispatched inner product function having full information about the coordinate systems. Vectors/Points are in a Cartesian coordinate system already, thus no transformation required.

Detailed Description

Computes the inner product of vectors.