C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
BlitzTinyExtensions.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
2 // -*- C++ -*-
4 #ifndef CPPQEDCORE_UTILS_BLITZTINYEXTENSIONS_H_INCLUDED
5 #define CPPQEDCORE_UTILS_BLITZTINYEXTENSIONS_H_INCLUDED
6 
7 #include "BlitzTinyExtensionsFwd.h"
8 
9 #ifndef NDEBUG
10 #include "Exception.h"
11 #endif // NDEBUG
12 
13 #include <blitz/tinyvec2.h>
14 
15 
16 namespace blitzplusplus {
17 
18 
20 
27 template<typename T1, typename T2, int RANK1, int RANK2>
28 blitz::TinyVector<T1,RANK1+RANK2>
29 concatenateTinies(const blitz::TinyVector<T1,RANK1>& tiny1, const blitz::TinyVector<T2,RANK2>& tiny2);
30 
31 
32 #ifndef NDEBUG
33 struct HalfCutTinyException : cpputils::Exception {};
35 #endif // NDEBUG
36 
37 
39 
46 template<typename T, int TWO_TIMES_RANK>
47 blitz::TinyVector<T,TWO_TIMES_RANK/2>
48 halfCutTiny(const blitz::TinyVector<T,TWO_TIMES_RANK>&);
49 
50 
51 } // blitzplusplus
52 
53 
54 #endif // CPPQEDCORE_UTILS_BLITZTINYEXTENSIONS_H_INCLUDED
The class that is (meant to be, at least) the base of all exceptions in the framework.
Definition: Exception.h:18
blitz::TinyVector< T, TWO_TIMES_RANK/2 > halfCutTiny(const blitz::TinyVector< T, TWO_TIMES_RANK > &)
Returns the first half of a tiny vector containing two equal halves.
blitz::TinyVector< T1, RANK1+RANK2 > concatenateTinies(const blitz::TinyVector< T1, RANK1 > &tiny1, const blitz::TinyVector< T2, RANK2 > &tiny2)
Concatenates tiny1 and tiny2
Comprises our own extensions to Blitz++.
Defines tentative base classes for the exception classes of the framework.