blob: 5d5f3404914ec8521f48295dae45d62be4869c70 (
plain)
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
|
(defpackage ffnn/tests/algo1
(:use :cl
:ffnn
:ffnn.algo1
:rove))
(in-package :ffnn/tests/algo1)
(deftest check-sum-one-row
(testing "sum-one-row"
(dolist (case '((foo ((foo) () (bar)) ((foo) (foo) (bar)) 1 (3 1))
(foo ((bar) () (bar)) ((bar) (bar) (foo)) 1 (-1 1))
(foo ((bar) () (bar)) ((bar) (bar) (bar)) 1 (1 3))
(foo ((foo) () (bar)) ((foo) (foo) (bar)) nil (1 1))))
(destructuring-bind (item input memory index expected) case
(ok (equal (ffnn.algo1::sum-one-row item input memory index)
expected))))))
(deftest check-sum-one-memory
(testing "Sum one memory"
(ok (equal (ffnn.algo1::sum-one-memory 'foo
'(((foo) (foo))
((bar) (bar))) ;; Input
'(((foo) (foo))
((bar) (bar))) ;; Memory
:rectified-polynomial (ffnn.algo1::make-rectified-polynomial 2)
:target-row 0 :target-col 0
:start-row 0 :start-col 0)
12))
(ok (equal (ffnn.algo1::sum-one-memory 'foo
'(((foo) (foo))
((baz) (baz)))
'(((foo) (foo))
((foo) (foo)))
:rectified-polynomial (ffnn.algo1::make-rectified-polynomial 2)
:target-row 0 :target-col 0
:start-row 0 :start-col 0)
0))))
(deftest check-sum-memories
(testing "Sum memories"
(let ((memories '((((foo) (foo)) ((bar) (bar)))
(((baz) (baz)) ((foo) (foo)))
(((qux) (qux)) ((qux) (qux)))))
(poly-2 (ffnn.algo1::make-rectified-polynomial 2)))
(ok (sum-memories 'foo
'(((foo) (foo)) ((bar) (bar))) ;; Input
memories ;; The Library of templates
:rectified-polynomial poly-2
:start-row 0 :start-col 0
:target-row 0 :target-col 0))
(ng (sum-memories 'foo
'(((qux) (qux)) ((qux) (qux)))
memories
:rectified-polynomial poly-2
:start-row 0 :start-col 0
:target-row 0 :target-col 0))
(ng (sum-memories 'foo
'(((baz) (baz)) ((foo) (foo)))
memories
:rectified-polynomial poly-2
:start-row 0 :start-col 0
:target-row 0 :target-col 0))
(ok (sum-memories 'foo
'(((baz) (baz)) ((foo) (foo)))
memories
:rectified-polynomial poly-2
:start-row 0 :start-col 0
:target-row 1 :target-col 0)))))
|