5#ifndef DUNE_LOCALFUNCTIONS_UTILITY_FIELD_HH
6#define DUNE_LOCALFUNCTIONS_UTILITY_FIELD_HH
8#include <dune/common/gmpfield.hh>
9#include <dune/common/fvector.hh>
10#include <dune/common/fmatrix.hh>
28 template<
class Field >
31 operator Field ()
const
37 template<
class Field >
43 template<
class Field >
49 template<
class Field >
55 template<
class Field >
77 template<
class Field >
80 operator Field ()
const
91 template<
unsigned int precision >
92 struct Zero< GMPField< precision > >
94 typedef GMPField< precision > Field;
95 operator Field ()
const
106 template<
class Field >
112 template<
class Field >
118 template<
class Field >
124 template<
class Field >
130 template<
class Field >
136 template<
class Field >
158 template<
class F2,
class F1 >
165 template<
unsigned int precision >
166 inline void field_cast (
const Dune::GMPField< precision > &f1,
double &f2 )
171 template<
unsigned int precision >
172 inline void field_cast (
const Dune::GMPField< precision > &f1,
long double &f2 )
178 template<
class F2,
class F1,
int dim >
179 inline void field_cast (
const Dune::FieldVector< F1, dim > &f1, Dune::FieldVector< F2, dim > &f2 )
181 for(
int d = 0; d < dim; ++d )
184 template<
class F2,
class F1 >
185 inline void field_cast (
const Dune::FieldVector< F1, 1 > &f1, F2 &f2 )
189 template<
class F2,
class F1 >
190 inline void field_cast (
const F1 &f1, Dune::FieldVector< F2, 1 > &f2 )
195 template<
class F2,
class F1,
int rdim,
int cdim >
196 inline void field_cast (
const Dune::FieldMatrix< F1, rdim, cdim > &f1, Dune::FieldMatrix< F2, rdim, cdim > &f2 )
198 for(
int r = 0; r < rdim; ++r )
201 template<
class F2,
class F1 >
202 inline void field_cast (
const Dune::FieldMatrix<F1,1,1> &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
206 template<
class F2,
class F1 >
207 inline void field_cast (
const Dune::FieldMatrix< F1, 1,1 > &f1, F2 &f2 )
211 template<
class F2,
class F1 >
212 inline void field_cast (
const F1 &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
216 template<
class F2,
class F1 >
217 inline void field_cast (
const Dune::FieldVector<F1,1> &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
221 template<
class F2,
class F1 >
222 inline void field_cast (
const Dune::FieldMatrix<F1,1,1> &f1, Dune::FieldVector< F2, 1 > &f2 )
227 template<
class F2,
class F1 >
228 inline void field_cast (
const Dune::FieldVector< F1, 1 > &f1, Dune::FieldVector<F2, 1> &f2 )
233 template<
class F2,
class V >
238 template<
class F2,
class F1,
int dim >
241 typedef Dune::FieldVector<F2,dim>
type;
243 template<
class F2,
class F1,
int dim1,
int dim2>
246 typedef Dune::FieldMatrix<F2,dim1,dim2>
type;
248 template<
class F2,
class V >
263 template <
class Field>
269 static const unsigned int value = 64;
275 static const unsigned int value = 80;
281 static const unsigned int value = 32;
285 template<
unsigned int precision >
286 struct Precision< GMPField< precision > >
288 static const unsigned int value = precision;
295 template <
class Field,
unsigned int sum>
302 template<
unsigned int precision,
unsigned int sum >
305 typedef GMPField<precision+sum>
Type;
Definition bdfmcube.hh:18
Field operator-(const Unity< Field > &u, const Field &f)
Definition field.hh:44
void field_cast(const F1 &f1, F2 &f2)
a helper class to cast from one field to another
Definition field.hh:159
bool operator<(const Zero< Field > &, const Field &f)
Definition field.hh:119
bool operator==(const Zero< Field > &, const Field &f)
Definition field.hh:107
bool operator>(const Zero< Field > &z, const Field &f)
Definition field.hh:131
Field operator+(const Unity< Field > &u, const Field &f)
Definition field.hh:38
Field operator/(const Unity< Field > &u, const Field &f)
Definition field.hh:56
Field operator*(const Unity< Field > &u, const Field &f)
Definition field.hh:50
A class representing the unit of a given Field.
Definition field.hh:30
A class representing the zero of a given Field.
Definition field.hh:79
static const Field epsilon()
Definition field.hh:84
F2 type
Definition field.hh:236
Dune::FieldVector< F2, dim > type
Definition field.hh:241
Dune::FieldMatrix< F2, dim1, dim2 > type
Definition field.hh:246
Field Type
Definition field.hh:298