Initial FP16 support

This commit is contained in:
Ryan Curtin
2025-07-07 04:00:20 +00:00
committed by conradsnicta
parent 252d43ae35
commit f07af5a111
99 changed files with 2589 additions and 646 deletions
+22 -3
View File
@@ -18,11 +18,12 @@
#include <armadillo>
#include "catch.hpp"
#include "utils.hpp"
using namespace arma;
TEST_CASE("fn_intersect_1")
TEST_CASE("fn_intersect_1", "[intersect]")
{
ivec A = regspace<ivec>(5, 1); // 5, 4, 3, 2, 1
ivec B = regspace<ivec>(3, 7); // 3, 4, 5, 6, 7
@@ -57,7 +58,7 @@ TEST_CASE("fn_intersect_1")
}
TEST_CASE("fn_intersect_2")
TEST_CASE("fn_intersect_2", "[intersect]")
{
irowvec A = regspace<irowvec>(5, 1); // 5, 4, 3, 2, 1
irowvec B = regspace<irowvec>(3, 7); // 3, 4, 5, 6, 7
@@ -92,7 +93,7 @@ TEST_CASE("fn_intersect_2")
}
TEST_CASE("fn_intersect_3")
TEST_CASE("fn_intersect_3", "[intersect]")
{
irowvec A = regspace<irowvec>(5, 1);
irowvec B = regspace<irowvec>(3, 7);
@@ -101,3 +102,21 @@ TEST_CASE("fn_intersect_3")
REQUIRE_THROWS( C = intersect(A,B) );
}
TEMPLATE_TEST_CASE("fn_intersect_fp", "[intersect]", TEST_FLOAT_TYPES)
{
typedef TestType eT;
Mat<eT> X(10, 10, fill::randu);
Mat<eT> Y(10, 10, fill::randu);
Y -= eT(2); // so that no elements match
Y.submat(1, 1, 8, 8) = X.submat(1, 1, 8, 8);
Mat<eT> Z_ref = sort(unique(vectorise(X.submat(1, 1, 8, 8))), "ascending");
Mat<eT> Z = intersect(X, Y);
REQUIRE( all( all( Z == Z_ref ) ) );
}