/usr/include/polybori/CDDOperations.h is in libpolybori-dev 0.5~rc1-2.1build2.
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 | // -*- c++ -*-
//*****************************************************************************
/** @file CDDOperations.h
*
* @author Alexander Dreyer
* @date 2006-08-29
*
* This file implements an internal template class for geenric CDDOperations;
*
* @par Copyright:
* (c) 2006 by The PolyBoRi Team
*
* @internal
* @version \$Id: CDDOperations.h,v 1.9 2008/07/08 21:41:58 alexanderdreyer Exp $
*
* @par History:
* @verbatim
* $Log: CDDOperations.h,v $
* Revision 1.9 2008/07/08 21:41:58 alexanderdreyer
* Merge: from developer's repository
*
* Revision 1.8 2007/12/17 16:12:02 dreyer
* CHANGE: reviewed and optimized merge frim sf.net
*
* Revision 1.7 2007/11/06 15:03:34 dreyer
* CHANGE: More generic copyright
*
* Revision 1.6 2007/05/24 14:01:30 dreyer
* CHANGE: Recursive routine for usedVariables()
*
* Revision 1.5 2007/05/22 11:05:28 dreyer
* FIX: ambigous overload
*
* Revision 1.4 2006/11/27 16:25:14 dreyer
* CHANGE: CDegreeCache, now inherited from standard cache; dlex-lead cached
*
* Revision 1.3 2006/09/14 10:57:26 dreyer
* ADD: usedVariablesExp()
*
* Revision 1.2 2006/08/29 12:09:26 dreyer
* using CDDOperations for generic dd functions
*
* Revision 1.1 2006/08/29 10:37:56 dreyer
* CHANGE: non-const version of diagram() now internalDiagram()
*
* @endverbatim
**/
//*****************************************************************************
// include basic definitions
#include "pbori_defs.h"
// Get Cudd definitions
#include "cudd.h"
#include "extrafwd.h"
#include "pbori_routines.h"
#include "CCacheManagement.h"
#ifndef CDDOperations_h_
#define CDDOperations_h_
BEGIN_NAMESPACE_PBORI
/// @class CDDOperation
/// @brief Generic class containing decision diagram operations
template <class DDType, class MonomType>
class CDDOperations {
public:
// This is only a work-around, since a monomial should not be generated from
// a dd.
MonomType getMonomial(const DDType& dd) const {
return MonomType(dd);
}
MonomType usedVariables(const DDType& dd){
// get type definitions from DDType
typedef typename DDType::idx_type idx_type;
typedef typename DDType::navigator navigator;
typedef MonomType monom_type;
CCacheManagement<CCacheTypes::used_variables> cache_mgr(dd.manager());
return cached_used_vars(cache_mgr, dd.navigation(),
MonomType(cache_mgr.one()));
}
};
END_NAMESPACE_PBORI
#endif
|