Browse Source

Added getLastUnif() to hybrid engine for querying uniformisation rate.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@50 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 20 years ago
parent
commit
bde546ea25
  1. 8
      prism/include/PrismHybrid.h
  2. 3
      prism/include/PrismHybridGlob.h
  3. 1
      prism/src/hybrid/PH_StochBoundedUntil.cc
  4. 1
      prism/src/hybrid/PH_StochCumulReward.cc
  5. 1
      prism/src/hybrid/PH_StochTransient.cc
  6. 12
      prism/src/hybrid/PrismHybrid.cc
  7. 10
      prism/src/hybrid/PrismHybrid.java

8
prism/include/PrismHybrid.h

@ -127,6 +127,14 @@ JNIEXPORT void JNICALL Java_hybrid_PrismHybrid_PH_1SetCompact
JNIEXPORT jstring JNICALL Java_hybrid_PrismHybrid_PH_1GetErrorMessage
(JNIEnv *, jclass);
/*
* Class: hybrid_PrismHybrid
* Method: PH_GetLastUnif
* Signature: ()D
*/
JNIEXPORT jdouble JNICALL Java_hybrid_PrismHybrid_PH_1GetLastUnif
(JNIEnv *, jclass);
/*
* Class: hybrid_PrismHybrid
* Method: PH_ProbBoundedUntil

3
prism/include/PrismHybridGlob.h

@ -69,6 +69,9 @@ extern int num_sor_levels;
// use "compact modified" sparse matrix storage?
extern bool compact;
// details from numerical computation which may be queried
extern double last_unif;
//------------------------------------------------------------------------------
// macros, function prototypes

1
prism/src/hybrid/PH_StochBoundedUntil.cc

@ -162,6 +162,7 @@ jint mu // probs for multiplying
// constant for uniformization
unif = 1.02*max_diag;
last_unif = unif;
// modify diagonals
if (!compact_d) {

1
prism/src/hybrid/PH_StochCumulReward.cc

@ -151,6 +151,7 @@ jdouble time // time bound
// constant for uniformization
unif = 1.02*max_diag;
last_unif = unif;
// modify diagonals
if (!compact_d) {

1
prism/src/hybrid/PH_StochTransient.cc

@ -148,6 +148,7 @@ jdouble time // time bound
// constant for uniformization
unif = 1.02*max_diag;
last_unif = unif;
// modify diagonals
if (!compact_d) {

12
prism/src/hybrid/PrismHybrid.cc

@ -72,6 +72,9 @@ bool compact;
// error message
char error_message[MAX_ERR_STRING_LEN];
// details from numerical computation which may be queried
double last_unif;
//------------------------------------------------------------------------------
// cudd manager
//------------------------------------------------------------------------------
@ -254,6 +257,15 @@ JNIEXPORT jstring JNICALL Java_hybrid_PrismHybrid_PH_1GetErrorMessage(JNIEnv *en
return env->NewStringUTF(error_message);
}
//------------------------------------------------------------------------------
// numerical computation detail queries
//------------------------------------------------------------------------------
JNIEXPORT jdouble JNICALL Java_hybrid_PrismHybrid_PH_1GetLastUnif(JNIEnv *env, jclass cls)
{
return last_unif;
}
//------------------------------------------------------------------------------
// tidy up
//------------------------------------------------------------------------------

10
prism/src/hybrid/PrismHybrid.java

@ -195,6 +195,16 @@ public class PrismHybrid
return PH_GetErrorMessage();
}
//------------------------------------------------------------------------------
// numerical computation detail queries
//------------------------------------------------------------------------------
private static native double PH_GetLastUnif();
public static double getLastUnif()
{
return PH_GetLastUnif();
}
//------------------------------------------------------------------------------
// JNI wrappers for blocks of hybrid code
//------------------------------------------------------------------------------

Loading…
Cancel
Save