eo-phi-normalizer-3.0.0: data/0.49.4/org/eolang/structs/hash-code-of.phi
{⟦
org() ↦ ⟦
eolang() ↦ ⟦
structs() ↦ ⟦
hash-code-of(input) ↦ ⟦
input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,
size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,
magic-number ↦ 31.as-i64,
φ ↦ ξ.rec-hash-code(0, 0),
rec-hash-code(acc, index) ↦ ⟦
φ ↦ ξ.index.eq(ξ.ρ.size).if(
ξ.acc.as-number,
ξ.ρ.rec-hash-code(
ξ.ρ.magic-number.times(ξ.acc).plus(
Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(
ξ.ρ.input-as-bytes.slice(ξ.index, 1)
).as-i64
),
ξ.index.plus(1)
)
)
⟧
⟧,
λ ⤍ Package
⟧,
λ ⤍ Package
⟧,
λ ⤍ Package
⟧
⟧}