Code Documentation 3.3
Social Network Visualizer
Loading...
Searching...
No Matches
cli_common.h
Go to the documentation of this file.
1#pragma once
2
3#include <QJsonObject>
4#include <QJsonArray>
5#include <QTextStream>
6#include <QString>
7
8namespace cli
9{
10
11 struct CliConfig
12 {
13 bool verbose = false;
14
15 QString inputPath;
16 int fileFormat = 0;
17 QString delimiter;
18 int twoMode = 0;
19 bool hasLabels = false;
20
22 bool considerWeights = false;
23 bool inverseWeights = true;
24 bool dropIsolates = false;
25
26 QString dumpJsonPath;
28
29 int benchRuns = 0; // 0 = off
30 QString kernel; // "distance", etc.
31 };
32
33 // ---------------- printing ----------------
34
35 void printKV(const QString &k, double v);
36 void printKV(const QString &k, const QString &v);
37 void printKV(const QString &k, int v);
38 void printKV(const QString &k, qint64 v);
39
40 // ---------------- deterministic formatting ----------------
41
42 QString d2s(double v);
43
44 // ---------------- JSON I/O ----------------
45
46 bool writeJsonFile(const QString &path, const QJsonObject &obj, QString *err);
47 bool readJsonFile(const QString &path, QJsonObject *outObj, QString *err);
48
49 // ---------------- compare helpers ----------------
50
51 bool cmpStr(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err);
52 bool cmpInt(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err);
53 bool cmpBool(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err);
54
55 bool almostEqual(double a, double b, double rel = 1e-15, double abs = 0.0);
56
57 bool cmpNumStrTol(const QJsonObject &e, const QJsonObject &a,
58 const QString &k, QTextStream &err,
59 double rel = 1e-15, double abs = 0.0);
60
61 bool cmpIntArray(const QJsonArray &e, const QJsonArray &a,
62 QTextStream &err, const QString &what);
63
64 bool cmpStrArray(const QJsonArray &e, const QJsonArray &a,
65 QTextStream &err, const QString &what);
66
67} // namespace cli
Definition cli_common.cpp:18
void printKV(const QString &k, double v)
Definition cli_common.cpp:22
bool cmpStr(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err)
Definition cli_common.cpp:92
bool cmpInt(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err)
Definition cli_common.cpp:104
bool almostEqual(double a, double b, double rel, double abs)
Definition cli_common.cpp:129
bool writeJsonFile(const QString &path, const QJsonObject &obj, QString *err)
Definition cli_common.cpp:52
bool readJsonFile(const QString &path, QJsonObject *outObj, QString *err)
Definition cli_common.cpp:66
bool cmpNumStrTol(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err, double rel, double abs)
Definition cli_common.cpp:147
bool cmpStrArray(const QJsonArray &e, const QJsonArray &a, QTextStream &err, const QString &what)
Definition cli_common.cpp:194
QString d2s(double v)
Definition cli_common.cpp:44
bool cmpBool(const QJsonObject &e, const QJsonObject &a, const QString &k, QTextStream &err)
Definition cli_common.cpp:116
bool cmpIntArray(const QJsonArray &e, const QJsonArray &a, QTextStream &err, const QString &what)
Definition cli_common.cpp:174
Definition cli_common.h:12
int fileFormat
Definition cli_common.h:16
QString dumpJsonPath
Definition cli_common.h:26
bool hasLabels
Definition cli_common.h:19
QString kernel
Definition cli_common.h:30
int benchRuns
Definition cli_common.h:29
bool verbose
Definition cli_common.h:13
bool inverseWeights
Definition cli_common.h:23
int twoMode
Definition cli_common.h:18
QString compareJsonPath
Definition cli_common.h:27
QString inputPath
Definition cli_common.h:15
bool considerWeights
Definition cli_common.h:22
bool dropIsolates
Definition cli_common.h:24
bool computeCentralities
Definition cli_common.h:21
QString delimiter
Definition cli_common.h:17