20void AsciiSplitDump::PatchDump::write_val(T val) {
22 std::is_same_v<T, u32> || std::is_same_v<T, i32> || std::is_same_v<T, u64>
23 || std::is_same_v<T, i64>) {
24 file << shambase::format(
"{:}\n", val);
25 }
else if constexpr (std::is_same_v<T, i64_3> || std::is_same_v<T, i32_3>) {
26 file << shambase::format(
"{:} {:} {:}\n", val.x(), val.y(), val.z());
27 }
else if constexpr (std::is_same_v<T, f64> || std::is_same_v<T, f32>) {
28 file << shambase::format(
"{:0.9f}\n", val);
29 }
else if constexpr (std::is_same_v<T, f64_3> || std::is_same_v<T, f32_3>) {
30 file << shambase::format(
"{:0.9f} {:0.9f} {:0.9f}\n", val.x(), val.y(), val.z());
31 }
else if constexpr (std::is_same_v<T, f64_8> || std::is_same_v<T, f32_8>) {
32 file << shambase::format(
33 "{:0.9f} {:0.9f} {:0.9f} {:0.9f} {:0.9f} {:0.9f} {:0.9f} {:0.9f}\n",
48void AsciiSplitDump::PatchDump::write_table(std::vector<T> buf,
u32 len) {
49 for (
u32 i = 0; i < len; i++) {
55void AsciiSplitDump::PatchDump::write_table(sycl::buffer<T> buf,
u32 len) {
56 sycl::host_accessor acc{buf, sycl::read_only};
57 for (
u32 i = 0; i < len; i++) {
83 template void AsciiSplitDump::PatchDump::write_val<_arg_>(_arg_ val); \
84 template void AsciiSplitDump::PatchDump::write_table<_arg_>( \
85 std::vector<_arg_> buf, u32 len); \
86 template void AsciiSplitDump::PatchDump::write_table<_arg_>( \
87 sycl::buffer<_arg_> buf, u32 len);
std::uint32_t u32
32 bit unsigned integer
void throw_unimplemented(SourceLocation loc=SourceLocation{})
Throw a std::runtime_error saying that the function is unimplemented.