Skip to content
Snippets Groups Projects

Draft: adding cpp version of codes

Open Pradipta Samanta requested to merge feature-add-cpp-codes into main
1 file
+ 24
7
Compare changes
  • Side-by-side
  • Inline
@@ -253,13 +253,15 @@ CONTAINS
DO i = 1, n
DO j = 1, n
a(i, j) = 1.0_wp
b(i, j) = 2.0_wp
c(i, j) = 1.0_wp
d(i, j) = 1.0_wp
a(i, j) = 1.0_wp*(i+j)
b(i, j) = 2.0_wp*(i+j)
c(i, j) = 1.0_wp*(i+j)
d(i, j) = 1.0_wp*(i+j)
END DO
END DO
tol = 1d-15
CALL CPU_TIME(start_time)
#ifndef __USE_CPP_BINDINGS
CALL tdma_solver_vec(a, b, c, d, 1, n, 1, n, x)
@@ -278,12 +280,27 @@ CONTAINS
DO i = 1, n
DO j = 1, n
sum = sum + x(i, j)
! write(*,"(a,f24.16)") ' x(i, 1): ', x(i, 1)
END DO
END DO
sum_ref = 27.2727272727272769_wp
tol = 1d-15
CALL TAG_TEST("TEST_tdma_solver_vec")
CALL TAG_TEST("TEST_tdma_solver_vec_full")
CALL ASSERT_ALMOST_EQUAL(sum, sum_ref, tol)
x = 0.0_wp
#ifndef __USE_CPP_BINDINGS
CALL tdma_solver_vec(a, b, c, d, 2, n-1, 2, n-1, x)
#else
CALL tdma_solver_vec(a, b, c, d, 1, n-1, 1, n-1, n, n, x, -1)
#endif
sum = 0.0_wp
DO i = 2, n-1
DO j = 2, n-1
sum = sum + x(i, j)
END DO
END DO
sum_ref = 17.7777777777777679_wp
CALL TAG_TEST("TEST_tdma_solver_vec_partial")
CALL ASSERT_ALMOST_EQUAL(sum, sum_ref, tol)
END SUBROUTINE TEST_tdma_solver_vec
Loading