File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -65,3 +65,53 @@ TEST(JIT, CPP_JIT_HASH)
6565 delete[] hF2;
6666 }
6767}
68+
69+ TEST (JIT , CPP_JIT_Reset_Binary)
70+ {
71+ using af::array;
72+
73+ af::array a = af::constant (2 , 5 ,5 );
74+ af::array b = af::constant (1 , 5 ,5 );
75+ af::array c = a + b;
76+ af::array d = a - b;
77+ af::array e = c * d;
78+ e.eval ();
79+ af::array f = c - d;
80+ f.eval ();
81+ af::array g = d - c;
82+ g.eval ();
83+
84+ std::vector<float > hf (f.elements ());
85+ std::vector<float > hg (g.elements ());
86+ f.host (&hf[0 ]);
87+ g.host (&hg[0 ]);
88+
89+ for (int i = 0 ; i < (int )f.elements (); i++) {
90+ ASSERT_EQ (hf[i], -hg[i]);
91+ }
92+ }
93+
94+ TEST (JIT , CPP_JIT_Reset_Unary)
95+ {
96+ using af::array;
97+
98+ af::array a = af::constant (2 , 5 ,5 );
99+ af::array b = af::constant (1 , 5 ,5 );
100+ af::array c = af::sin (a);
101+ af::array d = af::cos (b);
102+ af::array e = c * d;
103+ e.eval ();
104+ af::array f = c - d;
105+ f.eval ();
106+ af::array g = d - c;
107+ g.eval ();
108+
109+ std::vector<float > hf (f.elements ());
110+ std::vector<float > hg (g.elements ());
111+ f.host (&hf[0 ]);
112+ g.host (&hg[0 ]);
113+
114+ for (int i = 0 ; i < (int )f.elements (); i++) {
115+ ASSERT_EQ (hf[i], -hg[i]);
116+ }
117+ }
You can’t perform that action at this time.
0 commit comments