[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 )
|
---|