diff --git a/tests/dimension_tests.cpp b/tests/dimension_tests.cpp
index e897926..d190cb8 100644
--- a/tests/dimension_tests.cpp
+++ b/tests/dimension_tests.cpp
@@ -12,14 +12,16 @@ TEST_CASE("Rational concept") {
 }
 
 TEST_CASE("Dimensional concept") {
-    CHECK(dimensional<dimension<std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
+    CHECK(dimensional<dimension<std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>,
+                                std::ratio<0>, std::ratio<0>>>);
     CHECK_FALSE(dimensional<int>);
     CHECK_FALSE(dimensional<std::ratio<1>>);
 }
 
 TEST_CASE("Dimension struct") {
-    using test_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>, std::ratio<7>>;
-    
+    using test_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>,
+                               std::ratio<7>>;
+
     CHECK(std::is_same_v<test_dim::L, std::ratio<1>>);
     CHECK(std::is_same_v<test_dim::T, std::ratio<2>>);
     CHECK(std::is_same_v<test_dim::M, std::ratio<3>>);
@@ -30,10 +32,12 @@ TEST_CASE("Dimension struct") {
 }
 
 TEST_CASE("Dimension multiplication") {
-    using dim1 = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>, std::ratio<7>>;
-    using dim2 = dimension<std::ratio<7>, std::ratio<6>, std::ratio<5>, std::ratio<4>, std::ratio<3>, std::ratio<2>, std::ratio<1>>;
+    using dim1 = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>,
+                           std::ratio<7>>;
+    using dim2 = dimension<std::ratio<7>, std::ratio<6>, std::ratio<5>, std::ratio<4>, std::ratio<3>, std::ratio<2>,
+                           std::ratio<1>>;
     using result = mult_t<dim1, dim2>;
-    
+
     CHECK(std::is_same_v<result::L, std::ratio<8>>);
     CHECK(std::is_same_v<result::T, std::ratio<8>>);
     CHECK(std::is_same_v<result::M, std::ratio<8>>);
@@ -44,10 +48,12 @@ TEST_CASE("Dimension multiplication") {
 }
 
 TEST_CASE("Dimension division") {
-    using dim1 = dimension<std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>>;
-    using dim2 = dimension<std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>>;
+    using dim1 = dimension<std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>, std::ratio<8>,
+                           std::ratio<8>>;
+    using dim2 = dimension<std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>, std::ratio<3>,
+                           std::ratio<3>>;
     using result = squint::div_t<dim1, dim2>;
-    
+
     CHECK(std::is_same_v<result::L, std::ratio<5>>);
     CHECK(std::is_same_v<result::T, std::ratio<5>>);
     CHECK(std::is_same_v<result::M, std::ratio<5>>);
@@ -58,10 +64,11 @@ TEST_CASE("Dimension division") {
 }
 
 TEST_CASE("Dimension power") {
-    using base_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>, std::ratio<7>>;
+    using base_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>,
+                               std::ratio<7>>;
     using squared = pow_t<base_dim, 2>;
     using cubed = pow_t<base_dim, 3>;
-    
+
     CHECK(std::is_same_v<squared::L, std::ratio<2>>);
     CHECK(std::is_same_v<squared::T, std::ratio<4>>);
     CHECK(std::is_same_v<squared::M, std::ratio<6>>);
@@ -69,7 +76,7 @@ TEST_CASE("Dimension power") {
     CHECK(std::is_same_v<squared::I, std::ratio<10>>);
     CHECK(std::is_same_v<squared::N, std::ratio<12>>);
     CHECK(std::is_same_v<squared::J, std::ratio<14>>);
-    
+
     CHECK(std::is_same_v<cubed::L, std::ratio<3>>);
     CHECK(std::is_same_v<cubed::T, std::ratio<6>>);
     CHECK(std::is_same_v<cubed::M, std::ratio<9>>);
@@ -80,9 +87,10 @@ TEST_CASE("Dimension power") {
 }
 
 TEST_CASE("Dimension root") {
-    using base_dim = dimension<std::ratio<2>, std::ratio<4>, std::ratio<6>, std::ratio<8>, std::ratio<10>, std::ratio<12>, std::ratio<14>>;
+    using base_dim = dimension<std::ratio<2>, std::ratio<4>, std::ratio<6>, std::ratio<8>, std::ratio<10>,
+                               std::ratio<12>, std::ratio<14>>;
     using sqrt_dim = root_t<base_dim, 2>;
-    
+
     CHECK(std::is_same_v<sqrt_dim::L, std::ratio<1>>);
     CHECK(std::is_same_v<sqrt_dim::T, std::ratio<2>>);
     CHECK(std::is_same_v<sqrt_dim::M, std::ratio<3>>);
@@ -93,9 +101,10 @@ TEST_CASE("Dimension root") {
 }
 
 TEST_CASE("Dimension inverse") {
-    using base_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>, std::ratio<7>>;
+    using base_dim = dimension<std::ratio<1>, std::ratio<2>, std::ratio<3>, std::ratio<4>, std::ratio<5>, std::ratio<6>,
+                               std::ratio<7>>;
     using inv_dim = inv_t<base_dim>;
-    
+
     CHECK(std::is_same_v<inv_dim::L, std::ratio<-1>>);
     CHECK(std::is_same_v<inv_dim::T, std::ratio<-2>>);
     CHECK(std::is_same_v<inv_dim::M, std::ratio<-3>>);
@@ -107,20 +116,28 @@ TEST_CASE("Dimension inverse") {
 
 TEST_CASE("Predefined dimensions") {
     using namespace dimensions;
-    
-    CHECK(std::is_same_v<dimensionless, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<length, dimension<std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<dimensions::time, dimension<std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<mass, dimension<std::ratio<0>, std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<temperature, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<current, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>>>);
-    CHECK(std::is_same_v<amount_of_substance, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>, std::ratio<0>>>);
-    CHECK(std::is_same_v<luminous_intensity, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>>>);
+
+    CHECK(std::is_same_v<dimensionless, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>,
+                                                  std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<length, dimension<std::ratio<1>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>,
+                                           std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<dimensions::time, dimension<std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>,
+                                                     std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<mass, dimension<std::ratio<0>, std::ratio<0>, std::ratio<1>, std::ratio<0>, std::ratio<0>,
+                                         std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<temperature, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>,
+                                                std::ratio<0>, std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<current, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<1>,
+                                            std::ratio<0>, std::ratio<0>>>);
+    CHECK(std::is_same_v<amount_of_substance, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>,
+                                                        std::ratio<0>, std::ratio<1>, std::ratio<0>>>);
+    CHECK(std::is_same_v<luminous_intensity, dimension<std::ratio<0>, std::ratio<0>, std::ratio<0>, std::ratio<0>,
+                                                       std::ratio<0>, std::ratio<0>, std::ratio<1>>>);
 }
 
 TEST_CASE("Derived dimensions") {
     using namespace dimensions;
-    
+
     CHECK(std::is_same_v<velocity, squint::div_t<length, dimensions::time>>);
     CHECK(std::is_same_v<acceleration, squint::div_t<velocity, dimensions::time>>);
     CHECK(std::is_same_v<force, mult_t<mass, acceleration>>);
@@ -139,7 +156,7 @@ TEST_CASE("Derived dimensions") {
 
 TEST_CASE("Complex derived dimensions") {
     using namespace squint::dimensions;
-    
+
     using force_length = mult_t<force, length>;
     // force = M * L * T^-2
     // length = L
@@ -157,8 +174,9 @@ TEST_CASE("Complex derived dimensions") {
     using complex_dim = mult_t<force_length_per_time_squared, temp_sqrt>;
     // complex_dim = (M * L^2 * T^-4) * K^(1/2) = M * L^2 * T^-4 * K^(1/2)
 
-    using expected = dimension<std::ratio<2>, std::ratio<-4>, std::ratio<1>, std::ratio<1, 2>, std::ratio<0>, std::ratio<0>, std::ratio<0>>;
-    
+    using expected = dimension<std::ratio<2>, std::ratio<-4>, std::ratio<1>, std::ratio<1, 2>, std::ratio<0>,
+                               std::ratio<0>, std::ratio<0>>;
+
     CHECK(std::is_same_v<complex_dim, expected>);
 
     // Let's also check each component individually
diff --git a/tests/linalg_tests.cpp b/tests/linalg_tests.cpp
index faf3066..6cda6b7 100644
--- a/tests/linalg_tests.cpp
+++ b/tests/linalg_tests.cpp
@@ -495,8 +495,8 @@ TEST_CASE("Matrix operations with quantity types") {
                                           quantity<float, mult_t<dimensions::velocity, dimensions::mass>>>,
                       "Result should be a vector of velocity * mass (momentum)");
 
-        CHECK(result[0] == doctest::Approx(5));
-        CHECK(result[1] == doctest::Approx(8));
+        CHECK(result[0].value() == doctest::Approx(5));
+        CHECK(result[1].value() == doctest::Approx(8));
     }
 
     SUBCASE("Matrix addition with force") {