File: che_fcode_featurearrays.h

package info (click to toggle)
eprover 2.6%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 21,288 kB
  • sloc: ansic: 331,111; csh: 12,026; python: 10,178; awk: 5,825; makefile: 461; sh: 389
file content (80 lines) | stat: -rw-r--r-- 2,520 bytes parent folder | download | duplicates (2)
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
/*-----------------------------------------------------------------------

  File  : che_fcode_featurearrays.h

  Author: Stephan Schulz

  Contents

  Sortable arrays associating a function symbol with a number of
  integer feature values (that define the order). Used by precedence
  generating functions, now also for weights.

  Copyright 1998-2020 by the author.
  This code is released under the GNU General Public Licence and
  the GNU Lesser General Public License.
  See the file COPYING in the main E directory for details..
  Run "eprover -h" for contact information.

  Created: Thu Feb 20 21:39:34 CET 2003

-----------------------------------------------------------------------*/

#ifndef CHE_F_CODE_FEATUREARRAYS

#define CHE_F_CODE_FEATUREARRAYS

#include <clb_simple_stuff.h>
#include <che_clausesetfeatures.h>
#include <che_to_params.h>
#include <stdlib.h>

/*---------------------------------------------------------------------*/
/*                    Data type declarations                           */
/*---------------------------------------------------------------------*/

typedef struct fcode_feature_sort_cell
{
   int     key0;
   int     key1;
   int     key2;
   int     key3;
   int     freq;
   int     conjfreq;
   int     axiomfreq;
   int     pos_rank;
   FunCode symbol;
}FCodeFeatureSortCell, *FCodeFeatureSort_p;


typedef struct fcode_feature_array_cell
{
   long size;
   FCodeFeatureSort_p array;
}FCodeFeatureArrayCell, *FCodeFeatureArray_p;



/*---------------------------------------------------------------------*/
/*                Exported Functions and Variables                     */
/*---------------------------------------------------------------------*/


#define FCodeFeatureArrayCellAlloc() \
        (FCodeFeatureArrayCell*)SizeMalloc(sizeof(FCodeFeatureArrayCell))
#define FCodeFeatureArrayCellFree(junk) \
        SizeFree(junk, sizeof(FCodeFeatureArrayCell))

FCodeFeatureArray_p FCodeFeatureArrayAlloc(Sig_p sig, ClauseSet_p axioms);

void FCodeFeatureArrayUpdateOccKey(FCodeFeatureArray_p array, OrderParms_p oparms);
void FCodeFeatureArrayUpdateSymbKey(FCodeFeatureArray_p array, Sig_p sig, OrderParms_p oparms);
void FCodeFeatureArrayFree(FCodeFeatureArray_p junk);
void FCodeFeatureArraySort(FCodeFeatureArray_p array);


#endif

/*---------------------------------------------------------------------*/
/*                        End of File                                  */
/*---------------------------------------------------------------------*/