[Coin-discuss] Alps MS-VS workspace

Yan Xu Yan.Xu at sas.com
Wed Aug 16 12:54:39 EDT 2006


I used CoinMin and CoinMax. Thanks.

Yan 

-----Original Message-----
From: coin-discuss-bounces at list.coin-or.org [mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of Laszlo Ladanyi
Sent: Wednesday, August 16, 2006 12:20 PM
To: Discussions about open source software for Operations Research
Subject: Re: [Coin-discuss] Alps MS-VS workspace

Actually, I think it should be std::min and std::max there... min and max are in the std namespace, I believe. I'm almost certain that gcc does not compile the code just with min and max. One way to get around this is to use CoinMin and CoinMax, which are defined in CoinHelperFunction.hpp. They are inlined functions. Also, note that they should be used only with built-in types, since they pass the arguments by value, not by reference (to make them faster).

--Laci

On Wed, 16 Aug 2006, Yan Xu wrote:

> The change has been committed. Thanks, Yan
> 
> Matthew Galati wrote:
> 
> > Ok - I got ALPS example ABC working in MSVS7 too - with the 
> > following
> > changes:
> >
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNo
> > de.cpp(1093)
> > : error C2589: '(' : illegal token on right side of '::'
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNo
> > de.cpp(1093)
> > : error C2059: syntax error : '::'
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNo
> > de.cpp(1094)
> > : error C2589: '(' : illegal token on right side of '::'
> >
> > magala at l11062 ~/COIN_NEW/Coin-Alps/Alps/examples/Abc
> > $ svn diff
> > Index: AbcTreeNode.cpp
> > ===================================================================
> > --- AbcTreeNode.cpp     (revision 301)
> > +++ AbcTreeNode.cpp     (working copy)
> > @@ -1090,8 +1090,8 @@
> >            pseudoC = model->getPseudoList()[object];
> >            upCost = pseudoC->upCost_ * (1.0 - fraction);
> >            downCost = pseudoC->downCost_ * fraction;
> > -           deg = 4.0 * std::min(upCost, downCost) +
> > -               1.0 * std::max(upCost, downCost);
> > +           deg = 4.0 * min(upCost, downCost) +
> > +               1.0 * max(upCost, downCost);
> >            if (deg > mostDeg) {
> >                mostDeg = deg;
> >                mostInd = object;
> >
> > And, I had to use the /GR option.
> >
> >
> >
> >> This works.... Thanks Andreas. The ALPs lib compiles in MSVS7 now. 
> >> I'll try ABC next.
> >>
> >> The only other change I had to make was:
> >>
> >> magala at l11062 ~/COIN_NEW/Coin-Alps/Alps $ svn diff
> >> Index: src/AlpsKnowledge.cpp
> >> ===================================================================
> >> --- src/AlpsKnowledge.cpp       (revision 301)
> >> +++ src/AlpsKnowledge.cpp       (working copy)
> >> @@ -26,7 +26,7 @@
> >> //#################################################################
> >> ############
> >>
> >>
> >> AlpsEncoded*
> >> -AlpsKnowledge::AlpsKnowledge::encode() const
> >> +AlpsKnowledge::encode() const
> >> {
> >>     AlpsEncoded* encoded =
> >>        new AlpsEncoded(const_cast<char*>(typeid(*this).name()));
> >>
> >>
> >>> Hi,
> >>>
> >>>> When I put ALPs source into project workspace I get:
> >>>>
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsConfig.h(38
> >>>> )
> >>>> : fatal error C1083: Cannot open include file: 
> >>>> 'configall_system.h': No such file or directory AlpsSubTree.cpp
> >>>
> >>>
> >>>
> >>>
> >>> You need to include
> >>>
> >>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\BuildTools\headers
> >>>
> >>> into your include file directory search path if you use the 
> >>> developer studio.
> >>>
> >>> Andreas
> >>>
> >>>>
> >>>> among other errors like:
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.c
> >>>> pp(29)
> >>>> : error C2039: '__ctor' : is not a member of 'AlpsKnowledge'
> >>>>       
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.h
> >>>> (48)
> >>>> : see declaration of 'AlpsKnowledge'
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.c
> >>>> pp(30)
> >>>> : error C2270: 'encode' : modifiers not allowed on nonmember 
> >>>> functions
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.c
> >>>> pp(32)
> >>>> : error C2673: 'encode' : global functions do not have 'this' 
> >>>> pointers
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.c
> >>>> pp(32)
> >>>> : error C2228: left of '.name' must have class/struct/union type
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.c
> >>>> pp(33)
> >>>> : error C2673: 'encode' : global functions do not have 'this' 
> >>>> pointers
> >>>>
> >> _______________________________________________
> >> Coin-discuss mailing list
> >> Coin-discuss at list.coin-or.org
> >> http://list.coin-or.org/mailman/listinfo/coin-discuss
> >
> >
> > _______________________________________________
> > Coin-discuss mailing list
> > Coin-discuss at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-discuss
> 
> 
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
> 

_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss




More information about the Coin-discuss mailing list