t108-vector.c (422c300c485cf5d716776a0e183de72bfe51a172) t108-vector.c (16e0f5123feed9e8ea59dbae709085fc2dd873d3)
1/// @file
2/// Test vector norms
3/// \test Test vector norms
4#include <ceed.h>
5#include <math.h>
6
7int main(int argc, char **argv) {
8 Ceed ceed;
9 CeedVector x;
10 CeedInt n = 10;
11 CeedScalar a[10];
12
13 CeedInit(argv[1], &ceed);
14
15 CeedVectorCreate(ceed, n, &x);
16 for (CeedInt i=0; i<n; i++)
17 a[i] = i * (i % 2 ? 1 : -1);
18 CeedVectorSetArray(x, CEED_MEM_HOST, CEED_USE_POINTER, a);
1/// @file
2/// Test vector norms
3/// \test Test vector norms
4#include <ceed.h>
5#include <math.h>
6
7int main(int argc, char **argv) {
8 Ceed ceed;
9 CeedVector x;
10 CeedInt n = 10;
11 CeedScalar a[10];
12
13 CeedInit(argv[1], &ceed);
14
15 CeedVectorCreate(ceed, n, &x);
16 for (CeedInt i=0; i<n; i++)
17 a[i] = i * (i % 2 ? 1 : -1);
18 CeedVectorSetArray(x, CEED_MEM_HOST, CEED_USE_POINTER, a);
19 {
20 // Sync memtype to device for GPU backends
21 CeedMemType type = CEED_MEM_HOST;
22 CeedGetPreferredMemType(ceed, &type);
23 CeedVectorSyncArray(x, type);
24 }
19
20 CeedScalar norm;
21 CeedVectorNorm(x, CEED_NORM_1, &norm);
22 if (fabs(norm - 45.) > 1e-14)
23 // LCOV_EXCL_START
24 printf("Error: L1 norm %f != 45.\n", norm);
25 // LCOV_EXCL_STOP
26

--- 16 unchanged lines hidden ---
25
26 CeedScalar norm;
27 CeedVectorNorm(x, CEED_NORM_1, &norm);
28 if (fabs(norm - 45.) > 1e-14)
29 // LCOV_EXCL_START
30 printf("Error: L1 norm %f != 45.\n", norm);
31 // LCOV_EXCL_STOP
32

--- 16 unchanged lines hidden ---