Skip to content
Snippets Groups Projects
Commit e45d6f29 authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

Use TargetSpace ctype for coordinates, instead of hard-coding 'double'

[[Imported from SVN: r9304]]
parent 36cbc7f7
Branches
No related tags found
No related merge requests found
......@@ -48,7 +48,7 @@ setup(const AverageDistanceAssembler<TargetSpace>* assembler,
template <class TargetSpace>
void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
{
MaxNormTrustRegion<blocksize> trustRegion(1, // we have only one block
MaxNormTrustRegion<blocksize,field_type> trustRegion(1, // we have only one block
initialTrustRegionRadius_);
// /////////////////////////////////////////////////////
......@@ -110,8 +110,8 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
newIterate = TargetSpace::exp(newIterate, corr[0]);
/** \todo Don't always recompute oldEnergy */
double oldEnergy = assembler_->value(x_);
double energy = assembler_->value(newIterate);
field_type oldEnergy = assembler_->value(x_);
field_type energy = assembler_->value(newIterate);
// compute the model decrease
// It is $ m(x) - m(x+s) = -<g,s> - 0.5 <s, Hs>
......@@ -119,7 +119,7 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
CorrectionType tmp(corr.size());
tmp = 0;
hesseMatrix.umv(corr, tmp);
double modelDecrease = (rhs*corr) - 0.5 * (corr*tmp);
field_type modelDecrease = (rhs*corr) - 0.5 * (corr*tmp);
if (this->verbosity_ == NumProc::FULL) {
std::cout << "Absolute model decrease: " << modelDecrease
......
......@@ -18,7 +18,7 @@ class TargetSpaceRiemannianTRSolver
const static int blocksize = TargetSpace::TangentVector::dimension;
// Centralize the field type here
typedef double field_type;
typedef typename TargetSpace::ctype field_type;
// Some types that I need
// The types have the dynamic outer type because the dune-solvers solvers expect
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment