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
|
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) ????-2008 - INRIA
//
// This file must be used under the terms of the CeCILL.
// This source file is licensed as described in the file COPYING, which
// you should have received as part of this distribution. The terms
// are also available at
// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
//ex14 example
//1-Creating interface source file
// from ex14fi.desc file by call to intersci
// Making object files
// Interface file '/tmp/ex14fi.o';
// User's files '/tmp/ex14c.o'
files=G_make(["/tmp/ex14fi.o","/tmp/ex14c.o";],"ex14.dll");
//2-Link object files .o with addinter
//addinter(files,'intex14',intex1_funs);
exec("ex14fi.sce");
//Run Scilab functions:
a=[0,0,1.23;0,2.32,0;3.45,0,0];
ai=[0,0,9;0,6,0;7,0,0];
spa=sparse(a);
spai=sparse(a+%i*ai);
// simple sparse argument
b=spt1(spa);
if norm(full(b- spa)) > %eps then pause,end
b=spt1(spai);
if norm(full(b- spai)) > %eps then pause,end
// sparse argument + conversion to int
b=spt2(spa);
if norm(full(b- int(spa))) > %eps then pause,end
b=spt2(spai);
if norm(full(b- int(spai))) > %eps then pause,end
// sparse and return a sparse in a list
b=spt3(spa);
if norm(full(b(1)- spa)) > %eps then pause,end
b=spt3(spai);
if norm(full(b(1)- spai)) > %eps then pause,end
// new sparse in intersci
b=spt4(spa);
if norm(full(b- 2*spa)) > %eps then pause,end
b=spt4(spai);
if norm(full(b- 2*spai)) > %eps then pause,end
// new sparse + conversion to int
b=spt5(spa);
if norm(full(b- int(2*spa))) > %eps then pause,end
b=spt5(spai);
if norm(full(b- int(2*spai))) > %eps then pause,end
// new sparse returned in a list
b=spt6(spa);
if norm(full(b(1)- 2*spa)) > %eps then pause,end
b=spt6(spai);
if norm(full(b(1)- 2*spai)) > %eps then pause,end
// list argument with a sparse
b=spt7(list(spa));
if norm(full(b- spa)) > %eps then pause,end
b=spt7(list(spai));
if norm(full(b- spai)) > %eps then pause,end
// list argument + conversion
b=spt8(list(spa));
if norm(full(b- int(spa))) > %eps then pause,end
b=spt8(list(spai));
if norm(full(b- int(spai))) > %eps then pause,end
// list argument + list output
b=spt9(list(spa));
if norm(full(b(1)- spa)) > %eps then pause,end
b=spt9(list(spai));
if norm(full(b(1)- spai)) > %eps then pause,end
b=spt10(spa);
if norm(full(b- 2*spa)) > %eps then pause,end
|