dune-common  2.3.1
densevector.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_DENSEVECTOR_HH
4 #define DUNE_DENSEVECTOR_HH
5 
6 #include <limits>
7 
8 #include "genericiterator.hh"
9 #include "ftraits.hh"
10 #include "matvectraits.hh"
11 #include "promotiontraits.hh"
12 #include "dotproduct.hh"
13 
14 namespace Dune {
15 
16  // forward declaration of template
17  template<typename V> class DenseVector;
18 
19  template<typename V>
20  struct FieldTraits< DenseVector<V> >
21  {
24  };
25 
35  namespace fvmeta
36  {
41  template<class K>
42  inline typename FieldTraits<K>::real_type absreal (const K& k)
43  {
44  return std::abs(k);
45  }
46 
51  template<class K>
52  inline typename FieldTraits<K>::real_type absreal (const std::complex<K>& c)
53  {
54  return std::abs(c.real()) + std::abs(c.imag());
55  }
56 
61  template<class K>
62  inline typename FieldTraits<K>::real_type abs2 (const K& k)
63  {
64  return k*k;
65  }
66 
71  template<class K>
72  inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
73  {
74  return c.real()*c.real() + c.imag()*c.imag();
75  }
76 
81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes
  • inline typename FieldTraits<K>::real_type abs2 (const std::complex<K>& c)
  • 73  {
    74  return c.real()*c.real() + c.imag()*c.imag();
    75  }
    76 
    81  template<class K, bool isInteger = std::numeric_limits<K>::is_integer>
    8>Classes