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

Function testM44

src/python/PyImathTest/main.cpp:1558–1656  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1556
1557
1558void
1559testM44 ()
1560{
1561 object mainModule ((handle<> (borrowed (PyImport_AddModule ("__main__")))));
1562 object mainNamespace = mainModule.attr ("__dict__");
1563
1564 std::cerr << "Testing M44*:\n";
1565
1566 std::string code =
1567 "from imath import *\n"
1568 "m44f = M44f ((1.1, 2.2, 3.3, 4.4),\n"
1569 " (5.5, 6.6, 7.7, 8.8),\n"
1570 " (9.9, 10.10, 11.11, 12.12),\n"
1571 " (13.13, 14.14, 15.15, 16.16))\n"
1572 "m44d = M44d ((17.17, 18.18, 19.19, 20.20),\n"
1573 " (21.21, 22.22, 23.23, 24.24),\n"
1574 " (25.25, 26.26, 27.27, 28.28),\n"
1575 " (29.29, 30.30, 31.31, 32.32))\n"
1576 "i = 1\n"
1577 "from wrap import *\n"
1578 "w = wrap ('M44f')\n"
1579 "assert w.equalWithAbsError (m44f, 1e-6)\n"
1580 "w = wrap ('M44d')\n"
1581 "m44d2 = M44d (m44f)\n"
1582 "assert w.equalWithAbsError (m44d2, 1e-6)\n";
1583
1584 handle<> ignored (PyRun_String (code.c_str(), Py_file_input,
1585 mainNamespace.ptr(), mainNamespace.ptr()));
1586
1587 //
1588
1589 extract <object> em44f (mainNamespace["m44f"]);
1590 assert (em44f.check());
1591
1592 PyObject *m44fObj = em44f().ptr();
1593 assert (m44fObj != 0);
1594
1595 extract <object> em44d (mainNamespace["m44d"]);
1596 assert (em44d.check());
1597
1598 PyObject *m44dObj = em44d().ptr();
1599 assert (m44dObj != 0);
1600
1601 extract <object> ei (mainNamespace["i"]);
1602 assert (ei.check());
1603
1604 PyObject *iObj = ei().ptr();
1605 assert (iObj != 0);
1606
1607 //
1608
1609 std::cerr << "Testing M44f:\n";
1610
1611 IMATH_NAMESPACE::M44f m44fAsM44f;
1612 assert (PyImath::M44f::convert (m44fObj, &m44fAsM44f) == 1);
1613 IMATH_NAMESPACE::M44f m44ff (1.1f, 2.2f, 3.3f, 4.4f,
1614 5.5f, 6.6f, 7.7f, 8.8f,
1615 9.9f, 10.10f, 11.11f, 12.12f,

Callers

nothing calls this directly

Calls 1

equalWithAbsErrorMethod · 0.80

Tested by

no test coverage detected