00001 /* a C function in "sync.c" */ 00002 /* cc -c -fpic sync.c 00003 /* ld -shared -o sync.so sync.o 00004 /* eus$ (setq m (load-foreign "sync.so")) 00005 /* #<load-module #X818f520 "./sync.so"> 00006 /* eus$ (defforeign sync m "sync" (:float) :float) 00007 /* #<foreign-code #X818f5e0> 00008 /* eus$ sync 1.0 00009 /* 0.841471 00010 /* eus$ sync 2.0 00011 /* 0.454649 00012 /* eus$ sync 0.01 00013 /* 0.999983 00014 */ 00015 00016 00017 float sync(x) double x; 00018 { extern double sin(); 00019 return(sin(x)/x);} 00020 00021 int average(x,y) 00022 int x,y; 00023 { return((x+y)/2);} 00024