On Thursday, 30 January 2014 at 23:45:14 UTC, Joseph Rushton
Wakeling wrote:
On 31/01/14 00:08, MrSmith wrote:
Somehow if i comment out
//matrix = solveTemp(temp);
it works, but this method works fine, and after it done1 is
printed. Strange.
That does rather suggest that it's that method that is causing
things to get stuck. Can you share what's inside it? And when
you say "this method works fine", do you mean that you've
manually tested it with the temp variable that goes in before
it hangs?
Could it be that whatever printout you're doing of variables
like matrix is missing some tiny differences -- floating-point
rounding errors? -- that are responsible for the
transformations inside makeTemp or solveTemp behaving wrongly
and therefore (in the latter case) getting stuck?
Here is complete code (excluding rational.d by DSimcha)
https://gist.github.com/MrSmith33/8732520
It prints:
foreach start
after makeTemp
solveTemp start
before solveTemp return
foreach end
and then stucks.
As you can see it goes through solveTemp method and stops at the
foreach end.
So, i can not see any reason why it goes infinite there.