source:
doc/theses/mike_brooks_MMath/programs/hello-md.cfa
@
3ef5905
Last change on this file since 3ef5905 was a5e2682, checked in by , 22 months 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 | ||
[a5e2682] | 34 | |
35 | ||
36 | ||
37 | ||
38 | ||
39 | ||
40 | forall( [N] ) | |
[bbf6a180] | 41 | void print1d_cstyle( array(float, N) & c ); |
42 | ||
[a5e2682] | 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 | ||
[a5e2682] | 60 | forall( [N] ) |
[bbf6a180] | 61 | void print1d_cstyle( array(float, N) & c ) { |
[a5e2682] | 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 | ||
[a5e2682] | 80 | forall( [N], C & | ar( C, float, N ) ) |
[bbf6a180] | 81 | void print1d( C & c ) { |
[a5e2682] | 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 | ||
[a5e2682] | 101 | void fill( array(float, 5, 7) & a ) { |
[bbf6a180] | 102 | for ( i; (ptrdiff_t) 5 ) { |
103 | for ( j; 7 ) { | |
[a5e2682] | 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 | ||
[a5e2682] | 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 | ||
[a5e2682] | 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 | ||
[a5e2682] | 155 | print1d_cstyle( a[ 2, all ] ); |
[bbf6a180] | 156 | |
157 | ||
158 | ||
159 | ||
160 | ||
161 | ||
162 | ||
[a5e2682] | 163 | #ifdef SHOW_ERROR_1 |
[bbf6a180] | 164 | |
[a5e2682] | 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.