cvxgrp/scs — pull request #17 by tkelman (2014-08-10 17:07:28+00:00)
Title: Win64 fixes

These are some relatively minor fixes I needed to get scs to build using MinGW-w64 with `-DLONG`, `USE_LAPACK = 1`, and `-DBLAS64` all enabled. There are some warnings about `blasint` not matching the format specified in `scs_printf("FATAL: syevr failure, info = %i\n", info);`, and ISO C not supporting the `I64` scanf format, which as I noted in a comment is a Microsoft extension that appears to work okay with MinGW-w64. If you have any better ideas for format specifier to actually read in a 64-bit int for `INTRW`, I'm all ears. `%ld` doesn't work on Win64 because long is only 32 bits. I tried `%lld` too and it appeared to work, but also gave `warning: unknown conversion type character ‘l’ in format`.

You need a few parentheses when casting to long, in case the inputs are larger. Lastly for `blasint`, I'll argue that `BLAS64` shouldn't mean `long` as that varies between platforms. If someone's using a Blas/Lapack library with 64 bit integers, I would be very surprised if they weren't also using a C99-compliant compiler that has `int64_t` in `stdint.h`.

The randomConeFeasibleSDP example is hitting the iteration limit and only solving approximately, but that happens for me on Linux too right now.