1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
// Example ex16
//[1] call intersci with Makefile
//
V=G_make('ex16fi.c','ex16fi.c');
//[2] run the builder generated by intersci.
// Since files and libs were nor transmited
// to intersci we give them here
files = ['ex16fi.o';'ex16c.o'];
libs = [] ;
exec ex16fi_builder.sce
// generated with intersci
ilib_name = 'libex16fi' // interface library name
ilib_name =
libex16fi
table =["ext16ca","intsext16ca";
"ext16cb","intsext16cb";
"ext16cc","intsext16cc";
"ext16cd","intsext16cd";
"ext16ce","intsext16ce";
"ext16cf","intsext16cf";
"ext16cg","intsext16cg";
"ext16ch","intsext16ch"];
ilib_build(ilib_name,table,files,libs);
generate a gateway file
generate a loader file
generate a Makefile: Makelib
running the makefile
compilation of ex16fi
compilation of ex16c
building shared library (be patient)
//[3] run the loader to load the interface
// Note that the file loader.sce
// is changed each time you run a demo
// if several0.desc are present in a directory
exec loader.sce;
shared archive loaded
//[4] test the loaded function
//Run Scilab functions:
a=[%t,%t;%f,%f];
// simple matrix argument
b=ext16ca(a);
if or(b<>~a) then bugmes();quit;end
// matrix and return a matrix in a list
b=ext16cb(a);
if or(b(1)<>~a) then bugmes();quit;end
// new matrix in intersci
b=ext16cc(a);
if or(b<>~a) then bugmes();quit;end
// new matrix returned in a list
b=ext16cd(a);
if or(b(1)<>~a) then bugmes();quit;end
// list argument with a matrix
b=ext16ce(list(a));
if or(b<>~a) then bugmes();quit;end
// list argument + list output
b=ext16cf(list(a));
if or(b(1)<>~a) then bugmes();quit;end
// cboolf
b=ext16cg();
if or(b<>[%f,%t;%t,%f;%f,%t]) then bugmes();quit;end
// cboolf + list
b=ext16ch();
if or(b(1)<>[%f,%t;%t,%f;%f,%t]) then bugmes();quit;end
|