+++ /dev/null
-(* $Id$ *)
-
-open GtkData
-open GtkBase
-open GtkPack
-open GtkWindow
-open GtkEdit
-open GtkMain
-
-let rec fix fun:f :eq x =
- let x' = f x in
- if eq x x' then x
- else fix fun:f :eq x'
-
-let eq_float x y = abs_float (x -. y) < 1e-13
-
-let _ =
- let top = Window.create `TOPLEVEL in
- GtkSignal.connect sig:Object.Signals.destroy top callback:Main.quit;
- let hbox = Box.create `VERTICAL in
- Container.add top hbox;
- let entry = Entry.create () in
- Entry.set entry max_length:20;
- let tips = Tooltips.create () in
- Tooltips.set_tip tips entry text:"Initial value for fix-point";
- let result = Entry.create () in
- Entry.set result max_length:20 editable:false;
- Box.pack hbox entry;
- Box.pack hbox result;
-
- GtkSignal.connect sig:Editable.Signals.activate entry callback:
- begin fun () ->
- let x = try float_of_string (Entry.get_text entry) with _ -> 0.0 in
- Entry.set entry text:(string_of_float (cos x));
- let res = fix fun:cos eq:eq_float x in
- Entry.set result text:(string_of_float res)
- end;
- Widget.show_all top;
- Main.main ()