use proc_macro2::TokenStream;
use quote::quote;
use crate::common::ExecutionMode;
use crate::codegen::CodeGen;
impl CodeGen {
pub(crate) fn diff_type(&self) -> TokenStream {
match self.config.mode() {
ExecutionMode::DatalogBatch => {
quote! { type Diff = differential_dataflow::difference::Present; }
}
_ => quote! { type Diff = i32; },
}
}
pub(crate) fn semiring_one_value(&self) -> TokenStream {
match self.config.mode() {
ExecutionMode::DatalogBatch => {
quote! { const SEMIRING_ONE: Diff = differential_dataflow::difference::Present; }
}
_ => quote! { const SEMIRING_ONE: Diff = 1; },
}
}
}