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
|
<html lang="en">
<head>
<title>Reading and writing histograms - GNU Scientific Library -- Reference Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Scientific Library -- Reference Manual">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Histograms.html" title="Histograms">
<link rel="prev" href="Histogram-Operations.html" title="Histogram Operations">
<link rel="next" href="Resampling-from-histograms.html" title="Resampling from histograms">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Reading-and-writing-histograms"></a>
<p>
Next: <a rel="next" accesskey="n" href="Resampling-from-histograms.html">Resampling from histograms</a>,
Previous: <a rel="previous" accesskey="p" href="Histogram-Operations.html">Histogram Operations</a>,
Up: <a rel="up" accesskey="u" href="Histograms.html">Histograms</a>
<hr>
</div>
<h3 class="section">22.8 Reading and writing histograms</h3>
<p>The library provides functions for reading and writing histograms to a file
as binary data or formatted text.
<div class="defun">
— Function: int <b>gsl_histogram_fwrite</b> (<var>FILE * stream, const gsl_histogram * h</var>)<var><a name="index-gsl_005fhistogram_005ffwrite-2017"></a></var><br>
<blockquote><p>This function writes the ranges and bins of the histogram <var>h</var> to the
stream <var>stream</var> in binary format. The return value is 0 for success
and <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></blockquote></div>
<div class="defun">
— Function: int <b>gsl_histogram_fread</b> (<var>FILE * stream, gsl_histogram * h</var>)<var><a name="index-gsl_005fhistogram_005ffread-2018"></a></var><br>
<blockquote><p>This function reads into the histogram <var>h</var> from the open stream
<var>stream</var> in binary format. The histogram <var>h</var> must be
preallocated with the correct size since the function uses the number of
bins in <var>h</var> to determine how many bytes to read. The return value is
0 for success and <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></blockquote></div>
<div class="defun">
— Function: int <b>gsl_histogram_fprintf</b> (<var>FILE * stream, const gsl_histogram * h, const char * range_format, const char * bin_format</var>)<var><a name="index-gsl_005fhistogram_005ffprintf-2019"></a></var><br>
<blockquote><p>This function writes the ranges and bins of the histogram <var>h</var>
line-by-line to the stream <var>stream</var> using the format specifiers
<var>range_format</var> and <var>bin_format</var>. These should be one of the
<code>%g</code>, <code>%e</code> or <code>%f</code> formats for floating point
numbers. The function returns 0 for success and <code>GSL_EFAILED</code> if
there was a problem writing to the file. The histogram output is
formatted in three columns, and the columns are separated by spaces,
like this,
<pre class="example"> range[0] range[1] bin[0]
range[1] range[2] bin[1]
range[2] range[3] bin[2]
....
range[n-1] range[n] bin[n-1]
</pre>
<p class="noindent">The values of the ranges are formatted using <var>range_format</var> and the
value of the bins are formatted using <var>bin_format</var>. Each line
contains the lower and upper limit of the range of the bins and the
value of the bin itself. Since the upper limit of one bin is the lower
limit of the next there is duplication of these values between lines but
this allows the histogram to be manipulated with line-oriented tools.
</p></blockquote></div>
<div class="defun">
— Function: int <b>gsl_histogram_fscanf</b> (<var>FILE * stream, gsl_histogram * h</var>)<var><a name="index-gsl_005fhistogram_005ffscanf-2020"></a></var><br>
<blockquote><p>This function reads formatted data from the stream <var>stream</var> into the
histogram <var>h</var>. The data is assumed to be in the three-column format
used by <code>gsl_histogram_fprintf</code>. The histogram <var>h</var> must be
preallocated with the correct length since the function uses the size of
<var>h</var> to determine how many numbers to read. The function returns 0
for success and <code>GSL_EFAILED</code> if there was a problem reading from
the file.
</p></blockquote></div>
<hr>The GNU Scientific Library - a free numerical library licensed under the GNU GPL<br>Back to the <a href="/software/gsl/">GNU Scientific Library Homepage</a></body></html>
|