calculateResultWithExistingMatrix method
==========================================================================
RESULT WITH CRITERIA
Implementation
@override
Future<List<SawResult>> calculateResultWithExistingMatrix({
required List<SawMatrix> matrix,
}) async {
startPerformanceProfiling('Calculate result with existing matrix');
try {
if (matrix.isEmpty) {
throw Exception("Matrix cannot be empty!");
}
await _validateMaxInputValue(matrix);
final validatedMatrix = _validateAndFixMatrix(matrix);
final normalizedMatrix = await _normalizeMatrix(validatedMatrix);
final sawResult = await _calculateSawScore(normalizedMatrix);
return sawResult;
} catch (e) {
rethrow;
} finally {
endPerformanceProfiling('Calculate result with existing matrix');
}
}