/usr/include/singular/singular/kernel/spectrum/semic.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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | // ----------------------------------------------------------------------------
// semic.h
// begin of file
// Stephan Endrass, endrass@mathematik.uni-mainz.de
// 23.7.99
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// here we define a class spectrum to test semicontinuity
// ----------------------------------------------------------------------------
#ifndef SEMIC_H
#define SEMIC_H
#ifdef HAVE_SPECTRUM
#include <kernel/spectrum/GMPrat.h>
typedef enum
{
OPEN,
LEFTOPEN,
RIGHTOPEN,
CLOSED
} interval_status;
/*typedef enum
{
semicOK,
semicMulNegative,
semicListTooShort,
semicListTooLong,
semicListFirstElementWrongType,
semicListSecondElementWrongType,
semicListThirdElementWrongType,
semicListFourthElementWrongType,
semicListFifthElementWrongType,
semicListSixthElementWrongType,
semicListNNegative,
semicListWrongNumberOfNumerators,
semicListWrongNumberOfDenominators,
semicListWrongNumberOfMultiplicities,
semicListMuNegative,
semicListPgNegative,
semicListNumNegative,
semicListDenNegative,
semicListMulNegative,
semicListNotSymmetric,
semicListNotMonotonous,
semicListMilnorWrong,
semicListPGWrong
} semicState; */ //TODO move to Singular
class spectrum
{
public:
int mu; // milnor number
int pg; // geometrical genus
int n; // # of spectrum numbers
Rational *s; // spectrum numbers
int *w; // multiplicities
// spectrum( );
// spectrum( lists );
/// Zero constructor
spectrum( )
{
copy_zero( );
}
spectrum( const spectrum& );
~spectrum( );
spectrum operator = ( const spectrum& );
// spectrum operator = ( lists );
friend spectrum operator + ( const spectrum&,const spectrum& );
friend spectrum operator * ( int,const spectrum& );
#ifdef SEMIC_PRINT
friend ostream & operator << ( ostream&,const spectrum& );
#endif /*SEMIC_PRINT*/
void copy_new ( int );
// void copy_delete ( void );
/// Delete the memory of a spectrum
inline void copy_delete( void )
{
if( s != (Rational*)NULL && n > 0 ) delete [] s;
if( w != (int*)NULL && n > 0 ) delete [] w;
copy_zero( );
}
/// Initialize with zero
inline void copy_zero( void )
{
mu = 0;
pg = 0;
n = 0;
s = (Rational*)NULL;
w = (int*)NULL;
}
/// Initialize shallow from another spectrum
inline void copy_shallow( spectrum &spec )
{
mu = spec.mu;
pg = spec.pg;
n = spec.n;
s = spec.s;
w = spec.w;
}
void copy_deep ( const spectrum& );
// void copy_deep ( lists );
// lists thelist ( void );
int add_subspectrum ( spectrum&,int );
int next_number ( Rational* );
int next_interval ( Rational*,Rational* );
int numbers_in_interval( Rational&,Rational&,interval_status );
int mult_spectrum ( spectrum& );
int mult_spectrumh ( spectrum& );
// int set_milnor ( void );
// int set_geometric_genus( void );
};
#endif /*HAVE_SPECTRUM*/
// ----------------------------------------------------------------------------
// semic.h
// end of file
// ----------------------------------------------------------------------------
#endif
|