Fixed a number of warnings (i hides variable class::i, inline <-> extern).

This commit is contained in:
Michael Hoffmann 2002-03-18 20:40:41 +00:00
parent 2489098f37
commit 092bc0ce00
4 changed files with 54 additions and 48 deletions

View File

@ -1,5 +1,8 @@
Changes done to the `_QP_solver' package Changes done to the `_QP_solver' package
Version 0.9.5 on 18-Mar-2002
- Fixed a number of warnings (i hides variable class::i, inline <-> extern).
Version 0.9.4 on 5-Feb-2002 Version 0.9.4 on 5-Feb-2002
- GCC 3.1 fixes. - GCC 3.1 fixes.

View File

@ -1,4 +1,4 @@
// ============================================================================ // ======================================================================
// //
// Copyright (c) 1997-2001 The CGAL Consortium // Copyright (c) 1997-2001 The CGAL Consortium
// //
@ -6,13 +6,14 @@
// of the Computational Geometry Algorithms Library (CGAL). It is not // of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use. // intended for general use.
// //
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// release : $CGAL_Revision: CGAL-I $ // release : $CGAL_Revision: CGAL-2.4-I-64 $
// release_date : $CGAL_Date$ // release_date : $CGAL_Date: 2002/03/18 $
// //
// file : include/CGAL/_QP_solver/QP_solver.C // file : include/CGAL/_QP_solver/QP_solver.C
// package : $CGAL_Package: _QP_solver $ // package : _QP_solver (0.9.4)
// maintainer : Sven Schönherr <sven@inf.ethz.ch>
// //
// revision : 0.5 // revision : 0.5
// revision_date : 2000/09/06 // revision_date : 2000/09/06
@ -21,7 +22,7 @@
// coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>) // coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>)
// //
// implementation: Solver for Quadratic Programs // implementation: Solver for Quadratic Programs
// ============================================================================ // ======================================================================
CGAL_BEGIN_NAMESPACE CGAL_BEGIN_NAMESPACE
@ -72,7 +73,7 @@ void
QP_solver<Rep_>:: QP_solver<Rep_>::
set_up_auxiliary_problem( ) set_up_auxiliary_problem( )
{ {
int i; int ii;
// delete artifical part of `A' and auxiliary `c', if necessary // delete artifical part of `A' and auxiliary `c', if necessary
art_A.erase( art_A.begin(), art_A.end()); art_A.erase( art_A.begin(), art_A.end());
@ -83,10 +84,10 @@ set_up_auxiliary_problem( )
aux_c.reserve( qp_n+qp_m); aux_c.reserve( qp_n+qp_m);
aux_c.insert( aux_c.end(), qp_n, nt_0); aux_c.insert( aux_c.end(), qp_n, nt_0);
for ( i = 0; i < qp_m; ++i) { for ( ii = 0; ii < qp_m; ++ii) {
Artificial_column art_col; Artificial_column art_col;
art_col.push_back( std::make_pair( i, art_col.push_back( std::make_pair( ii,
qp_b[ i] >= nt_0 ? nt_1 : nt_minus_1)); qp_b[ ii] >= nt_0 ? nt_1 : nt_minus_1));
art_A.push_back( art_col); art_A.push_back( art_col);
aux_c.push_back( nt_1); aux_c.push_back( nt_1);
} }
@ -96,9 +97,9 @@ set_up_auxiliary_problem( )
int k = 0; int k = 0;
while ( ( k < qp_m) && ( qp_b[ k] == nt_0)) { ++k; } while ( ( k < qp_m) && ( qp_b[ k] == nt_0)) { ++k; }
CGAL_optimisation_precondition( k < qp_m); CGAL_optimisation_precondition( k < qp_m);
for ( i = 0; i < qp_m; ++i) { for ( ii = 0; ii < qp_m; ++ii) {
if ( qp_b[ i] == nt_0) { if ( qp_b[ ii] == nt_0) {
art_A[ k].push_back( std::make_pair( i, nt_minus_1)); art_A[ k].push_back( std::make_pair( ii, nt_minus_1));
} }
} }
} }
@ -110,12 +111,12 @@ void
QP_solver<Rep_>:: QP_solver<Rep_>::
set_up_basis( ) set_up_basis( )
{ {
int i; int ii;
// initialize basis (with artificial variables) // initialize basis (with artificial variables)
if ( B.size() > 0) B.erase( B.begin(), B.end()); if ( B.size() > 0) B.erase( B.begin(), B.end());
B.insert( B.end(), qp_m, 0); B.insert( B.end(), qp_m, 0);
for ( i = 0; i < qp_m; ++i) B[ i] = qp_n+i; for ( ii = 0; ii < qp_m; ++ii) B[ ii] = qp_n+ii;
art_basic = qp_m; art_basic = qp_m;
@ -137,7 +138,7 @@ set_up_basis( )
if ( in_B.size() > 0) in_B.erase( in_B.begin(), in_B.end()); if ( in_B.size() > 0) in_B.erase( in_B.begin(), in_B.end());
in_B.reserve( qp_n+qp_m); in_B.reserve( qp_n+qp_m);
in_B.insert( in_B.end(), qp_n, -1); in_B.insert( in_B.end(), qp_n, -1);
for ( i = 0; i < qp_m; ++i) in_B.push_back( i); for ( ii = 0; ii < qp_m; ++ii) in_B.push_back( ii);
// initialize basis inverse // initialize basis inverse
int k = 0; int k = 0;
@ -148,13 +149,13 @@ set_up_basis( )
w.reserve( qp_m); w.reserve( qp_m);
NT u_k = ( qp_b[ k] > nt_0 ? nt_1 : nt_minus_1); NT u_k = ( qp_b[ k] > nt_0 ? nt_1 : nt_minus_1);
/***** NT u_k = nt_0; *****/ /***** NT u_k = nt_0; *****/
for ( i = 0; i < qp_m; ++i) { for ( ii = 0; ii < qp_m; ++ii) {
if ( qp_b[ i] < nt_0) { if ( qp_b[ ii] < nt_0) {
u.push_back( nt_minus_1); u.push_back( nt_minus_1);
w.push_back( nt_0); w.push_back( nt_0);
} else { } else {
u.push_back( nt_1); u.push_back( nt_1);
w.push_back( qp_b[ i] > nt_0 ? nt_0 : u_k); w.push_back( qp_b[ ii] > nt_0 ? nt_0 : u_k);
} }
} }
@ -372,8 +373,8 @@ solution_numerator( ) const
Basic_variable_index_iterator i_it, j_it; Basic_variable_index_iterator i_it, j_it;
Basic_variable_numerator_iterator x_i_it, x_j_it; Basic_variable_numerator_iterator x_i_it, x_j_it;
ET s = et_0, sum; ET s = et_0, sum;
int i; int ii;
bool is_phase_I = (phase() == 1); bool is_phase_II = (phase() == 1);
// compute c^T x + x^T D x (D is symmetric) // compute c^T x + x^T D x (D is symmetric)
// ------------------------------------------ // ------------------------------------------
@ -383,26 +384,26 @@ solution_numerator( ) const
x_i_it = basic_variables_numerator_begin(); x_i_it = basic_variables_numerator_begin();
for ( ; i_it != basic_variables_index_end(); ++i_it, ++x_i_it) { for ( ; i_it != basic_variables_index_end(); ++i_it, ++x_i_it) {
sum = et_0; sum = et_0;
i = *i_it; ii = *i_it;
if ( ! ( CGAL::check_tag( Is_lp()) || is_phase_I)) { if ( ! ( CGAL::check_tag( Is_lp()) || is_phase_II)) {
// j: 0..i-1 // j: 0..i-1
j_it = basic_variables_index_begin(); j_it = basic_variables_index_begin();
x_j_it = basic_variables_numerator_begin(); x_j_it = basic_variables_numerator_begin();
for ( ; j_it != i_it; ++j_it, ++x_j_it) { for ( ; j_it != i_it; ++j_it, ++x_j_it) {
// D_{i,j} x_j // D_{ii,j} x_j
sum += ET( qp_D[ i][ *j_it]) * *x_j_it; sum += ET( qp_D[ ii][ *j_it]) * *x_j_it;
} }
sum *= et_2; sum *= et_2;
// D_{i,i} x_i // D_{ii,ii} x_i
sum += ET( qp_D[ i][ i]) * *x_i_it; sum += ET( qp_D[ ii][ ii]) * *x_i_it;
} }
// d c_i // d c_i
sum += d * ( is_phase_I ? aux_c[ i] : qp_c[ i]); sum += d * ( is_phase_II ? aux_c[ ii] : qp_c[ ii]);
s += sum * *x_i_it; s += sum * *x_i_it;
} }
@ -413,11 +414,11 @@ solution_numerator( ) const
template < class Rep_ > template < class Rep_ >
typename QP_solver<Rep_>::ET typename QP_solver<Rep_>::ET
QP_solver<Rep_>:: QP_solver<Rep_>::
dual_variable( int i) const dual_variable( int ii) const
{ {
Assert_compile_time_tag( Tag_true(), Is_lp()); Assert_compile_time_tag( Tag_true(), Is_lp());
Values unity( qp_m), col; Values unity( qp_m), col;
unity[ i] = et_1; unity[ ii] = et_1;
col.reserve( qp_m); col.reserve( qp_m);
inv_M_B.multiply_x( unity.begin(), std::back_inserter( col)); inv_M_B.multiply_x( unity.begin(), std::back_inserter( col));
return std::inner_product( col.begin(), col.end(), return std::inner_product( col.begin(), col.end(),

View File

@ -1,4 +1,4 @@
// ============================================================================ // ======================================================================
// //
// Copyright (c) 1997-2001 The CGAL Consortium // Copyright (c) 1997-2001 The CGAL Consortium
// //
@ -6,13 +6,14 @@
// of the Computational Geometry Algorithms Library (CGAL). It is not // of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use. // intended for general use.
// //
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// release : $CGAL_Revision: CGAL-I $ // release : $CGAL_Revision: CGAL-2.4-I-64 $
// release_date : $CGAL_Date$ // release_date : $CGAL_Date: 2002/03/18 $
// //
// file : include/CGAL/_QP_solver/QP_solver.h // file : include/CGAL/_QP_solver/QP_solver.h
// package : $CGAL_Package: _QP_solver $ // package : _QP_solver (0.9.4)
// maintainer : Sven Schönherr <sven@inf.ethz.ch>
// //
// revision : 0.6 // revision : 0.6
// revision_date : 2000/09/06 // revision_date : 2000/09/06
@ -21,7 +22,7 @@
// coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>) // coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>)
// //
// implementation: Solver for Quadratic Programs // implementation: Solver for Quadratic Programs
// ============================================================================ // ======================================================================
#ifndef CGAL_QP_SOLVER_H #ifndef CGAL_QP_SOLVER_H
#define CGAL_QP_SOLVER_H #define CGAL_QP_SOLVER_H
@ -263,12 +264,12 @@ class QP_solver {
Make_quotient( Compute_quotient(), d)); } Make_quotient( Compute_quotient(), d)); }
bool is_basic( int i) const bool is_basic( int ii) const
{ CGAL_optimisation_precondition( i >= 0); { CGAL_optimisation_precondition( ii >= 0);
CGAL_optimisation_precondition( i < ( phase() == 1 CGAL_optimisation_precondition( ii < ( phase() == 1
? number_of_variables()+number_of_constraints() ? number_of_variables()+number_of_constraints()
: number_of_variables())); : number_of_variables()));
return ( in_B[ i] >= 0); } return ( in_B[ ii] >= 0); }
// access to variables // access to variables
@ -1663,7 +1664,7 @@ QP_solver<Rep_>::
template < class Rep_ > template < class Rep_ >
void void
QP_solver<Rep_>:: QP_solver<Rep_>::
set_pricing_strategy( QP_solver<Rep_>::Pricing_strategy& pricing_strategy) set_pricing_strategy( typename QP_solver<Rep_>::Pricing_strategy& pricing_strategy)
{ {
CGAL_optimisation_debug { CGAL_optimisation_debug {

View File

@ -1,4 +1,4 @@
// ============================================================================ // ======================================================================
// //
// Copyright (c) 1997-2001 The CGAL Consortium // Copyright (c) 1997-2001 The CGAL Consortium
// //
@ -6,13 +6,14 @@
// of the Computational Geometry Algorithms Library (CGAL). It is not // of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use. // intended for general use.
// //
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// release : $CGAL_Revision: CGAL-I $ // release : $CGAL_Revision: CGAL-2.4-I-64 $
// release_date : $CGAL_Date$ // release_date : $CGAL_Date: 2002/03/18 $
// //
// file : include/CGAL/_QP_solver/gmp_double.h // file : include/CGAL/_QP_solver/gmp_double.h
// package : $CGAL_Package: _QP_solver $ // package : _QP_solver (0.9.4)
// maintainer : Sven Schönherr <sven@inf.ethz.ch>
// //
// revision : 0.1 // revision : 0.1
// revision_date : 2000/08/09 // revision_date : 2000/08/09
@ -21,7 +22,7 @@
// coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>) // coordinator : ETH Zürich (Bernd Gärtner <gaertner@inf.ethz.ch>)
// //
// implementation: arbitra. precise floating-point type based on GMP's integers // implementation: arbitra. precise floating-point type based on GMP's integers
// ============================================================================ // ======================================================================
#ifndef GMP_DOUBLE_H #ifndef GMP_DOUBLE_H
#define GMP_DOUBLE_H #define GMP_DOUBLE_H
@ -39,7 +40,7 @@ class Double;
// Function declaration // Function declaration
// ==================== // ====================
std::ostream& operator << ( std::ostream&, const Double&); inline std::ostream& operator << ( std::ostream&, const Double&);
// Class interface // Class interface