adding option allow_function_inversion to quickcheck options
authorbulwahn
Fri, 11 Nov 2011 08:32:44 +0100
changeset 45449 eeffd04cd899
parent 45448 018f8959c7a6
child 45450 dc2236b19a3d
adding option allow_function_inversion to quickcheck options
src/Tools/quickcheck.ML
--- a/src/Tools/quickcheck.ML	Thu Nov 10 23:30:50 2011 +0100
+++ b/src/Tools/quickcheck.ML	Fri Nov 11 08:32:44 2011 +0100
@@ -22,6 +22,7 @@
   val timing : bool Config.T
   val quiet : bool Config.T
   val timeout : real Config.T
+  val allow_function_inversion : bool Config.T;
   val finite_types : bool Config.T
   val finite_type_size : int Config.T
   val set_active_testers: string list -> Context.generic -> Context.generic
@@ -171,6 +172,8 @@
 val timing = Attrib.setup_config_bool @{binding quickcheck_timing} (K false)
 val quiet = Attrib.setup_config_bool @{binding quickcheck_quiet} (K false)
 val timeout = Attrib.setup_config_real @{binding quickcheck_timeout} (K 30.0)
+val allow_function_inversion =
+  Attrib.setup_config_bool @{binding quickcheck_allow_function_inversion} (K false)
 val finite_types = Attrib.setup_config_bool @{binding quickcheck_finite_types} (K true)
 val finite_type_size = Attrib.setup_config_int @{binding quickcheck_finite_type_size} (K 3)
 
@@ -408,6 +411,8 @@
   | parse_test_param ("quiet", [arg]) = apsnd (Config.put_generic quiet (read_bool arg))
   | parse_test_param ("timeout", [arg]) = apsnd (Config.put_generic timeout (read_real arg))
   | parse_test_param ("finite_types", [arg]) = apsnd (Config.put_generic finite_types (read_bool arg))
+  | parse_test_param ("allow_function_inversion", [arg]) =
+      apsnd (Config.put_generic allow_function_inversion (read_bool arg))
   | parse_test_param ("finite_type_size", [arg]) =
     apsnd (Config.put_generic finite_type_size (read_nat arg))
   | parse_test_param (name, _) = (fn (testers, genctxt) =>