Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion crates/asap-aware-mapping/src/accuracy/estimators/cms.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ mod tests {

#[test]
fn local_guarantee_inverts_frequency_sizing() {
use crate::replacement::default_size_params;
use crate::realization::default_size_params;
use asap_types::post_asap::{GroupingStrategy, SketchKind};
let c = asap_types::pre_asap::agg_intent::default_cardinality();
let params = default_size_params(SketchAlgorithm::Cms, &c, 0.01, 0.001);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ mod tests {

#[test]
fn count_sketch_uses_an_l2_guarantee() {
use crate::replacement::default_size_params;
use crate::realization::default_size_params;
use asap_types::post_asap::{GroupingStrategy, SketchKind};
use asap_types::pre_asap::agg_intent::default_cardinality;
let intent = default_cardinality();
Expand Down
2 changes: 1 addition & 1 deletion crates/asap-aware-mapping/src/accuracy/estimators/hll.rs
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ mod tests {
}
#[test]
fn generic_rse_sizing_does_not_certify_confidence() {
use crate::replacement::default_size_params;
use crate::realization::default_size_params;
use asap_types::post_asap::{GroupingStrategy, SketchKind};
use asap_types::pre_asap::agg_intent::default_cardinality;
let c = default_cardinality();
Expand Down
2 changes: 1 addition & 1 deletion crates/asap-aware-mapping/src/accuracy/estimators/kll.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ mod tests {

#[test]
fn local_guarantee_inverts_rank_sizing() {
use crate::replacement::default_size_params;
use crate::realization::default_size_params;
use asap_types::post_asap::{GroupingStrategy, SketchKind};
use asap_types::pre_asap::agg_intent::default_quantile;
let q = default_quantile(0.99);
Expand Down
2 changes: 1 addition & 1 deletion crates/asap-aware-mapping/src/accuracy/estimators/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ impl<'a> EstimatorAccuracy<'a> {
target: Option<&AccuracyTarget>,
) -> Self {
let (epsilon, delta) = target
.map(crate::replacement::accuracy_budget)
.map(crate::realization::accuracy_budget)
.unwrap_or((0.0, 0.0));
Self {
base,
Expand Down
2 changes: 1 addition & 1 deletion crates/asap-aware-mapping/src/accuracy/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ pub trait AccuracyModel {
/// The guarantee of reading `query` out of a summary of family `family`
/// built over an **exact** input — derived from the family's committed
/// parameters by inverting the same sizing formulas
/// [`crate::replacement::default_size_params`] uses. `None` when this
/// [`crate::realization::default_size_params`] uses. `None` when this
/// model has no error model for the family (the default has none for
/// `Sample`/`Wavelet`/`StatModel`).
fn local_guarantee(
Expand Down
12 changes: 6 additions & 6 deletions crates/asap-aware-mapping/src/accuracy/reconciliation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
//! 1. Both are the same bindable shape [`crate::replacement::ASAPStrategies`]
//! itself targets — a single measure, no `HAVING` (`bindable_intent`'s own
//! scope) — **and** that one measure is one of the four accuracy-bearing
//! [`AggIntent`] variants ([`crate::replacement::accuracy_target`]'s own
//! [`AggIntent`] variants ([`crate::realization::accuracy_target`]'s own
//! scope: `Count` / `Quantile` / `Cardinality` / `TopK`). Every other
//! intent has no `AccuracyTarget` to reconcile in the first place.
//! 2. Same `reduction` (grouping), same `output_names`, and the same shared
Expand All @@ -61,7 +61,7 @@
//!
//! ## Safety of tightening: why reading the tighter build is always sound
//!
//! [`crate::replacement::accuracy_budget`] resolves *every* `AccuracyTarget`
//! [`crate::realization::accuracy_budget`] resolves *every* `AccuracyTarget`
//! (`Epsilon`/`EpsilonDelta`) to the literal `(eps, delta)` pair
//! `realizations_for_intent`'s `sketch_realizations` feeds into
//! `CostModel::size_params` — the same numbers `default_size_params`'
Expand Down Expand Up @@ -158,9 +158,9 @@ use asap_types::ir::{NonASAPOp, OperatorNode};
use asap_types::pre_asap::agg_intent::AggIntent;
use asap_types::types::AccuracyTarget;

use crate::realization::{accuracy_budget, accuracy_target};
use crate::replacement::{
accuracy_budget, accuracy_target, Replacement, ReplacementProvenance, ReplacementStrategy,
ReplacementSubDAG, TargetSubDAG,
Replacement, ReplacementProvenance, ReplacementStrategy, ReplacementSubDAG, TargetSubDAG,
};

/// `bindable_accuracy_aggregate`'s return shape: `(reduction, intent,
Expand All @@ -179,7 +179,7 @@ type BindableAccuracyAggregate<'a> = (
/// [`crate::replacement::ASAPStrategies`] targets (see that
/// module's private `bindable_intent`), further narrowed to a measure whose
/// intent actually carries an [`AccuracyTarget`]
/// ([`crate::replacement::accuracy_target`]'s own scope: `Count` /
/// ([`crate::realization::accuracy_target`]'s own scope: `Count` /
/// `Quantile` / `Cardinality` / `TopK`). `None` for anything else, including
/// a multi-measure or `HAVING` aggregate, a non-`Aggregate` node, or an
/// accuracy-free intent (`Sum`, `Avg`, …).
Expand Down Expand Up @@ -534,7 +534,7 @@ mod tests {
let epsilon_only = AccuracyTarget::Epsilon(0.01);
let equivalent_epsilon_delta = AccuracyTarget::EpsilonDelta {
epsilon: 0.01,
delta: crate::replacement::DEFAULT_DELTA,
delta: crate::realization::DEFAULT_DELTA,
};
assert!(dominates(&epsilon_only, &equivalent_epsilon_delta));
assert!(dominates(&equivalent_epsilon_delta, &epsilon_only));
Expand Down
20 changes: 10 additions & 10 deletions crates/asap-aware-mapping/src/cost_model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ pub fn default_cse_shared_maintenance_cost(family: &FieldDataType) -> Cost {
/// Ranks the candidate sketch algorithms for one [`AggIntent`], best choice
/// first.
///
/// [`replacement::summary_candidates`] returns every algorithm that *can* answer an
/// [`realization::summary_candidates`] returns every algorithm that *can* answer an
/// intent, in an arbitrary static preference order (issue #98's "one home"
/// for the candidate set). A `CostModel` re-orders that list under real,
/// deployment-specific cost knowledge this crate has no way to know about —
Expand Down Expand Up @@ -416,7 +416,7 @@ pub trait CostModel {
}

/// Rank `candidates` (as returned by
/// [`summary_candidates`](crate::replacement::summary_candidates)) for
/// [`summary_candidates`](crate::realization::summary_candidates)) for
/// `intent`, best choice first.
///
/// Implementations MAY reorder freely, but MUST return exactly the input
Expand All @@ -442,7 +442,7 @@ pub trait CostModel {
/// discrete rungs required by a downstream catalog) without forking
/// `replacement::realizations_for_intent` — the same "one extension
/// point" rationale as `rank_candidates`, one level deeper. Default:
/// [`replacement::default_size_params`], `asap-plan`'s built-in formulas
/// [`realization::default_size_params`], `asap-plan`'s built-in formulas
/// (unchanged) — a deployment that only needs to reorder candidates,
/// not resize them, can leave this method unimplemented.
///
Expand All @@ -463,7 +463,7 @@ pub trait CostModel {
eps: f64,
delta: f64,
) -> SketchParams {
crate::replacement::default_size_params(kind, intent, eps, delta)
crate::realization::default_size_params(kind, intent, eps, delta)
}

/// Estimated number of distinct subpopulations produced by `target`'s
Expand Down Expand Up @@ -867,9 +867,9 @@ pub(crate) fn validated_candidate_ranking(
}

/// The default cost model: preserves [`summary_candidates`]'s built-in static
/// order and [`replacement::default_size_params`]'s built-in sizing unchanged.
/// order and [`realization::default_size_params`]'s built-in sizing unchanged.
///
/// [`summary_candidates`]: crate::replacement::summary_candidates
/// [`summary_candidates`]: crate::realization::summary_candidates
pub struct DefaultCostModel;

impl CostModel for DefaultCostModel {
Expand Down Expand Up @@ -978,7 +978,7 @@ impl CostModel for DefaultCostModel {
#[cfg(test)]
mod tests {
use super::*;
use crate::replacement::summary_candidates;
use crate::realization::summary_candidates;
use asap_types::pre_asap::agg_intent::default_cardinality;

#[test]
Expand Down Expand Up @@ -1063,7 +1063,7 @@ mod tests {
let intent = default_cardinality();
assert_eq!(
AlwaysPreferLast.size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
crate::replacement::default_size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
crate::realization::default_size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
);
}

Expand Down Expand Up @@ -1094,7 +1094,7 @@ mod tests {
let k = if eps >= 0.01 { 200 } else { 2048 };
SketchParams::Kll { k }
}
other => crate::replacement::default_size_params(other, intent, eps, delta),
other => crate::realization::default_size_params(other, intent, eps, delta),
}
}
}
Expand All @@ -1111,7 +1111,7 @@ mod tests {
// Untouched kinds still fall through to the default formula.
assert_eq!(
DiscreteKllRungs.size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
crate::replacement::default_size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
crate::realization::default_size_params(SketchAlgorithm::Hll, &intent, 0.01, 0.01),
);
}

Expand Down
Loading
Loading