| 564 | }; |
| 565 | |
| 566 | class TestOutputArrayInfo { |
| 567 | af_array out_arr; |
| 568 | af_array out_arr_cpy; |
| 569 | af_array out_subarr; |
| 570 | dim_t out_subarr_ndims; |
| 571 | af_seq out_subarr_idxs[4]; |
| 572 | TestOutputArrayType out_arr_type; |
| 573 | |
| 574 | public: |
| 575 | TestOutputArrayInfo(); |
| 576 | |
| 577 | TestOutputArrayInfo(TestOutputArrayType arr_type); |
| 578 | |
| 579 | ~TestOutputArrayInfo(); |
| 580 | |
| 581 | void init(const unsigned ndims, const dim_t *const dims, const af_dtype ty); |
| 582 | |
| 583 | void init(const unsigned ndims, const dim_t *const dims, const af_dtype ty, |
| 584 | const af_seq *const subarr_idxs); |
| 585 | |
| 586 | void init(double val, const unsigned ndims, const dim_t *const dims, |
| 587 | const af_dtype ty); |
| 588 | |
| 589 | void init(double val, const unsigned ndims, const dim_t *const dims, |
| 590 | const af_dtype ty, const af_seq *const subarr_idxs); |
| 591 | |
| 592 | af_array getOutput(); |
| 593 | |
| 594 | void setOutput(af_array array); |
| 595 | |
| 596 | af_array getFullOutput(); |
| 597 | af_array getFullOutputCopy(); |
| 598 | af_seq *getSubArrayIdxs(); |
| 599 | dim_t getSubArrayNumDims(); |
| 600 | TestOutputArrayType getOutputArrayType(); |
| 601 | }; |
| 602 | |
| 603 | // Generates a random array. testWriteToOutputArray expects that it will receive |
| 604 | // the same af_array that this generates after the af_* function is called |