From ed9787fd9f589b8ba9c799ccca53d3dba2ba99a3 Mon Sep 17 00:00:00 2001 From: Martin Rusek <martin.rusek@vsb.cz> Date: Tue, 5 Dec 2017 15:45:58 +0100 Subject: [PATCH] update: replaced numerical operation switch cases to enum cases --- SequenceComparison/distancet.h | 15 +++++++++++---- SequenceComparison/operation.cpp | 16 ++++++++-------- SequenceComparison/operation.h | 7 +++++++ SequenceComparison/parameter.h | 2 +- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/SequenceComparison/distancet.h b/SequenceComparison/distancet.h index 8331c30..e1d023e 100644 --- a/SequenceComparison/distancet.h +++ b/SequenceComparison/distancet.h @@ -3,6 +3,13 @@ #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 struct distancet { @@ -23,16 +30,16 @@ struct distancet { { switch (type_) { - case 1: dist.classic = calcul::distance_dtw_euklid; + case distance_type::euklid: dist.classic = calcul::distance_dtw_euklid; type = 1; break; - case 2: dist.classic = calcul::distance_dtw_manhattan; + case distance_type::manhattan: dist.classic = calcul::distance_dtw_manhattan; type = 1; break; - case 3: dist.csiChroma = calcul::distance_dtw_csiChroma; + case distance_type::csiChroma: dist.csiChroma = calcul::distance_dtw_csiChroma; type = 2; break; - case 4: dist.csiChord = calcul::distance_dtw_csiChord; + case distance_type::csiChord: dist.csiChord = calcul::distance_dtw_csiChord; type = 3; break; } diff --git a/SequenceComparison/operation.cpp b/SequenceComparison/operation.cpp index 7e87cbf..3e6c8af 100644 --- a/SequenceComparison/operation.cpp +++ b/SequenceComparison/operation.cpp @@ -30,16 +30,16 @@ result_operation operation::operation_single(input_data_single const &data, para 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); 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); break; - case 2: //op 2 + case operation_type::op_similarity_evaluation: //op 3 result = clustering(data, params, f1); break; - case 3: //op 3 + case operation_type::op_local_alignment_clustering: //op 4 result = pdtw_localClustering(data, params, f1); //(Kocyan) break; default: @@ -68,14 +68,14 @@ result_operation operation::operation_dual(input_data const &data, parameter con result_operation result; 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); break; - case 2: //op 2 + case operation_type::op_similarity_evaluation: //op 3 result = clustering(data, params, f1); 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."); exit(0); break; diff --git a/SequenceComparison/operation.h b/SequenceComparison/operation.h index d98e4ce..9f7ae97 100644 --- a/SequenceComparison/operation.h +++ b/SequenceComparison/operation.h @@ -7,6 +7,13 @@ typedef result_dtw(*METHOD)(input_method const &input, input_info const &info, parameter const ¶ms); typedef result_pdtw(*PDTW)(vtr3<double> const &input, input_info const &info, parameter const ¶ms); +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. ///@details operation 0: Calculates classic dtw or lcss method.<br> ///Flags required: -in, -op 0 diff --git a/SequenceComparison/parameter.h b/SequenceComparison/parameter.h index 22ce333..4aa4a63 100644 --- a/SequenceComparison/parameter.h +++ b/SequenceComparison/parameter.h @@ -92,7 +92,7 @@ public: precision(3), time(false), printOutput(false), debugInfo(false), shift(false), scoreReversed(false), localAlignment(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), /*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), -- GitLab