* Version and Date Info Record::
* Identification Records::
* Variable Count Record::
+* Precision Record::
* Case Weight Variable Record::
* Variable Records::
* Value Label Records::
@node Variable Count Record
@section Variable Count Record
-The variable count record has tag code @samp{4}. It consists of two
-integer fields. The first contains the number of variables in the file
-dictionary. The purpose of the second is unknown; it contains the value
-161 in all portable files examined so far.
+The variable count record has tag code @samp{4}. It consists of a
+single integer field giving the number of variables in the file
+dictionary.
+
+@node Precision Record
+@section Precision Record
+
+The precision record has tag code @samp{5}. It consists of a single
+integer field specifying the maximum number of base-30 digits used in
+data in the file.
@node Case Weight Variable Record
@section Case Weight Variable Record
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
if (r->var_cnt <= 0)
error (r, _("Invalid number of variables %d."), r->var_cnt);
- /* Purpose of this value is unknown. It is typically 161. */
- read_int (r);
+ if (match (r, '5'))
+ read_int (r);
if (match (r, '6'))
{
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
buf_write (w, "4", 1);
write_int (w, dict_get_var_cnt (dict));
- write_int (w, 161);
+
+ buf_write (w, "5", 1);
+ write_int (w, ceil (w->digits * (log (10) / log (30))));
for (i = 0; i < dict_get_var_cnt (dict); i++)
{