comparison scripts/io/textread.m @ 19278:6ca096827123

Use tempname() rather than tmpnam() in core Octave. * scripts/miscellaneous/tempname.m: Removed m-file as function is now C++. * scripts/miscellaneous/tmpnam.m: New m-file is an alias that calls tempname. * scripts/miscellaneous/module.mk: Add tmpnam.m to build system. * io.txi: Place tempname, tempdir, P_tmpdir docstrings in section on temporary files. * system.txi: Remove tempname, tempdir, P_tmpdir docstrings from generic system functions section of manual. * dirfns.cc, dlmread.cc, md5sum.cc, ov-fcn-handle.cc: Replace instances of tmpnam with tempname in BIST code. * file-io.cc (Ftempname): Change DEFUNX for tmpnam to DEFUN for tempname. Remove seealso links to tmpnam. * ftp.m, playaudio.m, wavwrite.m, imformats.m, imread.m, imwrite.m, imageIO.m, csvwrite.m, dlmwrite.m, fileread.m, importdata.m, textread.m, textscan.m, genvarname.m, unpack.m, install.m, legend.m, __gnuplot_drawnow__.m, copyobj.m, hgsave.m, print.m, __ghostscript__.m, __gnuplot_get_var__.m, __gnuplot_ginput__.m, __gnuplot_print__.m: Replace tmpnam with tempname in core code. * build-sparse-tests.sh, io.tst, prefer.tst, system.tst: Replace tmpnam with tempname in test code.
author Rik <rik@octave.org>
date Wed, 22 Oct 2014 10:41:15 -0700
parents 7bbe3658c5ef
children 0e1f5a750d00
comparison
equal deleted inserted replaced
19277:18a3eaf7bdf0 19278:6ca096827123
219 219
220 endfunction 220 endfunction
221 221
222 222
223 %!test 223 %!test
224 %! f = tmpnam (); 224 %! f = tempname ();
225 %! d = rand (5, 3); 225 %! d = rand (5, 3);
226 %! dlmwrite (f, d, "precision", "%5.2f"); 226 %! dlmwrite (f, d, "precision", "%5.2f");
227 %! [a, b, c] = textread (f, "%f %f %f", "delimiter", ",", "headerlines", 3); 227 %! [a, b, c] = textread (f, "%f %f %f", "delimiter", ",", "headerlines", 3);
228 %! unlink (f); 228 %! unlink (f);
229 %! assert (a, d(4:5, 1), 1e-2); 229 %! assert (a, d(4:5, 1), 1e-2);
230 %! assert (b, d(4:5, 2), 1e-2); 230 %! assert (b, d(4:5, 2), 1e-2);
231 %! assert (c, d(4:5, 3), 1e-2); 231 %! assert (c, d(4:5, 3), 1e-2);
232 232
233 %!test 233 %!test
234 %! f = tmpnam (); 234 %! f = tempname ();
235 %! d = rand (7, 2); 235 %! d = rand (7, 2);
236 %! dlmwrite (f, d, "precision", "%5.2f"); 236 %! dlmwrite (f, d, "precision", "%5.2f");
237 %! [a, b] = textread (f, "%f, %f", "headerlines", 1); 237 %! [a, b] = textread (f, "%f, %f", "headerlines", 1);
238 %! unlink (f); 238 %! unlink (f);
239 %! assert (a, d(2:7, 1), 1e-2); 239 %! assert (a, d(2:7, 1), 1e-2);
240 240
241 %% Test reading 2D matrix with empty format 241 %% Test reading 2D matrix with empty format
242 %!test 242 %!test
243 %! f = tmpnam (); 243 %! f = tempname ();
244 %! d = rand (5, 2); 244 %! d = rand (5, 2);
245 %! dlmwrite (f, d, "precision", "%5.2f"); 245 %! dlmwrite (f, d, "precision", "%5.2f");
246 %! A = textread (f, "", "headerlines", 3); 246 %! A = textread (f, "", "headerlines", 3);
247 %! unlink (f); 247 %! unlink (f);
248 %! assert (A, d(4:5, :), 1e-2); 248 %! assert (A, d(4:5, :), 1e-2);
249 249
250 %% Read multiple lines using empty format string 250 %% Read multiple lines using empty format string
251 %!test 251 %!test
252 %! f = tmpnam (); 252 %! f = tempname ();
253 %! unlink (f); 253 %! unlink (f);
254 %! fid = fopen (f, "w"); 254 %! fid = fopen (f, "w");
255 %! d = rand (1, 4); 255 %! d = rand (1, 4);
256 %! fprintf (fid, " %f %f %f %f ", d); 256 %! fprintf (fid, " %f %f %f %f ", d);
257 %! fclose (fid); 257 %! fclose (fid);
259 %! unlink (f); 259 %! unlink (f);
260 %! assert (A, d, 1e-6); 260 %! assert (A, d, 1e-6);
261 261
262 %% Empty format, corner case = one line w/o EOL 262 %% Empty format, corner case = one line w/o EOL
263 %!test 263 %!test
264 %! f = tmpnam (); 264 %! f = tempname ();
265 %! unlink (f); 265 %! unlink (f);
266 %! fid = fopen (f, "w"); 266 %! fid = fopen (f, "w");
267 %! d = rand (1, 4); 267 %! d = rand (1, 4);
268 %! fprintf (fid, " %f %f %f %f ", d); 268 %! fprintf (fid, " %f %f %f %f ", d);
269 %! fclose (fid); 269 %! fclose (fid);
271 %! unlink (f); 271 %! unlink (f);
272 %! assert (A, d, 1e-6); 272 %! assert (A, d, 1e-6);
273 273
274 %% Read multiple lines using empty format string, missing data (should be 0) 274 %% Read multiple lines using empty format string, missing data (should be 0)
275 %!test 275 %!test
276 %! f = tmpnam (); 276 %! f = tempname ();
277 %! unlink (f); 277 %! unlink (f);
278 %! fid = fopen (f, "w"); 278 %! fid = fopen (f, "w");
279 %! d = rand (1, 4); 279 %! d = rand (1, 4);
280 %! fprintf (fid, "%f, %f, , %f, %f ", d); 280 %! fprintf (fid, "%f, %f, , %f, %f ", d);
281 %! fclose (fid); 281 %! fclose (fid);
283 %! unlink (f); 283 %! unlink (f);
284 %! assert (A, [ d(1:2) 0 d(3:4)], 1e-6); 284 %! assert (A, [ d(1:2) 0 d(3:4)], 1e-6);
285 285
286 %% Test with empty positions - ML returns 0 for empty fields 286 %% Test with empty positions - ML returns 0 for empty fields
287 %!test 287 %!test
288 %! f = tmpnam (); 288 %! f = tempname ();
289 %! unlink (f); 289 %! unlink (f);
290 %! fid = fopen (f, "w"); 290 %! fid = fopen (f, "w");
291 %! d = rand (1, 4); 291 %! d = rand (1, 4);
292 %! fprintf (fid, ",2,,4\n5,,7,\n"); 292 %! fprintf (fid, ",2,,4\n5,,7,\n");
293 %! fclose (fid); 293 %! fclose (fid);
296 %! assert (A, [0 2 0 4; 5 0 7 0], 1e-6); 296 %! assert (A, [0 2 0 4; 5 0 7 0], 1e-6);
297 297
298 %% Another test with empty format + positions, now with more incomplete lower 298 %% Another test with empty format + positions, now with more incomplete lower
299 %% row (must be appended with zeros to get rectangular matrix) 299 %% row (must be appended with zeros to get rectangular matrix)
300 %!test 300 %!test
301 %! f = tmpnam (); 301 %! f = tempname ();
302 %! unlink (f); 302 %! unlink (f);
303 %! fid = fopen (f, "w"); 303 %! fid = fopen (f, "w");
304 %! d = rand (1, 4); 304 %! d = rand (1, 4);
305 %! fprintf (fid, ",2,,4\n5,\n"); 305 %! fprintf (fid, ",2,,4\n5,\n");
306 %! fclose (fid); 306 %! fclose (fid);