diff --git a/src/tlusty/main.rs b/src/tlusty/main.rs index 0dd8386..1e9388b 100644 --- a/src/tlusty/main.rs +++ b/src/tlusty/main.rs @@ -333,9 +333,16 @@ pub fn run_tlusty( // ======================================== // 10 ITER=ITER+1 - while !state.lfin && state.iter < state.niter { + // Fortran 用 GO TO 实现循环: 至少执行一次,然后检查 LFIN + // 等价于 do-while 模式 + loop { state.iter += 1; + // 安全检查:避免无限循环 + if state.iter > state.niter { + break; + } + // CALL RESOLV let resolv_config = ResolvConfig { iter: state.iter,