This file is indexed.

/usr/include/singular/singular/kernel/GBEngine/janet.h is in libsingular4-dev-common 1:4.1.0-p3+ds-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
#ifndef __JANET_INTERFACE__
#define __JANET_INTERFACE__

#include <kernel/structs.h>

#define GCM(sz) omAlloc((sz))
#define GCMA(sz) omAlloc((sz))
#define GCF(x) omFree((x))

#define ListNode struct LISTNODE
#define TreeM struct TREEM
#define NodeM struct NODEM

typedef struct
{
  poly root; //poly for parent, NULL for prol
  kBucket_pt root_b;
  int root_l;
  poly history; //parent
  poly lead; //leading monomial for prolongation
  char *mult; //[multi].[prol]
  int changed;
  int prolonged; //number of prolonged variable for prolongation, otherwise = -1;
} Poly;

typedef void (*poly_function)(Poly *);

ListNode
{
 Poly *info;
 ListNode *next;
};

typedef struct
{
 ListNode *root;
} jList;

NodeM
{
 NodeM *left,*right;
 Poly *ended;
};

TreeM
{
 NodeM *root;
};

typedef ListNode* LCI;
typedef ListNode** LI;

//-------FUNCS----------
Poly* FindMinList(jList *);
void DestroyTree(NodeM *);
NodeM* create();
//void ForEach(TreeM *,poly_function);
void ControlProlong(Poly *);
Poly* is_div_(TreeM *root, poly item);
void insert_(TreeM **tree, Poly *item);
Poly* NewPoly(poly p=NULL);
void DestroyPoly();

void NFL(Poly *,TreeM *);
void PNF(Poly *,TreeM *);
void ClearProl(Poly *x, int i);
void InitProl(Poly *p);
void InitHistory(Poly *p);
Poly *is_present(jList *,poly);
int GetMult(Poly *,int);
int GB_length();

void InsertInList(jList *,Poly *);
void ForEachPNF(jList *,int);
void ClearMult(Poly *,int);
void ProlVar(Poly *,int);
void SetMult(Poly *,int);
void InitLead(Poly *);
void InsertInCount(jList *,Poly *);
int GetProl(Poly *, int);
void SetProl(Poly *, int);
int ProlCompare(Poly *, Poly *);
int ValidatePoly(Poly *,TreeM *);
int ListGreatMoveDegree(jList *,jList *,poly);
int ListGreatMoveOrder(jList *,jList *,poly);
void ForEachControlProlong(jList *);
void NFListQ();
int CountList(jList *);
void DestroyList(jList *);

int ReducePoly(Poly *x,Poly *y);
int ReducePolyLead(Poly *x,Poly *y);
void Define(TreeM **G);
ListNode* CreateListNode(Poly *x);
void DestroyListNode(ListNode *x);
void DestroyFreeNodes();

int ComputeBasis(jList *,jList *);
void Initialization(char *);

#endif //JANET_INTERFACE