[fd4df379] | 1 | // |
---|
| 2 | // Cforall Version 1.0.0 Copyright (C) 2023 University of Waterloo |
---|
| 3 | // |
---|
| 4 | // The contents of this file are covered under the licence agreement in the |
---|
| 5 | // file "LICENCE" distributed with Cforall. |
---|
| 6 | // |
---|
| 7 | // boxed.cases.hfa -- tables of test cases for the "array boxed" test |
---|
| 8 | // |
---|
| 9 | // Author : Mike Brooks |
---|
| 10 | // Created On : Thu Jul 25 17:00:00 2024 |
---|
| 11 | // Last Modified By : |
---|
| 12 | // Last Modified On : |
---|
| 13 | // Update Count : |
---|
| 14 | // |
---|
| 15 | |
---|
| 16 | // See general test documentation in boxed.main.cfa. |
---|
| 17 | |
---|
| 18 | /* |
---|
| 19 | This pair of tables summarizes the handwritten functions of .main.cfa, for automatically wrapping and calling them. |
---|
| 20 | |
---|
| 21 | TR test rig one handwritten function and its stack of generated wrappers |
---|
| 22 | - TRID test rig identifier (primary key) |
---|
| 23 | - SZS sizing style how the array's length (in number of elements) is given |
---|
| 24 | - NSTAT static number of elements generated code hardcodes the array length; the outputted C VLA accommodates only varying-sized T |
---|
| 25 | - NDYN dynamic number of elements generated code uses a parameter for the length; represents a VLA apparent to the CFA programmer |
---|
| 26 | - SZV sizing value concrete size of the test case, except for (TR, NDYN), which has the parameter name |
---|
| 27 | - ETG element type generator how the array's element type relates to T |
---|
| 28 | - ID identity array is of T |
---|
| 29 | - PAIR pair array is of pair(T,T) |
---|
| 30 | - ACCS access style how the access-side code sees the elements |
---|
| 31 | - BUF buffer accessor is working directly with the declared array (buffer) variable |
---|
| 32 | - RAII RAII accessor is a constructor/destructor pair |
---|
| 33 | - PFST pointer to first element accessor is in a support function, who receives the array as parameter T x[] |
---|
| 34 | - PARR pointer to array accessor is in a support function, who receives the array as parameter T (*x)[length] |
---|
| 35 | - SPS support polymorphism style when passing the array to a support (helper) function, how the call uses type variables and assertions |
---|
| 36 | - NA not applicable the rig does not use a support function |
---|
| 37 | - PPD poly-poly direct polymorphic calls polymorphic, directly (C-style name lookup) |
---|
| 38 | - PPA poly-poly assertion polymorphic calls polymorphic, via assertion |
---|
| 39 | - PMA poly-mono assertion polymorphic calls monomorphic, via assertion |
---|
| 40 | - MPD mono-poly direct monomorphic calls polymorphic, directly (C-style name lookup) |
---|
| 41 | - OVLD overloading type type of pointer returned from the function (wrapper), lets caller |
---|
| 42 | TC test case one call to (the stack of wrappers of) a handwritten function |
---|
| 43 | - TRID test rig identifier (primary key, pseudo foreign key) |
---|
| 44 | - TCID test case identifier (primary key) |
---|
| 45 | - SZS sizing style (duplicate, join result) |
---|
| 46 | - SZV sizing value (duplicate, join result), except for TC under TR NDYN, which has concrete size of the test case |
---|
| 47 | - ETG element type generator (duplicate, join result) |
---|
| 48 | - VART varying type type to use for T in this call |
---|
| 49 | */ |
---|
| 50 | |
---|
| 51 | // #define TR( TRID, SZS, SZV, ETG, ACCS, SPS, OVLD ) |
---|
| 52 | // #define TC( TRID, TCID, SZS, SZV, ETG, VART ) |
---|
| 53 | |
---|
| 54 | TR( 1, NSTAT, 1, ID, BUF, NA, T ) |
---|
| 55 | TC( 1, a, NSTAT, 1, ID, short ) |
---|
| 56 | TC( 1, b, NSTAT, 1, ID, bigun ) |
---|
| 57 | |
---|
| 58 | TR( 2, NSTAT, 42, ID, BUF, NA, T ) |
---|
| 59 | TC( 2, a, NSTAT, 42, ID, char ) |
---|
| 60 | TC( 2, b, NSTAT, 42, ID, float ) |
---|
| 61 | TC( 2, c, NSTAT, 42, ID, long long ) |
---|
| 62 | TC( 2, d, NSTAT, 42, ID, bigun ) |
---|
| 63 | |
---|
| 64 | TR( 3, NDYN, n, ID, BUF, NA, T ) |
---|
| 65 | TC( 3, a, NDYN, 1, ID, int ) |
---|
| 66 | TC( 3, b, NDYN, 42, ID, int ) |
---|
| 67 | TC( 3, c, NDYN, 1, ID, bigun ) |
---|
| 68 | TC( 3, d, NDYN, 42, ID, bigun ) |
---|
| 69 | |
---|
| 70 | TR( 4, NSTAT, 42, ID, BUF, NA, T ) |
---|
| 71 | TC( 4, a, NSTAT, 42, ID, char ) |
---|
| 72 | TC( 4, b, NSTAT, 42, ID, bigun ) |
---|
| 73 | |
---|
| 74 | TR( 5, NSTAT, 42, PAIR, BUF, NA, T ) |
---|
| 75 | TC( 5, a, NSTAT, 42, PAIR, double ) |
---|
| 76 | TC( 5, b, NSTAT, 42, PAIR, bigun ) |
---|
| 77 | |
---|
| 78 | TR( 6, NSTAT, 42, ID, RAII, NA, T ) |
---|
| 79 | TC( 6, a, NSTAT, 42, ID, my_mgd_t ) |
---|
| 80 | |
---|
| 81 | TR( 7, NSTAT, 42, ID, PFST, PPD, T ) |
---|
| 82 | TC( 7, a, NSTAT, 42, ID, char ) |
---|
| 83 | TC( 7, b, NSTAT, 42, ID, float ) |
---|
| 84 | TC( 7, c, NSTAT, 42, ID, long long ) |
---|
| 85 | TC( 7, d, NSTAT, 42, ID, bigun ) |
---|
| 86 | |
---|
| 87 | TR( 8, NSTAT, 42, ID, PARR, PPD, T ) |
---|
| 88 | TC( 8, a, NSTAT, 42, ID, double ) |
---|
| 89 | |
---|
| 90 | TR( 9, NSTAT, 42, ID, PFST, PPA, T ) |
---|
| 91 | TC( 9, a, NSTAT, 42, ID, char ) |
---|
| 92 | TC( 9, b, NSTAT, 42, ID, float ) |
---|
| 93 | TC( 9, c, NSTAT, 42, ID, long long ) |
---|
| 94 | TC( 9, d, NSTAT, 42, ID, bigun ) |
---|
| 95 | |
---|
| 96 | TR( 10, NSTAT, 42, ID, PARR, PPA, T ) |
---|
| 97 | TC( 10, a, NSTAT, 42, ID, double ) |
---|
| 98 | |
---|
| 99 | TR( 11, NSTAT, 42, ID, PFST, PMA, T ) |
---|
| 100 | TC( 11, a, NSTAT, 42, ID, char ) |
---|
| 101 | TC( 11, b, NSTAT, 42, ID, bigun ) |
---|
| 102 | |
---|
| 103 | TR( 12, NSTAT, 42, ID, PARR, PMA, T ) |
---|
| 104 | TC( 12, a, NSTAT, 42, ID, double ) |
---|
| 105 | |
---|
| 106 | TR( 13, NSTAT, 42, ID, PFST, MPD, char ) // overload 1 |
---|
| 107 | TR( 13, NSTAT, 42, ID, PFST, MPD, bigun ) // overload 2 |
---|
| 108 | TC( 13, a, NSTAT, 42, ID, char ) |
---|
| 109 | TC( 13, b, NSTAT, 42, ID, bigun ) |
---|
| 110 | |
---|
| 111 | TR( 14, NSTAT, 42, ID, PARR, MPD, double ) |
---|
| 112 | TC( 14, a, NSTAT, 42, ID, double ) |
---|
| 113 | |
---|
| 114 | TR( 15, NSTAT, 42, ID, PFST, PPD, T ) |
---|
| 115 | TC( 15, a, NSTAT, 42, ID, char ) |
---|
| 116 | TC( 15, b, NSTAT, 42, ID, bigun ) |
---|