diff options
Diffstat (limited to 'Examples/test-suite/guile/overload_complicated_runme.scm')
| -rw-r--r-- | Examples/test-suite/guile/overload_complicated_runme.scm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Examples/test-suite/guile/overload_complicated_runme.scm b/Examples/test-suite/guile/overload_complicated_runme.scm new file mode 100644 index 0000000..3c2b80d --- /dev/null +++ b/Examples/test-suite/guile/overload_complicated_runme.scm @@ -0,0 +1,21 @@ +;; The SWIG modules have "passive" Linkage, i.e., they don't generate +;; Guile modules (namespaces) but simply put all the bindings into the +;; current module. That's enough for such a simple test. +(dynamic-call "scm_init_overload_complicated_module" (dynamic-link "./liboverload_complicated.so")) + +(define-macro (check form) + `(if (not ,form) + (error "Check failed: " ',form))) + +(define (=~ a b) + (< (abs (- a b)) 1e-8)) + +;; Check first method +(check (=~ (foo 1 2 "bar" 4) 15)) + +;; Check second method +(check (=~ (foo 1 2) 4811.4)) +(check (=~ (foo 1 2 3.2) 4797.2)) +(check (=~ (foo 1 2 3.2 #\Q) 4798.2)) + +(exit 0) |
