diff --git a/src/methods/radical/radical.cpp b/src/methods/radical/radical.cpp index 5aa2aa100189b3e55a7cc930c436921a60d92a34..7a4a2736854e4b66ff75ea227721b7101640c5cd 100644 --- a/src/methods/radical/radical.cpp +++ b/src/methods/radical/radical.cpp @@ -69,6 +69,7 @@ void doRadical(float *xMatArr, SP_integer xMatSize, SP_integer xMatRowNum, catch(const std::exception& e) { raisePrologSystemExeption(e.what()); + return; } @@ -98,5 +99,6 @@ double doRadical2D(float *xMatArr, SP_integer xMatSize, SP_integer xMatRowNum) catch(const std::exception& e) { raisePrologSystemExeption(e.what()); + return 0.0; } -} \ No newline at end of file +} diff --git a/src/methods/radical/radical_test.pl b/src/methods/radical/radical_test.pl index 1b029279e1cf24d8a43e7c5bf81424db3e2bd2ff..b915cbb79ef9988ebb7d21db1c590993d2baa72c 100644 --- a/src/methods/radical/radical_test.pl +++ b/src/methods/radical/radical_test.pl @@ -24,7 +24,7 @@ test(radical_InitModel_DoRadical_No_Init) :- print(W). test(radical_InitModel_DoRadical2D_No_Init) :- - doRadical2D([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, Result), + doRadical2D([5.1,3.5,1.4,4.9,3.0,1.4], 3, Result), print('\nResult: '), print(Result). @@ -40,9 +40,6 @@ test(radical_InitModel_Negative_Angles, fail) :- test(radical_InitModel_Negative_Sweeps, fail) :- initModel(0.175,30,150,-1,0). -test(radical_InitModel_Negative_M, fail) :- - initModel(0.175,30,150,0,-1). - %% Successful Tests @@ -91,20 +88,26 @@ test(radical_DoRadical_CSV_Input) :- :- begin_tests(predicate). %% Failure Tests + +test(radical_DoRadical2D_More_Than_Two_Data_Points, [error(_, system_error('matrix multiplication: incompatible matrix dimensions: 90x4 and 2x2'))]) :- + reset_Model, + doRadical2D([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, Result), + print('\nResult: '), + print(Result). %% Successful Tests test(radical_DoRadical2D_Normal_Use) :- reset_Model, - doRadical2D([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, Result), + doRadical2D([5.1,3.5,1.4,4.9,3.0,1.4], 3, Result), print('\nResult: '), print(Result). test(radical_DoRadical2D_CSV_Input) :- reset_Model, open('src/data_csv/iris2.csv', read, File), - take_csv_row(File, skipFirstRow,10, Data), + take_csv_row(File, skipFirstRow,2, Data), doRadical2D(Data, 4, Result), print('\nResult: '), print(Result).