src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML
changeset 57462 dabd4516450d
parent 57461 29efe682335b
child 57531 4d9895d39b59
equal deleted inserted replaced
57461:29efe682335b 57462:dabd4516450d
   146 | MaSh_kNN_Ext
   146 | MaSh_kNN_Ext
   147 
   147 
   148 fun mash_engine () =
   148 fun mash_engine () =
   149   let val flag1 = Options.default_string @{system_option MaSh} in
   149   let val flag1 = Options.default_string @{system_option MaSh} in
   150     (case if flag1 <> "none" (* default *) then flag1 else getenv "MASH" of
   150     (case if flag1 <> "none" (* default *) then flag1 else getenv "MASH" of
   151       "yes" => SOME MaSh_NB
   151       "yes" => SOME MaSh_NB_kNN
   152     | "sml" => SOME MaSh_NB
   152     | "sml" => SOME MaSh_NB_kNN
   153     | "nb" => SOME MaSh_NB
   153     | "nb" => SOME MaSh_NB
   154     | "knn" => SOME MaSh_kNN
   154     | "knn" => SOME MaSh_kNN
   155     | "nb_knn" => SOME MaSh_NB_kNN
   155     | "nb_knn" => SOME MaSh_NB_kNN
   156     | "nb_ext" => SOME MaSh_NB_Ext
   156     | "nb_ext" => SOME MaSh_NB_Ext
   157     | "knn_ext" => SOME MaSh_kNN_Ext
   157     | "knn_ext" => SOME MaSh_kNN_Ext
   158     | _ => NONE)
   158     | engine => (warning ("Unknown MaSh engine: " ^ quote engine ^ "."); NONE))
   159   end
   159   end
   160 
   160 
   161 val is_mash_enabled = is_some o mash_engine
   161 val is_mash_enabled = is_some o mash_engine
   162 val the_mash_engine = the_default MaSh_NB o mash_engine
   162 val the_mash_engine = the_default MaSh_NB_kNN o mash_engine
   163 
   163 
   164 fun scaled_avg [] = 0
   164 fun scaled_avg [] = 0
   165   | scaled_avg xs = Real.ceil (100000000.0 * fold (curry (op +)) xs 0.0) div length xs
   165   | scaled_avg xs = Real.ceil (100000000.0 * fold (curry (op +)) xs 0.0) div length xs
   166 
   166 
   167 fun avg [] = 0.0
   167 fun avg [] = 0.0