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

Method offset

crates/kernel/src/level.rs:116–128  ·  view source on GitHub ↗

Peel the outermost constant offset: returns `(base, n)` where `self = Succ^n(base)` and `base` is not `Succ`.

(&self)

Source from the content-addressed store, hash-verified

114 }
115
116 /// True if this level is an explicit numeral: `Succ^n(Zero)` for some n ≥ 0.
117 pub fn is_explicit(&self) -> bool {
118 match self.data() {
119 UnivData::Zero(_) => true,
120 UnivData::Succ(inner, _) => inner.is_explicit(),
121 _ => false,
122 }
123 }
124
125 /// True if this level is `Succ^n(base)` with n > 0. Such a level is never
126 /// zero under any parameter assignment.
127 pub fn is_never_zero(&self) -> bool {
128 match self.data() {
129 UnivData::Succ(..) => true,
130 UnivData::Max(a, b, _) => a.is_never_zero() || b.is_never_zero(),
131 UnivData::IMax(_, b, _) => b.is_never_zero(),

Callers 2

maxMethod · 0.80
fmt_univFunction · 0.80

Calls 1

dataMethod · 0.45

Tested by

no test coverage detected