aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@105869f7-3296-0410-a4ea-f4349344b45a>2012-02-05 19:50:57 +0000
committereschnett <eschnett@105869f7-3296-0410-a4ea-f4349344b45a>2012-02-05 19:50:57 +0000
commit8c458c0b11937927bcb8abe2fc226e7551be5d28 (patch)
tree36d2af1a9f7336e674bdc3b6d99ee60a7d7b3dde
parentbeddbd6b87f50dca87b9462bf3c02320470db257 (diff)
Correct test case for partial vector stores
git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/Vectors/trunk@49 105869f7-3296-0410-a4ea-f4349344b45a
-rw-r--r--src/test.cc25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/test.cc b/src/test.cc
index a64456f..1dd3fd0 100644
--- a/src/test.cc
+++ b/src/test.cc
@@ -131,15 +131,24 @@ void Vectors_Test(CCTK_ARGUMENTS)
VECTEST("vec_store", sv, b[i]);
sv = av; vec_store_nta(*s, bv);
VECTEST("vec_store_nta", sv, b[i]);
- for (int dlo=-1; dlo<=CCTK_REAL_VEC_SIZE; ++dlo) {
- for (int dhi=dlo; dhi<=CCTK_REAL_VEC_SIZE; ++dhi) {
- if (dlo>0 and dhi>dlo and dhi<CCTK_REAL_VEC_SIZE) {
- sv = av;
- vec_store_partial_prepare(0, dlo, dhi);
- vec_store_nta_partial(*s, bv);
+ int const arenaitems = 3;
+ int const arenasize = arenaitems * CCTK_REAL_VEC_SIZE;
+ for (int ilo=0; ilo<arenasize; ++ilo) {
+ for (int ihi=0; ihi<arenasize; ++ihi) {
+ // Initialise arena to a everywhere
+ for (int n=0; n<arenaitems; ++n) {
+ lv[n] = av;
+ }
+ // Set arena to b in the "interior"
+ for (int i=(ilo & -CCTK_REAL_VEC_SIZE); i<ihi; i+=CCTK_REAL_VEC_SIZE) {
+ vec_store_partial_prepare(i, ilo, ihi);
+ vec_store_nta_partial(l[i], bv);
+ }
+ for (int i=0; i<arenasize; ++i) {
snprintf (testname, sizeof testname,
- "vec_store_nta_partial[%d,%d]", dlo, dhi);
- VECTEST(testname, sv, i>=dlo && i<dhi ? b[i] : a[i]);
+ "vec_store_nta_partial[%d,%d;%d]", ilo, ihi, i);
+ SCALARTEST(testname, l[i],
+ (i>=ilo and i<ihi ? b : a)[i & (CCTK_REAL_VEC_SIZE-1)]);
}
}
}