git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
37 lines
686 B
OCaml
37 lines
686 B
OCaml
(* example_prog.ml *)
|
|
|
|
open Example
|
|
|
|
(* Call our gcd() function *)
|
|
|
|
exception NoReturn
|
|
|
|
let single_int x =
|
|
match x with C_int a -> a | _ -> raise NoReturn
|
|
let get_float x =
|
|
match x with C_float f -> f | C_double f -> f | _ -> raise NoReturn
|
|
|
|
let x = 42
|
|
let y = 105
|
|
let g = single_int (_gcd (C_list [ C_int x ; C_int y ]))
|
|
let _ = Printf.printf "The gcd of %d and %d is %d\n" x y g
|
|
|
|
(* Manipulate the Foo global variable *)
|
|
|
|
(* Output its current value *)
|
|
let _ = Printf.printf "Foo = %f\n" (get_float (_Foo C_void))
|
|
|
|
(* Change its value *)
|
|
let _ = _Foo (C_float 3.1415926)
|
|
|
|
(* See if the change took effect *)
|
|
let _ = Printf.printf "Foo = %f\n" (get_float (_Foo C_void))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|