| 1461 | |
| 1462 | |
| 1463 | void |
| 1464 | testM33 () |
| 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 |
nothing calls this directly
no test coverage detected