Fix assertion for proper Huffman merge pattern: 0 == 1 modulo 1.
[pspp] / src / format.def
1 /* PSPP - computes sample statistics.
2    Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
3    Written by Ben Pfaff <blp@gnu.org>.
4
5    This program is free software; you can redistribute it and/or
6    modify it under the terms of the GNU General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful, but
11    WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program; if not, write to the Free Software
17    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18    02111-1307, USA. */
19
20 /* Numeric and string formats. */
21 DEFFMT (FMT_F,            "F",         2,  1,  40,  1,   40, 0001, FMT_F, 5)
22 DEFFMT (FMT_N,            "N",         2,  1,  40,  1,   40, 0011, FMT_F, 16)
23 DEFFMT (FMT_E,            "E",         2,  1,  40,  6,   40, 0001, FMT_E, 17)
24 DEFFMT (FMT_COMMA,        "COMMA",     2,  1,  40,  1,   40, 0001, FMT_COMMA, 3)
25 DEFFMT (FMT_DOT,          "DOT",       2,  1,  40,  1,   40, 0001, FMT_DOT, 32)
26 DEFFMT (FMT_DOLLAR,       "DOLLAR",    2,  1,  40,  2,   40, 0001, FMT_DOLLAR, 4)
27 DEFFMT (FMT_PCT,          "PCT",       2,  1,  40,  2,   40, 0001, FMT_PCT, 31)
28 DEFFMT (FMT_Z,            "Z",         2,  1,  40,  1,   40, 0011, FMT_F, 15)
29 DEFFMT (FMT_A,            "A",         1,  1, 255,  1,  254, 0004, FMT_A, 1)
30 DEFFMT (FMT_AHEX,         "AHEX",      1,  2, 254,  2,  510, 0006, FMT_A, 2)
31 DEFFMT (FMT_IB,           "IB",        2,  1,   8,  1,    8, 0010, FMT_F, 6)
32 DEFFMT (FMT_P,            "P",         2,  1,  16,  1,   16, 0011, FMT_F, 8)
33 DEFFMT (FMT_PIB,          "PIB",       2,  1,   8,  1,    8, 0010, FMT_F, 9)
34 DEFFMT (FMT_PIBHEX,       "PIBHEX",    2,  2,  16,  2,   16, 0002, FMT_F, 7)
35 DEFFMT (FMT_PK,           "PK",        2,  1,  16,  1,   16, 0010, FMT_F, 10)
36 DEFFMT (FMT_RB,           "RB",        1,  2,   8,  2,    8, 0002, FMT_F, 11)
37 DEFFMT (FMT_RBHEX,        "RBHEX",     1,  4,  16,  4,   16, 0002, FMT_F, 12)
38                                                                     
39 /* Custom currency. */                                              
40 DEFFMT (FMT_CCA,          "CCA",       2, -1,  -1,  1,   40, 0020, FMT_CCA, 33)
41 DEFFMT (FMT_CCB,          "CCB",       2, -1,  -1,  1,   40, 0020, FMT_CCB, 34)
42 DEFFMT (FMT_CCC,          "CCC",       2, -1,  -1,  1,   40, 0020, FMT_CCC, 35)
43 DEFFMT (FMT_CCD,          "CCD",       2, -1,  -1,  1,   40, 0020, FMT_CCD, 36)
44 DEFFMT (FMT_CCE,          "CCE",       2, -1,  -1,  1,   40, 0020, FMT_CCE, 37)
45                                                                      
46 /* Date/time formats. */                                             
47 DEFFMT (FMT_DATE,         "DATE",      1,  9,  40,  9,   40, 0001, FMT_DATE, 20)
48 DEFFMT (FMT_EDATE,        "EDATE",     1,  8,  40,  8,   40, 0001, FMT_EDATE, 23)
49 DEFFMT (FMT_SDATE,        "SDATE",     1,  8,  40,  8,   40, 0001, FMT_SDATE, 24)
50 DEFFMT (FMT_ADATE,        "ADATE",     1,  8,  40,  8,   40, 0001, FMT_ADATE, 29)
51 DEFFMT (FMT_JDATE,        "JDATE",     1,  5,  40,  5,   40, 0001, FMT_JDATE, 28)
52 DEFFMT (FMT_QYR,          "QYR",       1,  4,  40,  6,   40, 0001, FMT_QYR, 30)
53 DEFFMT (FMT_MOYR,         "MOYR",      1,  6,  40,  6,   40, 0001, FMT_MOYR, 22)
54 DEFFMT (FMT_WKYR,         "WKYR",      1,  6,  40,  8,   40, 0001, FMT_WKYR, 21)
55 DEFFMT (FMT_DATETIME,     "DATETIME",  2, 17,  40, 17,   40, 0001, FMT_DATETIME, 38)
56 DEFFMT (FMT_TIME,         "TIME",      2,  5,  40,  5,   40, 0001, FMT_TIME, 39)
57 DEFFMT (FMT_DTIME,        "DTIME",     2, 11,  40,  8,   40, 0001, FMT_DTIME, 25)
58 DEFFMT (FMT_WKDAY,        "WKDAY",     1,  2,  40,  2,   40, 0001, FMT_WKDAY, 26)
59 DEFFMT (FMT_MONTH,        "MONTH",     1,  3,  40,  3,   40, 0001, FMT_MONTH, 27)
60                                                                      
61 /* These aren't real formats.  They're used by DATA LIST. */         
62 DEFFMT (FMT_T,            "T",         1,  1,99999, 1,99999, 0000, FMT_T, -1)
63 DEFFMT (FMT_X,            "X",         1,  1,99999, 1,99999, 0000, FMT_X, -1)
64 DEFFMT (FMT_DESCEND,      "***",       1,  1,99999, 1,99999, 0000, -1, -1)
65 DEFFMT (FMT_NEWREC,       "***",       1,  1,99999, 1,99999, 0000, -1, -1)