1mod algorithms;
2mod driver;
3
4extern crate proc_macro;
5
6use proc_macro::TokenStream;
7
8#[proc_macro_attribute]
9pub fn one_hot(args: TokenStream, tokens: TokenStream) -> TokenStream {
10 driver::driver::<crate::algorithms::one_of_8::OneOf8Algorithm<true>>(args, tokens)
11}
12
13#[proc_macro_attribute]
14pub fn one_cold(args: TokenStream, tokens: TokenStream) -> TokenStream {
15 driver::driver::<crate::algorithms::one_of_8::OneOf8Algorithm<false>>(args, tokens)
16}
17
18#[proc_macro_attribute]
19pub fn composite(args: TokenStream, tokens: TokenStream) -> TokenStream {
20 driver::driver::<crate::algorithms::composite::CompositeAlgorithm>(args, tokens)
21}
22
23#[cfg(feature = "sat")]
24#[proc_macro_attribute]
25pub fn general(args: TokenStream, tokens: TokenStream) -> TokenStream {
26 driver::driver::<crate::algorithms::general::General>(args, tokens)
27}