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

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Anibal Monsalve Salazar
  • Date: 2011-03-16 21:31:18 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110316213118-gk4k3ez3e5d2huna
Tags: 2.0.0-1
* QA upload.
* New upstream release
* Debian source format is 3.0 (quilt)
* Fix debhelper-but-no-misc-depends
* Fix ancient-standards-version
* Fix package-contains-linda-override
* debhelper compatibility is 7
* Fix dh-clean-k-is-deprecated

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# ---------------------------------------------------------------------------
 
2
# - MTH0100.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-2011 amaury darsch                                   -
 
15
# ---------------------------------------------------------------------------
 
16
 
 
17
# @info   real vector test unit
 
18
# @author amaury darsch
 
19
 
 
20
# get the module
 
21
interp:library "afnix-mth"
 
22
 
 
23
# create a simple vector
 
24
const rv (afnix:mth:Rvector 3)
 
25
 
 
26
# check predicate
 
27
assert true (afnix:mth:rvi-p rv)
 
28
assert true (afnix:mth:r-vector-p rv)
 
29
 
 
30
# check representation
 
31
assert "Rvector" (rv:repr)
 
32
 
 
33
# check vector length and elements
 
34
assert 3 (rv:get-size)
 
35
 
 
36
# check accessors
 
37
assert 0.0 (rv:get 0)
 
38
rv:set 0 0.0
 
39
assert 0.0 (rv:get 0)
 
40
 
 
41
assert 0.0 (rv:get 1)
 
42
rv:set 1 3.0
 
43
assert 3.0 (rv:get 1)
 
44
 
 
45
assert 0.0 (rv:get 2)
 
46
rv:set 2 4.0
 
47
assert 4.0 (rv:get 2)
 
48
 
 
49
# check dedicated methods
 
50
assert 5.0 (rv:norm)
 
51
 
 
52
# test the vector operators
 
53
rv:*= 2.0
 
54
assert 10.0 (rv:norm)
 
55
 
 
56
rv:+= 1.0
 
57
rv:-= 1.0
 
58
rv:/= 2.0
 
59
assert 5.0 (rv:norm)
 
60
 
 
61
# create another vector
 
62
const nv (afnix:mth:Rvector 3)
 
63
nv:set 0 1.0
 
64
nv:set 1 1.0
 
65
nv:set 2 1.0
 
66
 
 
67
# check the dot product
 
68
assert 7.0 (rv:dot nv)
 
69
 
 
70
# check the operators
 
71
trans av (+ rv nv)
 
72
assert 1.0 (av:get 0)
 
73
assert 4.0 (av:get 1)
 
74
assert 5.0 (av:get 2)
 
75
 
 
76
trans sv (- av nv)
 
77
assert true (sv:?= rv)
 
78
 
 
79
trans av (* rv 2.0)
 
80
assert 10.0 (av:norm)
 
81
trans av (/ av 2.0)
 
82
assert 5.0 (av:norm)