packages feed

eo-phi-normalizer-3.0.0: data/0.49.4/org/eolang/i16.phi

{⟦
  org() ↦ ⟦
    eolang() ↦ ⟦
      i16(as-bytes) ↦ ⟦
        φ ↦ ξ.as-bytes,
        as-i16 ↦ ξ,
        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),
        as-i64 ↦ ξ.as-i32.as-i64,
        as-number ↦ ξ.as-i64.as-number,
        as-i32() ↦ ⟦
          λ ⤍ Lorg_eolang_i16_as_i32
        ⟧,
        lt(x) ↦ ⟦
          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)
        ⟧,
        lte(x) ↦ ⟦
          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)
        ⟧,
        gt(x) ↦ ⟦
          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)
        ⟧,
        gte(x) ↦ ⟦
          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)
        ⟧,
        times(x) ↦ ⟦
          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,
          left ↦ ξ.bts.slice(0, 2),
          right ↦ ξ.bts.slice(2, 2),
          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(
            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))
          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))
        ⟧,
        plus(x) ↦ ⟦
          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,
          left ↦ ξ.bts.slice(0, 2),
          right ↦ ξ.bts.slice(2, 2),
          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(
            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))
          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))
        ⟧,
        minus(x) ↦ ⟦
          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)
        ⟧,
        div(x) ↦ ⟦
          x-as-i16 ↦ ξ.x.as-i16,
          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,
          left ↦ ξ.bts.slice(0, 2),
          right ↦ ξ.bts.slice(2, 2),
          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),
          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(
            Φ̇.error(
              Φ̇.txt.sprintf(
                "Can't divide %d by i16 zero",
                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)
              )
            ),
            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(
              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))
            )
          )
        ⟧
      ⟧,
      λ ⤍ Package
    ⟧,
    λ ⤍ Package
  ⟧
⟧}