mp: Implement metaprogramming library

This commit is contained in:
MerryMage 2018-07-15 14:25:31 +01:00
parent 4ab029c114
commit 7360a2579b
15 changed files with 412 additions and 0 deletions

View file

@ -31,6 +31,7 @@ add_executable(dynarmic_tests
A64/testenv.h
fp/unpacked_tests.cpp
main.cpp
mp.cpp
rand_int.h
)

27
tests/mp.cpp Normal file
View file

@ -0,0 +1,27 @@
/* This file is part of the dynarmic project.
* Copyright (c) 2018 MerryMage
* This software may be used and distributed according to the terms of the GNU
* General Public License version 2 or any later version.
*/
#include <type_traits>
#include "common/mp/cartesian_product.h"
using namespace Dynarmic::Common::mp;
static_assert(
std::is_same_v<
cartesian_product<list<int, bool>, list<double, float>, list<char, unsigned>>,
list<
list<int, double, char>,
list<int, double, unsigned>,
list<int, float, char>,
list<int, float, unsigned>,
list<bool, double, char>,
list<bool, double, unsigned>,
list<bool, float, char>,
list<bool, float, unsigned>
>
>
);