staticvoid test_comparison_sugar() { // we already trust comparisons between tensors, we're simply checking that // the sugared versions are doing the same thing
Tensor<int, 3> t(6, 7, 5);
t.setRandom(); // make sure we have at least one value == 0
t(0,0,0) = 0;
Tensor<float, 3> R = A.constant(gamma) + A * A.constant(alpha) + B * B.constant(beta);
Tensor<float, 3> S = A * alpha + B * beta + gamma;
Tensor<float, 3> T = gamma + alpha * A + beta * B;
for (int i = 0; i < 6*7*5; ++i) {
VERIFY_IS_APPROX(R(i), S(i));
VERIFY_IS_APPROX(R(i), T(i));
}
}
Tensor<float, 3> R = A.constant(gamma) - A / A.constant(alpha)
- B.constant(beta) / B - A.constant(delta);
Tensor<float, 3> S = gamma - A / alpha - beta / B - delta;
for (int i = 0; i < 6*7*5; ++i) {
VERIFY_IS_APPROX(R(i), S(i));
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.