1#![cfg_attr(docsrs, feature(doc_cfg))]
5#![doc(html_favicon_url = "https://nil.dev.br/favicon.png")]
6
7mod r#impl;
8
9use proc_macro::TokenStream;
10use syn::DeriveInput;
11
12#[proc_macro_derive(BigInt)]
13pub fn derive_big_int(input: TokenStream) -> TokenStream {
14 let ast = syn::parse::<DeriveInput>(input).unwrap();
15 r#impl::big_int::impl_big_int(&ast)
16}
17
18#[proc_macro_derive(ConstDeref)]
19pub fn derive_const_deref(input: TokenStream) -> TokenStream {
20 let ast = syn::parse::<DeriveInput>(input).unwrap();
21 r#impl::deref::impl_const_deref(&ast)
22}
23
24#[proc_macro_derive(F64Math)]
25pub fn derive_f64_math(input: TokenStream) -> TokenStream {
26 let ast = syn::parse::<DeriveInput>(input).unwrap();
27 r#impl::f64::impl_f64_math(&ast)
28}