mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
lkmc_vector_equal into lkmc.c
Document lkmc.c
This commit is contained in:
20
lkmc.c
20
lkmc.c
@@ -1,3 +1,6 @@
|
||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#lkmc-c */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -9,8 +12,21 @@ void lkmc_assert(bool condition) {
|
||||
}
|
||||
|
||||
void lkmc_assert_fail() {
|
||||
puts("lkmc_test_fail");
|
||||
exit(1);
|
||||
puts("lkmc_test_fail");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
bool lkmc_vector_equal(size_t n, double *v1, double *v2, double max_err) {
|
||||
double sum = 0.0;
|
||||
double diff;
|
||||
size_t i;
|
||||
for (i = 0; i < n; ++i) {
|
||||
diff = v1[i] - v2[i];
|
||||
sum += diff * diff;
|
||||
}
|
||||
if (sqrt(sum)/n > max_err)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined(__aarch64__)
|
||||
|
||||
Reference in New Issue
Block a user