<div class="gmail_quote">On Sun, Jun 12, 2011 at 20:38, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>The words here are too imprecise:</div><div><br></div><div> short int: A 2 byte integer</div><div> long int: A 4 byte integer</div></blockquote><div><br></div><div>No, "long int" must be at least 4 bytes, but it may be larger. "long int" is 8 bytes on 64-bit Linux and OS X. It is 4 bytes on LLP64 such as 64-bit Windows.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div> int: An integer which can be short or long, depending on the compiler, but most often long int today</div>
</blockquote><div><br></div><div>Int must be at least 2 bytes. In practice, it is either 4 or 8 bytes. Int cannot be larger than long. It is 4 bytes on the most commonly used platforms.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div> long long int: An 8 byte integer</div></blockquote><div><br></div><div>This is a minimum, but I don't know any architectures that make it larger.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div> </div><div>The --with-64-bit-indices flag gives long long ints. If you have > 2B unknowns, use this, otherwise don't. Yes, it slows things down.</div></blockquote><div><br></div><div>In particular, it doubles the amount of memory required for column indices in the matrix and for index sets. This is not a huge difference, but it is noticeable.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>On every 64-bit architecture I know, 'int' is still 'long int', not 'long long int'. The only thing that is 64-bit is the pointers.</div>
</blockquote><div><br></div><div>Nonsense, sizeof(long) is 8 on YOUR COMPUTER, Matt.</div><div><br></div><div>sizeof(int) is 4 on your computer.</div></div>