~ubuntu-branches/ubuntu/wily/afnix/wily

« back to all changes in this revision

Viewing changes to src/mod/mth/tst/MTH0114.als

  • Committer: Package Import Robot
  • Author(s): Nobuhiro Iwamatsu
  • Date: 2015-07-11 02:00:35 UTC
  • mfrom: (10.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20150711020035-2nhpztq7s15qyc0v
Tags: 2.5.1-1
* New upstream release. (Closes: #789968)
* Update debian/control.
  - Update Standards-Version to 3.9.6.
* Add support mips64(el) and ppc64el. (Closes: #741508, #748146)
* Add patches/support-gcc-5.x.patch. (Closes: #777767)
  - Fix build with gcc-5.x.
* Add patches/Disable-NET0001.als.patch.
  - Disable test of NET0001.als.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# ---------------------------------------------------------------------------
 
2
# - MTH0114.als                                                             -
 
3
# - afnix:mth module algebra test unit                                      -
 
4
# ---------------------------------------------------------------------------
 
5
# - This program is free software;  you can redistribute it  and/or  modify -
 
6
# - it provided that this copyright notice is kept intact.                  -
 
7
# -                                                                         -
 
8
# - This program  is  distributed in  the hope  that it will be useful, but -
 
9
# - without  any  warranty;  without  even   the   implied    warranty   of -
 
10
# - merchantability or fitness for a particular purpose.  In no event shall -
 
11
# - the copyright holder be liable for any  direct, indirect, incidental or -
 
12
# - special damages arising in any way out of the use of this software.     -
 
13
# ---------------------------------------------------------------------------
 
14
# - copyright (c) 1999-2015 amaury darsch                                   -
 
15
# ---------------------------------------------------------------------------
 
16
 
 
17
# @info   qr update test unit
 
18
# @author amaury darsch
 
19
 
 
20
# get the module
 
21
interp:library "afnix-mth"
 
22
# load matrix generator
 
23
interp:load "MTHXXXX"
 
24
 
 
25
# create a qr solver
 
26
const qr (afnix:mth:Qr)  
 
27
 
 
28
# check representation
 
29
assert true (afnix:mth:qr-p qr)
 
30
assert true (afnix:mth:direct-p qr)
 
31
assert true (afnix:mth:solver-p qr)
 
32
assert "Qr" (qr:repr)
 
33
 
 
34
# create 3x3 matrix
 
35
trans m (afnix:mth:Rmatrix 3)
 
36
mth-set-3x3 m
 
37
# set lhs and factorize row 0
 
38
qr:set-lhs m
 
39
# factorize row 0
 
40
qr:factorize 0 1
 
41
# update row 1-2
 
42
qr:update 1 2
 
43
# get the qr matrix and compare
 
44
trans qrm (qr:get-qr)
 
45
assert true (qrm:?= m)
 
46
 
 
47
# create 3x3 matrix
 
48
trans m (afnix:mth:Rmatrix 3)
 
49
mth-set-3x3 m
 
50
# set lhs and factorize row 0
 
51
qr:set-lhs m
 
52
# factorize row 2
 
53
qr:factorize 2 1
 
54
# update row 0-1
 
55
qr:update 0 2
 
56
# get the qr matrix and compare
 
57
trans qrm (qr:get-qr)
 
58
assert true (qrm:?= m)
 
59
 
 
60
# create 9x9 matrix
 
61
trans m (afnix:mth:Rmatrix 9)
 
62
mth-set-9x9 m
 
63
# set lhs and factorize row 0-3
 
64
qr:set-lhs m
 
65
# factorize row 0-3
 
66
qr:factorize 0 4
 
67
# update row 4-8
 
68
qr:update 4 5
 
69
# get the qr matrix and compare
 
70
trans qrm (qr:get-qr)
 
71
assert true (qrm:?= m)
 
72
 
 
73
# create 9x9 matrix
 
74
trans m (afnix:mth:Rmatrix 9)
 
75
mth-set-9x9 m
 
76
# set lhs and factorize row 0-3
 
77
qr:set-lhs m
 
78
# factorize row 6-6
 
79
qr:factorize 6 3
 
80
# update row 0-6
 
81
qr:update 0 6
 
82
# get the qr matrix and compare
 
83
trans qrm (qr:get-qr)
 
84
assert true (qrm:?= m)
 
85
 
 
86
# create a random matrix
 
87
trans m (afnix:mth:get-random-r-matrix 17 100.0 true)
 
88
# set lhs and factorize
 
89
qr:set-lhs m
 
90
# factorize row 0-9
 
91
qr:factorize 0 10
 
92
# update row 10-16
 
93
qr:update 10 7
 
94
# get the qr matrix and compare
 
95
trans qrm (qr:get-qr)
 
96
assert true (qrm:?= m)
 
97
 
 
98
# create a random matrix
 
99
trans m (afnix:mth:get-random-r-matrix 64 100.0 true)
 
100
# set lhs and factorize
 
101
qr:set-lhs m
 
102
# factorize row 0-31
 
103
qr:factorize 0 32
 
104
# update row 32-63
 
105
qr:update 32 32
 
106
# get the qr matrix and compare
 
107
trans qrm (qr:get-qr)
 
108
assert true (qrm:?= m)
 
109
 
 
110
# create a random matrix
 
111
trans m (afnix:mth:get-random-r-matrix 128 100.0 true)
 
112
# set lhs and factorize
 
113
qr:set-lhs m
 
114
# factorize row 96-127
 
115
qr:factorize 96 32
 
116
# update row 0-95
 
117
qr:update 0 96
 
118
# get the qr matrix and compare
 
119
trans qrm (qr:get-qr)
 
120
assert true (qrm:?= m)