source:
doc/theses/mike_brooks_MMath/programs/hello-md.cfa@
81da3da4
| Last change on this file since 81da3da4 was a5e26821, checked in by , 3 years ago | |
|---|---|
|
|
| File size: 1.3 KB | |
| Rev | Line | |
|---|---|---|
| [bbf6a180] | 1 | #include "array.hfa" |
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | ||
| 17 | ||
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | ||
| 23 | ||
| 24 | ||
| 25 | ||
| 26 | ||
| 27 | ||
| 28 | ||
| 29 | ||
| 30 | ||
| 31 | ||
| 32 | ||
| 33 | ||
| [a5e26821] | 34 | |
| 35 | ||
| 36 | ||
| 37 | ||
| 38 | ||
| 39 | ||
| 40 | forall( [N] ) | |
| [bbf6a180] | 41 | void print1d_cstyle( array(float, N) & c ); |
| 42 | ||
| [a5e26821] | 43 | forall( [N], C & | ar( C, float, N ) ) |
| [bbf6a180] | 44 | void print1d( C & c ); |
| 45 | ||
| 46 | ||
| 47 | ||
| 48 | ||
| 49 | ||
| 50 | ||
| 51 | ||
| 52 | ||
| 53 | ||
| 54 | ||
| 55 | ||
| 56 | ||
| 57 | ||
| 58 | ||
| 59 | ||
| [a5e26821] | 60 | forall( [N] ) |
| [bbf6a180] | 61 | void print1d_cstyle( array(float, N) & c ) { |
| [a5e26821] | 62 | for( i; N ) { |
| [bbf6a180] | 63 | printf("%.1f ", c[i]); |
| 64 | } | |
| 65 | printf("\n"); | |
| 66 | } | |
| 67 | ||
| 68 | ||
| 69 | ||
| 70 | ||
| 71 | ||
| 72 | ||
| 73 | ||
| 74 | ||
| 75 | ||
| 76 | ||
| 77 | ||
| 78 | ||
| 79 | ||
| [a5e26821] | 80 | forall( [N], C & | ar( C, float, N ) ) |
| [bbf6a180] | 81 | void print1d( C & c ) { |
| [a5e26821] | 82 | for( i; N ) { |
| [bbf6a180] | 83 | printf("%.1f ", c[i]); |
| 84 | } | |
| 85 | printf("\n"); | |
| 86 | } | |
| 87 | ||
| 88 | ||
| 89 | ||
| 90 | ||
| 91 | ||
| 92 | ||
| 93 | ||
| 94 | ||
| 95 | ||
| 96 | ||
| 97 | ||
| 98 | ||
| 99 | ||
| 100 | ||
| [a5e26821] | 101 | void fill( array(float, 5, 7) & a ) { |
| [bbf6a180] | 102 | for ( i; (ptrdiff_t) 5 ) { |
| 103 | for ( j; 7 ) { | |
| [a5e26821] | 104 | a[i,j] = 1.0 * i + 0.1 * j; |
| 105 | printf("%.1f ", a[i,j]); | |
| [bbf6a180] | 106 | } |
| 107 | printf("\n"); | |
| 108 | } | |
| 109 | printf("\n"); | |
| 110 | } | |
| 111 | ||
| 112 | int main() { | |
| 113 | ||
| 114 | ||
| 115 | ||
| 116 | ||
| 117 | ||
| 118 | ||
| 119 | ||
| [a5e26821] | 120 | array( float, 5, 7 ) a; |
| [bbf6a180] | 121 | fill(a); |
| 122 | /* | |
| 123 | 0.0 0.1 0.2 0.3 0.4 0.5 0.6 | |
| 124 | 1.0 1.1 1.2 1.3 1.4 1.5 1.6 | |
| 125 | 2.0 2.1 2.2 2.3 2.4 2.5 2.6 | |
| 126 | 3.0 3.1 3.2 3.3 3.4 3.5 3.6 | |
| 127 | 4.0 4.1 4.2 4.3 4.4 4.5 4.6 | |
| 128 | */ | |
| 129 | ||
| 130 | ||
| 131 | ||
| 132 | ||
| 133 | ||
| 134 | ||
| 135 | ||
| 136 | ||
| 137 | ||
| 138 | ||
| 139 | ||
| 140 | print1d_cstyle( a[ 2 ] ); // 2.0 2.1 2.2 2.3 2.4 2.5 2.6 | |
| 141 | ||
| 142 | ||
| 143 | ||
| 144 | ||
| 145 | print1d( a[ 2 ] ); // 2.0 2.1 2.2 2.3 2.4 2.5 2.6 | |
| 146 | ||
| 147 | ||
| 148 | ||
| 149 | ||
| [a5e26821] | 150 | print1d( a[ 2, all ] ); // 2.0 2.1 2.2 2.3 2.4 2.5 2.6 |
| 151 | print1d( a[ all, 3 ] ); // 0.3 1.3 2.3 3.3 4.3 | |
| [bbf6a180] | 152 | |
| 153 | ||
| 154 | ||
| [a5e26821] | 155 | print1d_cstyle( a[ 2, all ] ); |
| [bbf6a180] | 156 | |
| 157 | ||
| 158 | ||
| 159 | ||
| 160 | ||
| 161 | ||
| 162 | ||
| [a5e26821] | 163 | #ifdef SHOW_ERROR_1 |
| [bbf6a180] | 164 | |
| [a5e26821] | 165 | print1d_cstyle( a[ all, 2 ] ); // bad |
| [bbf6a180] | 166 | |
| 167 | #endif | |
| 168 | ||
| 169 | } | |
| 170 | ||
| 171 | ||
| 172 |
Note:
See TracBrowser
for help on using the repository browser.