packages feed

eo-phi-normalizer-2.0.0: data/0.41.2/org/eolang/number.phi

{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        number ↦ ⟦
          as-bytes ↦ ∅,
          φ ↦ ξ.as-bytes,
          as-number ↦ ξ,
          neg ↦ ξ.times(
            α0 ↦ ξ.ρ.number(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ BF-F0-00-00-00-00-00-00
              )
            )
          ),
          as-i32 ↦ ξ.as-i64.as-i32,
          as-i16 ↦ ξ.as-i32.as-i16,
          as-i64 ↦ ⟦
            λ ⤍ Lorg_eolang_number_as_i64
          ⟧,
          eq ↦ ⟦
            x ↦ ∅,
            x-as-bytes ↦ Φ.org.eolang.dataized(
              α0 ↦ ξ.x
            ).as-bytes,
            self-as-bytes ↦ ξ.ρ.as-bytes,
            pos-zero-as-bytes ↦ ξ.ρ.ρ.number(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            ).as-bytes,
            neg-zero-as-bytes ↦ ξ.ρ.ρ.number(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 80-00-00-00-00-00-00-00
              )
            ).as-bytes,
            φ ↦ ξ.ρ.is-nan.or(
              α0 ↦ ξ.ρ.ρ.number(
                α0 ↦ ξ.x-as-bytes
              ).is-nan
            ).if(
              α0 ↦ Φ.org.eolang.false,
              α1 ↦ ξ.x-as-bytes.eq(
                α0 ↦ ξ.pos-zero-as-bytes
              ).or(
                α0 ↦ ξ.x-as-bytes.eq(
                  α0 ↦ ξ.neg-zero-as-bytes
                )
              ).and(
                α0 ↦ ξ.self-as-bytes.eq(
                  α0 ↦ ξ.pos-zero-as-bytes
                ).or(
                  α0 ↦ ξ.self-as-bytes.eq(
                    α0 ↦ ξ.neg-zero-as-bytes
                  )
                )
              ).or(
                α0 ↦ ξ.self-as-bytes.eq(
                  α0 ↦ ξ.x-as-bytes
                )
              )
            )
          ⟧,
          lt ↦ ⟦
            x ↦ ∅,
            value ↦ Φ.org.eolang.dataized(
              α0 ↦ ξ.x
            ).as-bytes,
            φ ↦ ξ.ρ.ρ.number(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            ).gt(
              α0 ↦ ξ.ρ.minus(
                α0 ↦ ξ.ρ.ρ.number(
                  α0 ↦ ξ.value
                )
              )
            )
          ⟧,
          lte ↦ ⟦
            x ↦ ∅,
            value ↦ Φ.org.eolang.dataized(
              α0 ↦ ξ.x
            ).as-bytes,
            φ ↦ ξ.ρ.lt(
              α0 ↦ ξ.value
            ).or(
              α0 ↦ ξ.ρ.eq(
                α0 ↦ ξ.value
              )
            )
          ⟧,
          gt ↦ ⟦
            λ ⤍ Lorg_eolang_number_gt,
            x ↦ ∅
          ⟧,
          gte ↦ ⟦
            x ↦ ∅,
            value ↦ Φ.org.eolang.dataized(
              α0 ↦ ξ.x
            ).as-bytes,
            φ ↦ ξ.ρ.gt(
              α0 ↦ ξ.value
            ).or(
              α0 ↦ ξ.ρ.eq(
                α0 ↦ ξ.value
              )
            )
          ⟧,
          times ↦ ⟦
            λ ⤍ Lorg_eolang_number_times,
            x ↦ ∅
          ⟧,
          plus ↦ ⟦
            λ ⤍ Lorg_eolang_number_plus,
            x ↦ ∅
          ⟧,
          minus ↦ ⟦
            x ↦ ∅,
            value ↦ Φ.org.eolang.dataized(
              α0 ↦ ξ.x
            ).as-bytes,
            φ ↦ ξ.ρ.plus(
              α0 ↦ ξ.ρ.ρ.number(
                α0 ↦ ξ.value
              ).neg
            )
          ⟧,
          div ↦ ⟦
            λ ⤍ Lorg_eolang_number_div,
            x ↦ ∅
          ⟧,
          floor ↦ ⟦
            λ ⤍ Lorg_eolang_number_floor
          ⟧,
          is-integer ↦ ⟦
            φ ↦ ξ.ρ.is-finite.and(
              α0 ↦ ξ.ρ.eq(
                α0 ↦ ξ.ρ.floor
              )
            )
          ⟧,
          is-finite ↦ ⟦
            φ ↦ ξ.ρ.is-nan.not.and(
              α0 ↦ ξ.ρ.eq(
                α0 ↦ Φ.org.eolang.positive-infinity
              ).or(
                α0 ↦ ξ.ρ.eq(
                  α0 ↦ Φ.org.eolang.negative-infinity
                )
              ).not
            )
          ⟧,
          is-nan ↦ ⟦
            φ ↦ ξ.ρ.as-bytes.eq(
              α0 ↦ Φ.org.eolang.nan.as-bytes
            )
          ⟧
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}