Skip to content
Snippets Groups Projects
Commit ed9787fd authored by Martin Rusek's avatar Martin Rusek
Browse files

update: replaced numerical operation switch cases to enum cases

parent dfc9016a
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,13 @@ ...@@ -3,6 +3,13 @@
#include "calcul.h" #include "calcul.h"
enum distance_type {
euklid = 1,
manhattan = 2,
csiChroma = 3,
csiChord = 4
};
///Contains pointer to currently used distance function which is internally used for ///Contains pointer to currently used distance function which is internally used for
struct distancet { struct distancet {
...@@ -23,16 +30,16 @@ struct distancet { ...@@ -23,16 +30,16 @@ struct distancet {
{ {
switch (type_) switch (type_)
{ {
case 1: dist.classic = calcul::distance_dtw_euklid; case distance_type::euklid: dist.classic = calcul::distance_dtw_euklid;
type = 1; type = 1;
break; break;
case 2: dist.classic = calcul::distance_dtw_manhattan; case distance_type::manhattan: dist.classic = calcul::distance_dtw_manhattan;
type = 1; type = 1;
break; break;
case 3: dist.csiChroma = calcul::distance_dtw_csiChroma; case distance_type::csiChroma: dist.csiChroma = calcul::distance_dtw_csiChroma;
type = 2; type = 2;
break; break;
case 4: dist.csiChord = calcul::distance_dtw_csiChord; case distance_type::csiChord: dist.csiChord = calcul::distance_dtw_csiChord;
type = 3; type = 3;
break; break;
} }
......
...@@ -30,16 +30,16 @@ result_operation operation::operation_single(input_data_single const &data, para ...@@ -30,16 +30,16 @@ result_operation operation::operation_single(input_data_single const &data, para
switch (params.operation) switch (params.operation)
{ {
case 0: //op 0 case operation_type::op_method: //op 1
result = params.shift ? dtw_shift(data, params, f1) : dtw(data, params, f1); result = params.shift ? dtw_shift(data, params, f1) : dtw(data, params, f1);
break; break;
case 1: //op 1 case operation_type::op_similarity_matrix: //op 2
result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1); result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1);
break; break;
case 2: //op 2 case operation_type::op_similarity_evaluation: //op 3
result = clustering(data, params, f1); result = clustering(data, params, f1);
break; break;
case 3: //op 3 case operation_type::op_local_alignment_clustering: //op 4
result = pdtw_localClustering(data, params, f1); //(Kocyan) result = pdtw_localClustering(data, params, f1); //(Kocyan)
break; break;
default: default:
...@@ -68,14 +68,14 @@ result_operation operation::operation_dual(input_data const &data, parameter con ...@@ -68,14 +68,14 @@ result_operation operation::operation_dual(input_data const &data, parameter con
result_operation result; result_operation result;
switch (params.operation) switch (params.operation)
{ {
case 1: //op 1 case operation_type::op_similarity_matrix: //op 2
result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1); result = params.shift ? similarityMatrix_shift_omp(data, params, f1) : similarityMatrix_omp(data, params, f1);
break; break;
case 2: //op 2 case operation_type::op_similarity_evaluation: //op 3
result = clustering(data, params, f1); result = clustering(data, params, f1);
break; break;
case 3: case operation_type::op_local_alignment_clustering: //op 4
cout << ("error: Operation 3 is not defined for query data. Please use -single flag or remove query data."); cout << ("error: Operation 3 is not defined for query data. Please use -single flag or remove query data.");
exit(0); exit(0);
break; break;
......
...@@ -7,6 +7,13 @@ ...@@ -7,6 +7,13 @@
typedef result_dtw(*METHOD)(input_method const &input, input_info const &info, parameter const &params); typedef result_dtw(*METHOD)(input_method const &input, input_info const &info, parameter const &params);
typedef result_pdtw(*PDTW)(vtr3<double> const &input, input_info const &info, parameter const &params); typedef result_pdtw(*PDTW)(vtr3<double> const &input, input_info const &info, parameter const &params);
enum operation_type {
op_method = 1,
op_similarity_matrix = 2,
op_similarity_evaluation = 3,
op_local_alignment_clustering = 4
};
///Contains operation methods which wraps use of dtw, lcss and pdtw methods. ///Contains operation methods which wraps use of dtw, lcss and pdtw methods.
///@details operation 0: Calculates classic dtw or lcss method.<br> ///@details operation 0: Calculates classic dtw or lcss method.<br>
///Flags required: -in, -op 0 ///Flags required: -in, -op 0
......
...@@ -92,7 +92,7 @@ public: ...@@ -92,7 +92,7 @@ public:
precision(3), time(false), printOutput(false), debugInfo(false), precision(3), time(false), printOutput(false), debugInfo(false),
shift(false), scoreReversed(false), localAlignment(false), shift(false), scoreReversed(false), localAlignment(false),
block(0), tmp_exp(false), experiment(false), simd(false), memoization(false), lowerBound(false), block(0), tmp_exp(false), experiment(false), simd(false), memoization(false), lowerBound(false),
method("dtw"), operation(0), distance (1), scoreType(0), ram(5000), clusters(1), ve_window(0), ve_smooth(0), method("dtw"), operation(1), distance (1), scoreType(0), ram(5000), clusters(1), ve_window(0), ve_smooth(0),
w(1), fw(0), fd(1), delta(100000), epsilon(1), subsequence(0), treshold_csi(0.07), treshold_t(10), treshold_a(10), treshold_e(10), treshold_l(3), w(1), fw(0), fd(1), delta(100000), epsilon(1), subsequence(0), treshold_csi(0.07), treshold_t(10), treshold_a(10), treshold_e(10), treshold_l(3),
/*recall(10),*/ relax(0), /*recall(10),*/ relax(0),
pre_paa(1), pre_reduce(0), pre_sax(0), pre_prolong(0), pre_smooth(0), pre_interpolate(), pre_normalizeZ(), pre_normalizeBy(-1), pre_paa(1), pre_reduce(0), pre_sax(0), pre_prolong(0), pre_smooth(0), pre_interpolate(), pre_normalizeZ(), pre_normalizeBy(-1),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment