3#ifndef DUNE_LOCALFUNCTIONS_UTILITY_FIELD_HH
4#define DUNE_LOCALFUNCTIONS_UTILITY_FIELD_HH
6#include <dune/common/gmpfield.hh>
7#include <dune/common/fvector.hh>
8#include <dune/common/fmatrix.hh>
26 template<
class Field >
29 operator Field ()
const
35 template<
class Field >
41 template<
class Field >
47 template<
class Field >
53 template<
class Field >
75 template<
class Field >
78 operator Field ()
const
89 template<
unsigned int precision >
90 struct Zero< GMPField< precision > >
92 typedef GMPField< precision > Field;
93 operator Field ()
const
104 template<
class Field >
110 template<
class Field >
116 template<
class Field >
122 template<
class Field >
128 template<
class Field >
134 template<
class Field >
156 template<
class F2,
class F1 >
163 template<
unsigned int precision >
164 inline void field_cast (
const Dune::GMPField< precision > &f1,
double &f2 )
169 template<
unsigned int precision >
170 inline void field_cast (
const Dune::GMPField< precision > &f1,
long double &f2 )
176 template<
class F2,
class F1,
int dim >
177 inline void field_cast (
const Dune::FieldVector< F1, dim > &f1, Dune::FieldVector< F2, dim > &f2 )
179 for(
int d = 0; d < dim; ++d )
182 template<
class F2,
class F1 >
183 inline void field_cast (
const Dune::FieldVector< F1, 1 > &f1, F2 &f2 )
187 template<
class F2,
class F1 >
188 inline void field_cast (
const F1 &f1, Dune::FieldVector< F2, 1 > &f2 )
193 template<
class F2,
class F1,
int rdim,
int cdim >
194 inline void field_cast (
const Dune::FieldMatrix< F1, rdim, cdim > &f1, Dune::FieldMatrix< F2, rdim, cdim > &f2 )
196 for(
int r = 0; r < rdim; ++r )
199 template<
class F2,
class F1 >
200 inline void field_cast (
const Dune::FieldMatrix<F1,1,1> &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
204 template<
class F2,
class F1 >
205 inline void field_cast (
const Dune::FieldMatrix< F1, 1,1 > &f1, F2 &f2 )
209 template<
class F2,
class F1 >
210 inline void field_cast (
const F1 &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
214 template<
class F2,
class F1 >
215 inline void field_cast (
const Dune::FieldVector<F1,1> &f1, Dune::FieldMatrix< F2, 1,1 > &f2 )
219 template<
class F2,
class F1 >
220 inline void field_cast (
const Dune::FieldMatrix<F1,1,1> &f1, Dune::FieldVector< F2, 1 > &f2 )
225 template<
class F2,
class F1 >
226 inline void field_cast (
const Dune::FieldVector< F1, 1 > &f1, Dune::FieldVector<F2, 1> &f2 )
231 template<
class F2,
class V >
236 template<
class F2,
class F1,
int dim >
239 typedef Dune::FieldVector<F2,dim>
type;
241 template<
class F2,
class F1,
int dim1,
int dim2>
244 typedef Dune::FieldMatrix<F2,dim1,dim2>
type;
246 template<
class F2,
class V >
261 template <
class Field>
267 static const unsigned int value = 64;
273 static const unsigned int value = 80;
279 static const unsigned int value = 32;
283 template<
unsigned int precision >
284 struct Precision< GMPField< precision > >
286 static const unsigned int value = precision;
293 template <
class Field,
unsigned int sum>
300 template<
unsigned int precision,
unsigned int sum >
303 typedef GMPField<precision+sum>
Type;
Definition: bdfmcube.hh:16
Field operator-(const Unity< Field > &u, const Field &f)
Definition: field.hh:42
void field_cast(const F1 &f1, F2 &f2)
a helper class to cast from one field to another
Definition: field.hh:157
bool operator<(const Zero< Field > &, const Field &f)
Definition: field.hh:117
bool operator==(const Zero< Field > &, const Field &f)
Definition: field.hh:105
bool operator>(const Zero< Field > &z, const Field &f)
Definition: field.hh:129
Field operator+(const Unity< Field > &u, const Field &f)
Definition: field.hh:36
Field operator/(const Unity< Field > &u, const Field &f)
Definition: field.hh:54
Field operator*(const Unity< Field > &u, const Field &f)
Definition: field.hh:48
@ value
Definition: tensor.hh:166
A class representing the unit of a given Field.
Definition: field.hh:28
A class representing the zero of a given Field.
Definition: field.hh:77
static const Field epsilon()
Definition: field.hh:82
F2 type
Definition: field.hh:234
Dune::FieldVector< F2, dim > type
Definition: field.hh:239
Dune::FieldMatrix< F2, dim1, dim2 > type
Definition: field.hh:244
Field Type
Definition: field.hh:296