equal
deleted
inserted
replaced
359 let |
359 let |
360 val max_imperfect = |
360 val max_imperfect = |
361 Real.ceil (Math.pow (max_imperfect, |
361 Real.ceil (Math.pow (max_imperfect, |
362 Math.pow (Real.fromInt remaining_max / Real.fromInt max_facts, max_imperfect_exp))) |
362 Math.pow (Real.fromInt remaining_max / Real.fromInt max_facts, max_imperfect_exp))) |
363 val (perfect, imperfect) = candidates |
363 val (perfect, imperfect) = candidates |
364 |> sort (Real.compare o swap o pairself snd) |
364 |> sort (Real.compare o swap o apply2 snd) |
365 |> take_prefix (fn (_, w) => w > 0.99999) |
365 |> take_prefix (fn (_, w) => w > 0.99999) |
366 val ((accepts, more_rejects), rejects) = |
366 val ((accepts, more_rejects), rejects) = |
367 chop max_imperfect imperfect |>> append perfect |>> chop remaining_max |
367 chop max_imperfect imperfect |>> append perfect |>> chop remaining_max |
368 in |
368 in |
369 trace_msg ctxt (fn () => |
369 trace_msg ctxt (fn () => |