absolut_macros/
lib.rs

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</* HOT? */ 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</* HOT? */ 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}