Error formatting macro: pagetree: java.lang.NullPointerException
Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Problem

Bit operations don't have the same semantics that the rest of Clojure's numeric functions do. Primitive semantics should be the default, there should be no conditionals, and bit ops should map directly to primitive ops.

Steps

  1. Bit ops have primitive semantics by default (CLJ-772 bit ops to have primitive semantics by default, no conditionals, direct mapping to JVM primitive ops)
    • No conditionals in default ops, like in Numbers.java line 456 in shiftRight
  2. Bit ops with boxed semantics are in another ns (CLJ-767 Remove support for non-primitive bit-shift operations)
  3. n-ary bit ops are inlined (CLJ-184 n-ary bit functions, also inlining of n-ary bit and math operations)

Questions

Related Tickets

Labels: