| 445 | |
| 446 | |
| 447 | extern "C" void reportSuperOp(SuperOp op) { |
| 448 | validate_superOpFields(op, __func__); |
| 449 | validate_numReportedNewlinesAboveZero(__func__); // because trailing newline mandatory |
| 450 | |
| 451 | // demand that SuperOp is GPU-synced, since the |
| 452 | // to-be-printed GPU elems will overwrite CPU |
| 453 | validate_superOpIsSynced(op, __func__); |
| 454 | |
| 455 | // determine memory costs; heap memory and struct fields |
| 456 | size_t elemMem = mem_getLocalSuperOpMemoryRequired(op.numQubits); |
| 457 | size_t structMem = sizeof(op); |
| 458 | |
| 459 | print_header(op, elemMem + structMem); |
| 460 | print_elems(op); |
| 461 | |
| 462 | // exclude mandatory newline above |
| 463 | print_oneFewerNewlines(); |
| 464 | } |
| 465 | |
| 466 | |
| 467 | extern "C" void reportKrausMap(KrausMap map) { |
no test coverage detected