-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Numerical exception on Windows with preprocess=on #690
Comments
Tried to debug it a bit, runs into error in [0x0] clpsolve!computeGcd+0x29 (Inline Function) (Inline Function) If I inspect the code, we use long there, is that a good thing? That will be on most 64 bit systems 64 bit, just not on Windows. |
Does it get through preprocessing? I am not sure I understand the "clpsolve" bit. I think code should work even with 32 bits - maybe someone else can help. |
If I use this patch, it passes the preprocessing without crash and with the right end result: |
I think this and some other gcd copy in gomory are the only places that try to use 'long' for such computations and therefore do very different stuff on Win64 compared to other 64 bit operating systems that have 64 bit longs. |
That patch fixes most of my Windows only issues, some timeouts and rounding issues, too. |
To be more specific, CglGMI and CglGomory at least have the same issues. |
Great! Are you going to update master? |
I can try to create a pull request. Is int64_t ok or do you want long long? |
int64_t is fine. |
I merged the PR, but should stable branches also be patched? The PR was only for |
preprocess=on or all other values I tried beside off result in a crash on Windows, works on Linux.
https://github.com/christoph-cullmann/ilp/blob/main/value_110885599.lp
The text was updated successfully, but these errors were encountered: