aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2025-01-04 01:59:26 -0600
committerPjotr Prins2025-01-04 01:59:26 -0600
commit2701a364228d91ba2c52f511ad6619d070e2235b (patch)
treebb2f24888472dc37c243bd439964661d7ae9a91d
parentc6a475370d4c1190685195265cb64ccc7bd17745 (diff)
downloadpangemma-2701a364228d91ba2c52f511ad6619d070e2235b.tar.gz
Show checkpoints passed with -debug switch
-rw-r--r--VERSION2
-rw-r--r--doc/code/pangemma.md14
-rw-r--r--src/checkpoint.cpp3
-rw-r--r--src/checkpoint.h6
4 files changed, 21 insertions, 4 deletions
diff --git a/VERSION b/VERSION
index 57c861a..8acdd82 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.98.5
+0.0.1
diff --git a/doc/code/pangemma.md b/doc/code/pangemma.md
index d65245e..223e2ae 100644
--- a/doc/code/pangemma.md
+++ b/doc/code/pangemma.md
@@ -204,6 +204,20 @@ multiple outputs - in that case we may add filenames. And exits with:
**** Checkpoint reached: read-geno-file (normal exit)
```
+# List check points
+
+When you compile PanGEMMA with debug information
+
+```
+make debug
+```
+
+and run a computation with the '-debug' switch it should output the check-points it passes. You should see something like
+
+```
+**** DEBUG: checkpoint read-geno-file passed with ./example/mouse_hs1940.geno.txt.gz in src/gemma_io.cpp at line 874 in ReadFile_geno
+```
+
# Other
## Example
diff --git a/src/checkpoint.cpp b/src/checkpoint.cpp
index 6fcc1a2..a37c1be 100644
--- a/src/checkpoint.cpp
+++ b/src/checkpoint.cpp
@@ -26,7 +26,8 @@
using namespace std;
-void checkpoint(string msg, string filename) {
+void checkpoint_run(string msg, string filename, string srcfilename, int line, string funcname) {
+ is_debug_mode() && std::cerr << "**** DEBUG: checkpoint " << msg << " passed with " << filename << " in " << srcfilename << " at line " << line << " in " << funcname << endl;
if (msg == checkpoint_name) {
cerr << "**** Checkpoint reached: " << msg << " (normal exit)" << endl;
exit(0);
diff --git a/src/checkpoint.h b/src/checkpoint.h
index 7a70855..2792fac 100644
--- a/src/checkpoint.h
+++ b/src/checkpoint.h
@@ -20,12 +20,14 @@
#ifndef __CHECKPOINT_H__
#define __CHECKPOINT_H__
-#include <string>
+#include <debug.h>
using namespace std;
extern string checkpoint_name;
-void checkpoint(string msg, string filename);
+void checkpoint_run(string msg, string filename, string srcfilename, int line, string funcname);
+#define checkpoint(msg, fname) \
+ checkpoint_run(msg, fname, __FILE__, __LINE__, __SHOW_FUNC)
#endif