1 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".
(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Reading and writing permutations</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Reading and writing permutations">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Reading and writing permutations">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Permutations.html#Permutations" rel="up" title="Permutations">
<link href="Permutations-in-cyclic-form.html#Permutations-in-cyclic-form" rel="next" title="Permutations in cyclic form">
<link href="Applying-Permutations.html#Applying-Permutations" rel="previous" title="Applying Permutations">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Reading-and-writing-permutations"></a>
<div class="header">
<p>
Next: <a href="Permutations-in-cyclic-form.html#Permutations-in-cyclic-form" accesskey="n" rel="next">Permutations in cyclic form</a>, Previous: <a href="Applying-Permutations.html#Applying-Permutations" accesskey="p" rel="previous">Applying Permutations</a>, Up: <a href="Permutations.html#Permutations" accesskey="u" rel="up">Permutations</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Reading-and-writing-permutations-1"></a>
<h3 class="section">9.7 Reading and writing permutations</h3>
<p>The library provides functions for reading and writing permutations to a
file as binary data or formatted text.
</p>
<dl>
<dt><a name="index-gsl_005fpermutation_005ffwrite"></a>Function: <em>int</em> <strong>gsl_permutation_fwrite</strong> <em>(FILE * <var>stream</var>, const gsl_permutation * <var>p</var>)</em></dt>
<dd><p>This function writes the elements of the permutation <var>p</var> to the
stream <var>stream</var> in binary format. The function returns
<code>GSL_EFAILED</code> if there was a problem writing to the file. Since the
data is written in the native binary format it may not be portable
between different architectures.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fpermutation_005ffread"></a>Function: <em>int</em> <strong>gsl_permutation_fread</strong> <em>(FILE * <var>stream</var>, gsl_permutation * <var>p</var>)</em></dt>
<dd><p>This function reads into the permutation <var>p</var> from the open stream
<var>stream</var> in binary format. The permutation <var>p</var> must be
preallocated with the correct length since the function uses the size of
<var>p</var> to determine how many bytes to read. The function returns
<code>GSL_EFAILED</code> if there was a problem reading from the file. The
data is assumed to have been written in the native binary format on the
same architecture.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fpermutation_005ffprintf"></a>Function: <em>int</em> <strong>gsl_permutation_fprintf</strong> <em>(FILE * <var>stream</var>, const gsl_permutation * <var>p</var>, const char * <var>format</var>)</em></dt>
<dd><p>This function writes the elements of the permutation <var>p</var>
line-by-line to the stream <var>stream</var> using the format specifier
<var>format</var>, which should be suitable for a type of <var>size_t</var>.
In ISO C99 the type modifier <code>z</code> represents <code>size_t</code>, so
<code>"%zu\n"</code> is a suitable format.<a name="DOCF9" href="#FOOT9"><sup>9</sup></a>
The function returns <code>GSL_EFAILED</code> if there was a problem writing
to the file.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fpermutation_005ffscanf"></a>Function: <em>int</em> <strong>gsl_permutation_fscanf</strong> <em>(FILE * <var>stream</var>, gsl_permutation * <var>p</var>)</em></dt>
<dd><p>This function reads formatted data from the stream <var>stream</var> into the
permutation <var>p</var>. The permutation <var>p</var> must be preallocated with
the correct length since the function uses the size of <var>p</var> to
determine how many numbers to read. The function returns
<code>GSL_EFAILED</code> if there was a problem reading from the file.
</p></dd></dl>
<div class="footnote">
<hr>
<h4 class="footnotes-heading">Footnotes</h4>
<h3><a name="FOOT9" href="#DOCF9">(9)</a></h3>
<p>In versions of the
GNU C library prior to the ISO C99 standard,
the type modifier <code>Z</code> was used instead.</p>
</div>
<hr>
<div class="header">
<p>
Next: <a href="Permutations-in-cyclic-form.html#Permutations-in-cyclic-form" accesskey="n" rel="next">Permutations in cyclic form</a>, Previous: <a href="Applying-Permutations.html#Applying-Permutations" accesskey="p" rel="previous">Applying Permutations</a>, Up: <a href="Permutations.html#Permutations" accesskey="u" rel="up">Permutations</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|