DD-AVX  2.0.0
vector_IO.cpp
Go to the documentation of this file.
1 // #include<DD-AVX.hpp>
2 // #include<stdio.h>
3 // #include<string.h>
4 // #include<ctype.h>
5 // #define MM_BANNER "%%MatrixMarket"
6 // #define MM_MTX "matrix"
7 // #define MM_VEC "vector"
8 // #define MM_FMT "coordinate"
9 // #define MM_TYPE_REAL "real"
10 // #define MM_TYPE_GENERAL "general"
11 // #define MM_TYPE_SYMM "symmetric"
12 //
13 // ///////////// dd_real_vector input ////////////////
14 // void dd_real_vector::input(const char* filename){
15 // #ifdef ddavx_debug
16 // printf("DD_vector::input()\n");
17 // #endif
18 // char buf[256],banner[128];
19 // FILE* file;
20 //
21 // if( filename==NULL )
22 // {
23 // printf("filename is NULL\n");
24 // abort();
25 // }
26 // file = fopen(filename, "r");
27 // if( file==NULL )
28 // {
29 // printf("can not open file %s",filename);
30 // abort();
31 // }
32 //
33 // if( fgets(buf, 256, file) == NULL )
34 // {
35 // printf("blank file %s\n",filename);
36 // abort();
37 // }
38 //
39 // sscanf(buf, "%s", banner);
40 // rewind(file);
41 // if( strncmp(banner, "%%MatrixMarket", strlen("%%MatixMarket")) == 0)
42 // {
43 // input_mm(file);
44 // }
45 // else
46 // {
47 // input_plane(file);
48 // }
49 // rewind(file);
50 // fclose(file);
51 // }
52 //
53 // void dd_real_vector::input_mm(FILE *file){
54 // #ifdef ddavx_debug
55 // printf(" DD_vector::input_mm()\n");
56 // #endif
57 // char buf[1024];
58 // char banner[64], mtx[64], fmt[64], dtype[64], dstruct[64];
59 // char *p;
60 // int i;
61 // int err;
62 // int n;
63 // int idx;
64 // double val;
65 // rewind(file);
66 //
67 // fgets(buf, 1024, file);
68 // sscanf(buf, "%s %s %s %s %s", banner, mtx, fmt, dtype, dstruct);
69 //
70 // for(p=mtx;*p!='\0';p++) *p = (char)tolower(*p);
71 // for(p=fmt;*p!='\0';p++) *p = (char)tolower(*p);
72 // for(p=dtype;*p!='\0';p++) *p = (char)tolower(*p);
73 // for(p=dstruct;*p!='\0';p++) *p = (char)tolower(*p);
74 //
75 // if( strncmp(banner, MM_BANNER, strlen(MM_BANNER)) != 0)
76 // {
77 // printf("Not Matrix Market banner, banner is %s\n",banner);
78 // abort();
79 // }
80 // if( strncmp(fmt, MM_FMT, strlen(MM_FMT))!=0 )
81 // {
82 // printf("Not Coodinate format\n");
83 // abort();
84 // }
85 // if( strncmp(dtype, MM_TYPE_REAL, strlen(MM_TYPE_REAL))!=0 )
86 // {
87 // printf("Not real\n");
88 // abort();
89 // }
90 // if( strncmp(dstruct, MM_TYPE_GENERAL, strlen(MM_TYPE_GENERAL))!=0 )
91 // {
92 // printf("Not general\n");
93 // abort();
94 // }
95 //
96 // /* check size */
97 // do
98 // {
99 // if( fgets(buf, 1024, file) == NULL )
100 // {
101 // printf("check size error\n");
102 // abort();
103 // }
104 // }while( buf[0]=='%' );
105 // if( sscanf(buf, "%d", &n) != 1 )
106 // {
107 // printf("file I/O error1\n");
108 // abort();
109 // }
110 //
111 // /* read data */
112 // N=n;
113 // hi.resize(n*2);
114 // lo = &hi[n];
115 //
116 // for(i=0;i<n;i++)
117 // {
118 // if( fgets(buf, 1024, file) == NULL )
119 // {
120 // printf("cant read data, [row val]\n");
121 // abort();
122 // }
123 // if( sscanf(buf,"%d %lf",&idx, &val) != 2 )
124 // {
125 // printf("not data, [row val]\n");
126 // abort();
127 // }
128 // idx--;
129 // hi[idx] = val;
130 // }
131 // }
132 //
133 // void dd_real_vector::input_plane(FILE *file)
134 // {
135 // #ifdef ddavx_debug
136 // printf(" DD_vector::input_plane()\n");
137 // #endif
138 // char buf[1024];
139 // int i;
140 // int err;
141 // int n,is;
142 // double val;
143 //
144 // /* check size */
145 // n = 0;
146 // do
147 // {
148 // err = fscanf(file, "%lf", &val);
149 // if( err==1 ) n++;
150 // }while( err==1 );
151 // rewind(file);
152 //
153 // /* read data */
154 // N = n;
155 // hi = new double[n*2];
156 // lo = &hi[n];
157 // is = 0;
158 //
159 // for(i=0;i<n;i++)
160 // {
161 // if( fgets(buf, 1024, file) == NULL )
162 // {
163 // printf("cant read data, val\n");
164 // abort();
165 // }
166 // if( sscanf(buf, "%lf", &val) != 1 )
167 // {
168 // printf("not data, val\n");
169 // abort();
170 // }
171 // hi[i] = val;
172 // }
173 // }
174 // ///////////// dd_real_vector output ////////////////
175 // void dd_real_vector::output_mm(const char *filename)
176 // {
177 // #ifdef ddavx_debug
178 // printf("DD_vector::output_mm()\n");
179 // #endif
180 // char buf[1024];
181 // int i;
182 // FILE *file;
183 //
184 // file = fopen(filename, "w");
185 // if( file==NULL )
186 // {
187 // printf("can not open file %s",filename);
188 // abort();
189 // }
190 // if(N==0){
191 // printf("vector size N is 0\n");
192 // abort();
193 // }
194 //
195 // fprintf(file,"%s %s %s %s %s\n",MM_BANNER,MM_VEC,MM_FMT,MM_TYPE_REAL,MM_TYPE_GENERAL);
196 // for(i=0;i<N;i++)
197 // {
198 // fprintf(file,"%d %20.20e\n",i,hi[i]);
199 // }
200 //
201 // fclose(file);
202 // }
203 //
204 // void dd_real_vector::output_plane(const char *filename)
205 // {
206 // #ifdef ddavx_debug
207 // printf("DD_vector::output_plane()\n");
208 // #endif
209 // char buf[1024];
210 // int i;
211 // FILE *file;
212 //
213 // file = fopen(filename, "w");
214 // if( file==NULL )
215 // {
216 // printf("can not open file %s",filename);
217 // abort();
218 // }
219 // if(N==0){
220 // printf("vector size N is 0\n");
221 // abort();
222 // }
223 // for(i=0;i<N;i++)
224 // {
225 // fprintf(file,"%20.20e\n",hi[i]);
226 // }
227 //
228 // fclose(file);
229 // }
230 // ///////////// d_real_vector input ////////////////
231 // void d_real_vector::input(const char* filename){
232 // #ifdef ddavx_debug
233 // printf("D_vector::input()\n");
234 // #endif
235 // char buf[256],banner[128];
236 // FILE* file;
237 //
238 // if( filename==NULL )
239 // {
240 // printf("filename is NULL\n");
241 // abort();
242 // }
243 // file = fopen(filename, "r");
244 // if( file==NULL )
245 // {
246 // printf("can not open file %s",filename);
247 // abort();
248 // }
249 //
250 // if( fgets(buf, 256, file) == NULL )
251 // {
252 // printf("blank file %s\n",filename);
253 // abort();
254 // }
255 //
256 // sscanf(buf, "%s", banner);
257 // rewind(file);
258 // if( strncmp(banner, "%%MatrixMarket", strlen("%%MatixMarket")) == 0)
259 // {
260 // input_mm(file);
261 // }
262 // else
263 // {
264 // input_plane(file);
265 // }
266 // rewind(file);
267 // fclose(file);
268 // }
269 // void d_real_vector::input_mm(FILE *file){
270 // #ifdef ddavx_debug
271 // printf(" D_vector::input_mm()\n");
272 // #endif
273 // char buf[1024];
274 // char banner[64], mtx[64], fmt[64], dtype[64], dstruct[64];
275 // char *p;
276 // int i;
277 // int err;
278 // int n;
279 // int idx;
280 // double val;
281 // rewind(file);
282 //
283 // fgets(buf, 1024, file);
284 // sscanf(buf, "%s %s %s %s %s", banner, mtx, fmt, dtype, dstruct);
285 //
286 // for(p=mtx;*p!='\0';p++) *p = (char)tolower(*p);
287 // for(p=fmt;*p!='\0';p++) *p = (char)tolower(*p);
288 // for(p=dtype;*p!='\0';p++) *p = (char)tolower(*p);
289 // for(p=dstruct;*p!='\0';p++) *p = (char)tolower(*p);
290 //
291 // if( strncmp(banner, MM_BANNER, strlen(MM_BANNER)) != 0)
292 // {
293 // printf("Not Matrix Market banner, banner is %s\n",banner);
294 // abort();
295 // }
296 // if( strncmp(fmt, MM_FMT, strlen(MM_FMT))!=0 )
297 // {
298 // printf("Not Coodinate format\n");
299 // abort();
300 // }
301 // if( strncmp(dtype, MM_TYPE_REAL, strlen(MM_TYPE_REAL))!=0 )
302 // {
303 // printf("Not real\n");
304 // abort();
305 // }
306 // if( strncmp(dstruct, MM_TYPE_GENERAL, strlen(MM_TYPE_GENERAL))!=0 )
307 // {
308 // printf("Not general\n");
309 // abort();
310 // }
311 //
312 // /* check size */
313 // do
314 // {
315 // if( fgets(buf, 1024, file) == NULL )
316 // {
317 // printf("check size error\n");
318 // abort();
319 // }
320 // }while( buf[0]=='%' );
321 // if( sscanf(buf, "%d", &n) != 1 )
322 // {
323 // printf("file I/O error1\n");
324 // abort();
325 // }
326 //
327 // /* read data */
328 // N=n;
329 // hi.resize(n);
330 //
331 // for(i=0;i<n;i++)
332 // {
333 // if( fgets(buf, 1024, file) == NULL )
334 // {
335 // printf("cant read data, row val\n");
336 // abort();
337 // }
338 // printf("buf%s",buf);
339 // if( sscanf(buf,"%d %lf",&idx, &val) != 2 )
340 // {
341 // printf("not data, row val\n");
342 // abort();
343 // }
344 // printf("data%d %f\n",idx,val);
345 // idx--;
346 // hi[idx] = val;
347 // }
348 // }
349 //
350 // void d_real_vector::input_plane(FILE *file)
351 // {
352 // #ifdef ddavx_debug
353 // printf(" D_vector::input_plane()\n");
354 // #endif
355 // char buf[1024];
356 // int i;
357 // int err;
358 // int n,is;
359 // double val;
360 //
361 // /* check size */
362 // n = 0;
363 // do
364 // {
365 // err = fscanf(file, "%lf", &val);
366 // if( err==1 ) n++;
367 // }while( err==1 );
368 // rewind(file);
369 //
370 // /* read data */
371 // N = n;
372 // hi.resize(n, 0.0);
373 // is = 0;
374 //
375 // for(i=0;i<n;i++)
376 // {
377 // if( fgets(buf, 1024, file) == NULL )
378 // {
379 // printf("cant read data, val\n");
380 // abort();
381 // }
382 // if( sscanf(buf, "%lf", &val) != 1 )
383 // {
384 // printf("not data, val\n");
385 // abort();
386 // }
387 // hi[i] = val;
388 // }
389 // }
390 // ///////////// d_real_vector output ////////////////
391 // void d_real_vector::output_mm(const char *filename)
392 // {
393 // #ifdef ddavx_debug
394 // printf("D_vector::output_mm()\n");
395 // #endif
396 // char buf[1024];
397 // int i;
398 // FILE *file;
399 //
400 // file = fopen(filename, "w");
401 // if( file==NULL )
402 // {
403 // printf("can not open file %s",filename);
404 // abort();
405 // }
406 // if(N==0){
407 // printf("vector size N is 0\n");
408 // abort();
409 // }
410 //
411 // fprintf(file,"%s %s %s %s %s\n",MM_BANNER,MM_VEC,MM_FMT,MM_TYPE_REAL,MM_TYPE_GENERAL);
412 // for(i=0;i<N;i++)
413 // {
414 // fprintf(file,"%d %20.20e\n",i,hi[i]);
415 // }
416 //
417 // fclose(file);
418 // }
419 //
420 // void d_real_vector::output_plane(const char *filename)
421 // {
422 // #ifdef ddavx_debug
423 // printf("D_vector::output_plane()\n");
424 // #endif
425 // char buf[1024];
426 // int i;
427 // FILE *file;
428 //
429 // file = fopen(filename, "w");
430 // if( file==NULL )
431 // {
432 // printf("can not open file %s",filename);
433 // abort();
434 // }
435 // if(N==0){
436 // printf("vector size N is 0\n");
437 // abort();
438 // }
439 // for(i=0;i<N;i++)
440 // {
441 // fprintf(file,"%20.20e\n",hi[i]);
442 // }
443 //
444 // fclose(file);
445 // }