forked from livecode/livecode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvector.livecodescript
More file actions
62 lines (53 loc) · 1.85 KB
/
Copy pathvector.livecodescript
File metadata and controls
62 lines (53 loc) · 1.85 KB
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
script "CoreArrayVector"
/*
Copyright (C) 2016 LiveCode Ltd.
This file is part of LiveCode.
LiveCode is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License v3 as published by the Free
Software Foundation.
LiveCode is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
command DoTestVectorDotMismatchedArrays
local tLeft, tRight
put 1 into tLeft[1]
put 2 into tLeft["a"]
put 3 into tLeft["foo"]
put 2 into tRight[1]
put 3 into tRight["a"]
put 5 into tRight["bar"]
return vectorDotProduct(tLeft, tRight)
end DoTestVectorDotMismatchedArrays
on TestVectorDotProduct
local tLeft, tRight
put empty into tLeft
put empty into tRight
TestAssert "dot of empty vectors is 0", \
vectorDotProduct(tLeft, tRight) is 0.0
put empty into tLeft
put empty into tRight
put 1 into tLeft[1]
put 2 into tLeft[2]
put 3 into tLeft[3]
put 2 into tRight[1]
put 3 into tRight[2]
put 5 into tRight[3]
TestAssert "(1,2,3) dot (2,3,5) is 23", \
vectorDotProduct(tLeft, tRight) is 23
put empty into tLeft
put empty into tRight
put 1 into tLeft["foo"]
put 2 into tLeft["bar"]
put 3 into tLeft["baz"]
put 2 into tRight["foo"]
put 3 into tRight["bar"]
put 5 into tRight["baz"]
TestAssert "non-integer keys (1,2,3) dot (2,3,5) is 23", \
vectorDotProduct(tLeft, tRight) is 23
TestAssertThrow "dot of mismatched vectors is error", \
"DoTestVectorDotMismatchedArrays", the long id of me, \
"EE_VECTORDOT_MISMATCH"
end TestVectorDotProduct