MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/Imath / testM33

Function testM33

src/python/PyImathTest/main.cpp:1463–1555  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1461
1462
1463void
1464testM33 ()
1465{
1466 object mainModule ((handle<> (borrowed (PyImport_AddModule ("__main__")))));
1467 object mainNamespace = mainModule.attr ("__dict__");
1468
1469 std::cerr << "Testing M33*:\n";
1470
1471 std::string code =
1472 "from imath import *\n"
1473 "m33f = M33f ((1.1, 2.2, 3.3),\n"
1474 " (4.4, 5.5, 6.6),\n"
1475 " (7.7, 8.8, 9.9))\n"
1476 "m33d = M33d ((10.10, 11.11, 12.12),\n"
1477 " (13.13, 14.14, 15.15),\n"
1478 " (16.16, 17.17, 18.18))\n"
1479 "i = 1\n"
1480 "from wrap import *\n"
1481 "w = wrap ('M33f')\n"
1482 "assert w.equalWithAbsError (m33f, 1e-6)\n"
1483 "w = wrap ('M33d')\n"
1484 "m33d2 = M33d (m33f)\n"
1485 "assert w.equalWithAbsError (m33d2, 1e-6)\n";
1486
1487 handle<> ignored (PyRun_String (code.c_str(), Py_file_input,
1488 mainNamespace.ptr(), mainNamespace.ptr()));
1489
1490 //
1491
1492 extract <object> em33f (mainNamespace["m33f"]);
1493 assert (em33f.check());
1494
1495 PyObject *m33fObj = em33f().ptr();
1496 assert (m33fObj != 0);
1497
1498 extract <object> em33d (mainNamespace["m33d"]);
1499 assert (em33d.check());
1500
1501 PyObject *m33dObj = em33d().ptr();
1502 assert (m33dObj != 0);
1503
1504 extract <object> ei (mainNamespace["i"]);
1505 assert (ei.check());
1506
1507 PyObject *iObj = ei().ptr();
1508 assert (iObj != 0);
1509
1510 //
1511
1512 std::cerr << "Testing M33f:\n";
1513
1514 IMATH_NAMESPACE::M33f m33fAsM33f;
1515 assert (PyImath::M33f::convert (m33fObj, &m33fAsM33f) == 1);
1516 IMATH_NAMESPACE::M33f m33ff (1.1f, 2.2f, 3.3f,
1517 4.4f, 5.5f, 6.6f,
1518 7.7f, 8.8f, 9.9f);
1519 assert (m33fAsM33f.equalWithAbsError (m33ff, 1e-7));
1520

Callers

nothing calls this directly

Calls 1

equalWithAbsErrorMethod · 0.80

Tested by

no test coverage detected