My Project
ncSACache.cc
Go to the documentation of this file.
1/****************************************
2* Computer Algebra System SINGULAR *
3****************************************/
4/***************************************************************
5 * File: ncSACache.cc
6 * Purpose: implementation of special Cache+Hash for Multiplier
7 * Author: motsak
8 * Created:
9 *******************************************************************/
10
11#define MYTEST 0
12
13#if MYTEST
14#define OM_CHECK 4
15#define OM_TRACK 5
16// these settings must be before "mod2.h" in order to work!!!
17#endif
18
19
20
21
22
23#include "misc/auxiliary.h"
24
25#ifndef SING_NDEBUG
26#define OUTPUT MYTEST
27#else
28#define OUTPUT 0
29#endif
30
31#if OUTPUT
32namespace
33{
34 static const char* m_Typenames[2] = {"lookup", "store"};
35}
36#endif
37
38#include "coeffs/numbers.h"
39
40#include "nc/ncSACache.h" // for CCacheHash etc classes
41
42#include "monomials/ring.h"
43#include "monomials/p_polys.h"
44
45
46void CGlobalCacheHash::History(const EHistoryType t, const CGlobalCacheHash::CExponent a, const CGlobalCacheHash::CExponent b, const poly p)
47{
48#if OUTPUT
49 Print("History: GlobalPair, Action: %s", m_Typenames[(int)(t)]);
50 PrintLn();
51 PrintS("Left : "); p_Write(a, GetBasering());
52 PrintS("Right: "); p_Write(b, GetBasering());
53 if( t == MULT_STORE )
54 {
55 PrintS("Result: "); p_Write(p, GetBasering());
56 }
57#endif
58}
59
60
62{
63#if OUTPUT
64 Print("History: SpecialPair, Action: %s", m_Typenames[(int)(t)]);
65 PrintLn();
66 Print("Left : %d, Right: %d", a, b);
67 PrintLn();
68 if( t == MULT_STORE )
69 {
70 PrintS("Result: "); p_Write(p, GetBasering());
71 }
72#endif
73}
74
75
76template class CCacheHash<int>;
77template class CCacheHash<spolyrec*>;
All the auxiliary stuff.
int p
Definition: cfModGcd.cc:4078
CanonicalForm b
Definition: cfModGcd.cc:4103
ring GetBasering() const
Definition: ncSACache.h:25
virtual void History(const EHistoryType t, const CExponent a, const CExponent b, const poly p=NULL)
Definition: ncSACache.cc:46
virtual void History(const EHistoryType t, const CExponent a, const CExponent b, const poly p=NULL)
Definition: ncSACache.cc:61
#define Print
Definition: emacs.cc:80
void p_Write(poly p, ring lmRing, ring tailRing)
Definition: polys0.cc:342
void PrintS(const char *s)
Definition: reporter.cc:284
void PrintLn()
Definition: reporter.cc:310