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
// }
src
vector
basic_op
vector_IO.cpp
Generated by
1.9.1