MCPcopy Create free account
hub / github.com/argumentcomputer/ix / normalize_imax_max

Function normalize_imax_max

crates/kernel/src/level.rs:440–450  ·  view source on GitHub ↗

Handle `imax(u, max(v, w))` = `max(imax(u, v), imax(u, w))`.

(
  u: &KUniv<M>,
  v: &KUniv<M>,
  w: &KUniv<M>,
  path: &[u64],
  k: u64,
  acc: &mut NormLevel,
)

Source from the content-addressed store, hash-verified

438 }
439 normalize_aux(u, path, k, acc);
440 }
441 }
442 },
443 UnivData::Param(idx, _, _) => {
444 let idx = *idx;
445 if let Some(new_path) = ordered_insert(idx, path) {
446 norm_add_const(acc, k, path);
447 norm_add_node(acc, idx, k, &new_path);
448 } else if k != 0 {
449 norm_add_var(acc, idx, k, path);
450 }
451 },
452 // All UnivData variants are covered above. If this is reached,
453 // it indicates a bug (e.g., a new variant was added without updating this match).

Callers 2

normalize_auxFunction · 0.85
normalize_imax_dispatchFunction · 0.85

Calls 1

normalize_imax_dispatchFunction · 0.85

Tested by

no test coverage detected