[Coin-lpsolver] CLP on a 64 bit platform

Darin A. England england at cs.umn.edu
Tue Aug 12 16:47:20 EDT 2003


Hi,

I am trying to get CLP/SBB running on a Cray T3E. The clp unitTest
is working, but the netlib test is failing. I think that it probably
has something to do with the following in CoinFactorization.hpp:

#define COINFACTORIZATION_BITS_PER_INT 32
#define COINFACTORIZATION_SHIFT_PER_INT 5
#define COINFACTORIZATION_MASK_PER_INT 0x1f

Since an int is 64 bits on the T3E, I have set them to:

#define COINFACTORIZATION_BITS_PER_INT 64
#define COINFACTORIZATION_SHIFT_PER_INT 6
#define COINFACTORIZATION_MASK_PER_INT 0x1f // probably wrong

I am new to this, and I am having trouble figuring out the
operations involving COINFACTORIZATION_SHIFT_PER_INT and
COINFACTORIZATION_MASK_PER_INT, although I do understand the >> and
& operators. Can anyone inform me what these values should be when
sizeof(int) is 8?

Also, there are a few other places in the code that check :
assert (sizeof(unsigned int)==4); as in ClpPrimalColumnSteepest.cpp.
And there are several places where I see operations of the form:
int nWords = (number+31)>>5;

Thanks for any help with this, and please let me know if you think
that porting to a 64 bit platform will be too difficult, in general.

Darin





More information about the Clp mailing list