This file is indexed.

/usr/include/SyFi/symbol_factory.h is in libsyfi1.0-dev 1.0.0.dfsg-1.2.

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
// Copyright (C) 2006-2009 Kent-Andre Mardal and Simula Research Laboratory
//
// This file is part of SyFi.
//
// SyFi is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 2 of the License, or
// (at your option) any later version.
//
// SyFi is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with SyFi. If not, see <http://www.gnu.org/licenses/>.

#ifndef SYMBOL_FACTORY_IS_INCLUDED
#define SYMBOL_FACTORY_IS_INCLUDED

#include <string>

#include <ginac/ginac.h>

namespace SyFi
{

	// TODO: make a class SymbolSpace or something
	/*
	class SpaceSymbols
	{
	public:
	  SpaceSymbols(int nsd_, const std::string & base_name);

	int nsd() const;
	GiNaC::symbol x(int i) const;
	GiNaC::symbol t() const;
	};

	ex diff(e, i, ss=default_ss, ss2=default_ss2);
	ex div(e, ss=default_ss, ss2=default_ss2);
	ex grad(e, ss=default_ss, ss2=default_ss2);
	*/

	// Initialize global variables of SyFi
	void initSyFi(unsigned int nsd);

	// spacial variables, used by differential operators
	extern unsigned int nsd;
	extern GiNaC::symbol x;
	extern GiNaC::symbol y;
	extern GiNaC::symbol z;
	extern GiNaC::symbol t;
	extern GiNaC::lst    p;

	// utility symbols
	extern GiNaC::symbol infinity;
	extern GiNaC::symbol DUMMY;

	// ===== symbol factory

	// TODO: is it useful to make a singleton for this?

	bool symbol_exists(const std::string & name);

	// TODO: we don't need the const & ?
	const GiNaC::symbol & get_symbol(const std::string & name);

	const GiNaC::symbol & isymb(const std::string & a, int b);
	const GiNaC::symbol & isymb(const std::string & a, int b, int c);

	GiNaC::ex get_symbolic_vector(int m, const std::string & basename);

	GiNaC::ex get_symbolic_matrix(int m, int n, const std::string & basename);

}								 // namespace SyFi
#endif