mirror of https://github.com/dnomd343/klotski.git
Dnomd343
1 month ago
9 changed files with 148 additions and 30 deletions
@ -0,0 +1,32 @@ |
|||||
|
#include "rust_ffi/include/short_code.h" |
||||
|
|
||||
|
#include <short_code/short_code.h> |
||||
|
|
||||
|
using klotski::codec::ShortCode; |
||||
|
|
||||
|
using klotski::ffi::RsShortCode; |
||||
|
using klotski::ffi::RsCommonCode; |
||||
|
|
||||
|
bool klotski::ffi::short_code_check(const uint32_t val) { |
||||
|
return ShortCode::check(val); |
||||
|
} |
||||
|
|
||||
|
uint32_t klotski::ffi::short_code_from_str(const rust::Str s) { |
||||
|
const std::string_view sv {s.data(), s.length()}; |
||||
|
if (const auto ret = ShortCode::from_string(sv); ret.has_value()) { |
||||
|
return ret.value().unwrap(); |
||||
|
} |
||||
|
return 0xFFFFFFFF; // return invalid value for now
|
||||
|
} |
||||
|
|
||||
|
rust::String RsShortCode::to_string() const noexcept { |
||||
|
return ShortCode::unsafe_create(code).to_string(); |
||||
|
} |
||||
|
|
||||
|
RsCommonCode RsShortCode::to_common_code() const noexcept { |
||||
|
return {ShortCode::unsafe_create(code).to_common_code().unwrap()}; |
||||
|
} |
||||
|
|
||||
|
void klotski::ffi::short_code_speed_up(const bool fast_mode) { |
||||
|
ShortCode::speed_up(fast_mode); |
||||
|
} |
@ -1,11 +1,3 @@ |
|||||
#pragma once |
#pragma once |
||||
|
|
||||
#include "rust_ffi/src/common_code.rs.h" |
#include "interface.h" |
||||
|
|
||||
namespace klotski::ffi { |
|
||||
|
|
||||
bool common_code_check(uint64_t val); |
|
||||
|
|
||||
uint64_t common_code_from_str(rust::Str s); |
|
||||
|
|
||||
} // namespace klotski::ffi
|
|
||||
|
@ -0,0 +1,17 @@ |
|||||
|
#pragma once |
||||
|
|
||||
|
#include "rust_ffi/src/bridge.rs.h" |
||||
|
|
||||
|
namespace klotski::ffi { |
||||
|
|
||||
|
bool short_code_check(uint32_t val); |
||||
|
|
||||
|
bool common_code_check(uint64_t val); |
||||
|
|
||||
|
uint32_t short_code_from_str(rust::Str s); |
||||
|
|
||||
|
uint64_t common_code_from_str(rust::Str s); |
||||
|
|
||||
|
void short_code_speed_up(bool fast_mode); |
||||
|
|
||||
|
} // namespace klotski::ffi
|
@ -0,0 +1,3 @@ |
|||||
|
#pragma once |
||||
|
|
||||
|
#include "interface.h" |
Loading…
Reference in new issue