00001 /* -*- mode: C++; c-file-style: "stroustrup"; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ 00002 /********************************************************************* 00003 * 00004 * Filename : mingraph_cache.h 00005 * 00006 * This file is a part of the UPPAAL toolkit. 00007 * Copyright (c) 1995 - 2003, Uppsala University and Aalborg University. 00008 * All right reserved. 00009 * 00010 * $Id: mingraph_cache.h,v 1.1 2005/07/20 21:29:34 adavid Exp $ 00011 * 00012 *********************************************************************/ 00013 00014 #ifdef ENABLE_MINGRAPH_CACHE 00015 #ifndef DBM_MINGRAPH_CACHE_H 00016 #define DBM_MINGRAPH_CACHE_H 00017 00018 #include "dbm/constraints.h" 00019 00020 #ifdef __cplusplus 00021 extern "C" { 00022 #endif 00023 00024 /** Get cached result of minimal graph analysis. 00025 * @return 0xffffffff if cache miss or number of constraints 00026 * if cache hit (and bitMatrix is updated). 00027 * @param dbm,dim: DBM of dimension dim 00028 * @param bitMatrix: where to write the minimal graph (if cache hit) 00029 * @param hashValue: hash value of the DBM to find it. 00030 */ 00031 size_t mingraph_getCachedResult(const raw_t *dbm, cindex_t dim, uint32_t *bitMatrix, uint32_t hashValue); 00032 00033 /** Put a cached result of minimal graph analysis in the cache. 00034 * @param dbm,dim: DBM of dimension dim 00035 * @param bitMatrix: result to store 00036 * @param hashValue: hash value of the DBM to find it. 00037 * @param cnt: number of constraints. 00038 */ 00039 void mingraph_putCachedResult(const raw_t *dbm, cindex_t dim, const uint32_t *bitMatrix, uint32_t hashValue, size_t cnt); 00040 00041 #ifdef __cplusplus 00042 } 00043 #endif 00044 00045 #endif /* DBM_MINGRAPH_CACHE_H */ 00046 #endif