Main Page
Namespaces
Classes
Files
File List
File Members
var
build
temp
tmp.niCloInx4p
4.0-0-0
coinor-ipopt
coinor-ipopt-3.10.2
Ipopt
src
Algorithm
Inexact
IpInexactNormalStepCalc.hpp
Go to the documentation of this file.
1
// Copyright (C) 2008 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpInexactNormalStepCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2008-08-31
8
9
#ifndef __IPINEXACTNORMALSTEPCALC_HPP__
10
#define __IPINEXACTNORMALSTEPCALC_HPP__
11
12
#include "
IpAlgStrategy.hpp
"
13
#include "
IpInexactCq.hpp
"
14
15
namespace
Ipopt
16
{
20
class
InexactNormalStepCalculator
:
public
AlgorithmStrategyObject
21
{
22
public
:
26
InexactNormalStepCalculator
()
27
{}
28
30
virtual
~InexactNormalStepCalculator
()
31
{}
33
35
virtual
bool
InitializeImpl
(
const
OptionsList
& options,
36
const
std::string& prefix) = 0;
37
42
virtual
bool
ComputeNormalStep
(
SmartPtr<Vector>
& normal_x,
43
SmartPtr<Vector>
& normal_s) = 0;
44
45
protected
:
47
InexactData
&
InexData
()
48
{
49
InexactData
& inexact_data =
50
static_cast<
InexactData
&
>
(
IpData
().
AdditionalData
());
51
DBG_ASSERT
(dynamic_cast<InexactData*>(&
IpData
().AdditionalData()));
52
return
inexact_data;
53
}
54
56
InexactCq
&
InexCq
()
57
{
58
InexactCq
& inexact_cq =
59
static_cast<
InexactCq
&
>
(
IpCq
().
AdditionalCq
());
60
DBG_ASSERT
(dynamic_cast<InexactCq*>(&
IpCq
().AdditionalCq()));
61
return
inexact_cq;
62
}
63
64
private
:
74
InexactNormalStepCalculator
(
const
InexactNormalStepCalculator
&);
75
77
void
operator=
(
const
InexactNormalStepCalculator
&);
79
};
80
81
}
// namespace Ipopt
82
83
#endif
Generated on Mon Mar 17 2014 19:49:12 by
1.8.1.2