Lines Matching refs:w1

42       Weight w1 = weight_generator_();
47 VLOG(1) << "w1 = " << w1;
51 TestSemiring(w1, w2, w3);
53 TestDivision(w1, w2);
54 TestReverse(w1, w2);
55 TestEquality(w1, w2, w3);
56 TestIO(w1);
57 TestCopy(w1);
66 void TestSemiring(Weight w1, Weight w2, Weight w3) {
68 CHECK(Plus(w1, w2).Member());
69 CHECK(Times(w1, w2).Member());
72 CHECK(ApproxEqual(Plus(w1, Plus(w2, w3)), Plus(Plus(w1, w2), w3)));
73 CHECK(ApproxEqual(Times(w1, Times(w2, w3)), Times(Times(w1, w2), w3)));
76 CHECK(Plus(w1, Weight::Zero()) == w1);
77 CHECK(Plus(Weight::Zero(), w1) == w1);
78 CHECK(Times(w1, Weight::One()) == w1);
79 CHECK(Times(Weight::One(), w1) == w1);
83 CHECK(!Plus(w1, Weight::NoWeight()).Member());
84 CHECK(!Plus(Weight::NoWeight(), w1).Member());
85 CHECK(!Times(w1, Weight::NoWeight()).Member());
86 CHECK(!Times(Weight::NoWeight(), w1).Member());
89 CHECK(ApproxEqual(Plus(w1, w2), Plus(w2, w1)));
91 CHECK(ApproxEqual(Times(w1, w2), Times(w2, w1)));
94 CHECK(Times(w1, Weight::Zero()) == Weight::Zero());
95 CHECK(Times(Weight::Zero(), w1) == Weight::Zero());
98 CHECK(Power(w1, 0) == Weight::One());
101 CHECK(Power(w1, 1) == w1);
104 CHECK(Power(w1, 3) == Times(w1, Times(w1, w1)));
108 CHECK(ApproxEqual(Times(w1, Plus(w2, w3)),
109 Plus(Times(w1, w2), Times(w1, w3))));
111 CHECK(ApproxEqual(Times(Plus(w1, w2), w3),
112 Plus(Times(w1, w3), Times(w2, w3))));
115 CHECK(Plus(w1, w1) == w1);
118 CHECK(Plus(w1, w2) == w1 || Plus(w1, w2) == w2);
129 void TestDivision(Weight w1, Weight w2) {
130 Weight p = Times(w1, w2);
133 Weight d = Divide(p, w1, DIVIDE_LEFT);
135 CHECK(ApproxEqual(p, Times(w1, d)));
136 CHECK(!Divide(w1, Weight::NoWeight(), DIVIDE_LEFT).Member());
137 CHECK(!Divide(Weight::NoWeight(), w1, DIVIDE_LEFT).Member());
144 CHECK(!Divide(w1, Weight::NoWeight(), DIVIDE_RIGHT).Member());
145 CHECK(!Divide(Weight::NoWeight(), w1, DIVIDE_RIGHT).Member());
149 Weight d = Divide(p, w1, DIVIDE_RIGHT);
151 CHECK(ApproxEqual(p, Times(d, w1)));
156 void TestReverse(Weight w1, Weight w2) {
159 ReverseWeight rw1 = w1.Reverse();
162 CHECK(rw1.Reverse() == w1);
163 CHECK(Plus(w1, w2).Reverse() == Plus(rw1, rw2));
164 CHECK(Times(w1, w2).Reverse() == Times(rw2, rw1));
168 void TestEquality(Weight w1, Weight w2, Weight w3) {
170 CHECK(w1 == w1);
173 CHECK((w1 == w2) == (w2 == w1));
176 if (w1 == w2 && w2 == w3)
177 CHECK(w1 == w3);