Mercurial > hg > octave-nkf
comparison scripts/io/textread.m @ 19470: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
19469:18a3eaf7bdf0 | 19470: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); |