19#include <gtest/gtest.h>
21#include "arccore/alina/IO.h"
22#include "arccore/alina/Adapters.h"
23#include "arccore/alina/Profiler.h"
24#include "SampleProblemCommon.h"
33TEST(alina_test_io, io_mm)
35 std::vector<ptrdiff_t> ptr, ptr2;
36 std::vector<ptrdiff_t> col, col2;
37 std::vector<double> val, val2;
38 std::vector<double> rhs, rhs2;
40 size_t n = sample_problem(16, val, col, ptr, rhs);
42 auto A = std::tie(n, ptr, col, val);
44 Alina::IO::mm_write(
"test_io_crs.mm", A);
45 Alina::IO::mm_write(
"test_io_vec.mm", rhs.data(), n, 1);
52 ASSERT_EQ(ptr.back(), ptr2.back());
53 for (
size_t i = 0; i < n; ++i) {
54 ASSERT_EQ(ptr[i], ptr2[i]);
55 for (ptrdiff_t j = ptr[i], e = ptr[i + 1]; j < e; ++j) {
56 ASSERT_EQ(col[j], col2[j]);
57 ASSERT_NEAR(val[j] - val2[j], 0.0, 1e-12);
64 for (
size_t i = 0; i < n; ++i) {
65 ASSERT_NEAR(rhs[i] - rhs2[i], 0.0, 1e-12);
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-