I share your concern about trailingZeros and leadingZeros; those could
probably be improved as trailingZeroBits and leadingZeroBits. The terms of
art there, ctz ("count trailing zeros") and clz, are a bit cryptic but
perhaps also fine if ulp is acceptable for FloatingPoint.On Sun, Jan 29, 2017 at 22:42 Brent Royal-Gordon via swift-evolution < [email protected]> wrote: > > On Jan 29, 2017, at 7:02 PM, Dave Abrahams via swift-evolution < > [email protected]> wrote: > > > >>> var popcount: Int { get } > >> > >> I'm not super-fond of this name; I assume it's a term of art, but it's > >> a pretty obscure one. Maybe `numberOfOnes`? `onesWithin`? > > > > Yes, the rationale is that it's a term of art. I think if you were > > going to call it something else, you'd need to mention "one _bits_" in > > the name. If we can come up with a name that's obviously better, that's > > great, but lacking a clear winner we should go with the already-accepted > > term. > > Okay, but the same could be said for `trailingZeros`. Does that also need > to be something like `trailingZerosInBinaryRepresentation` or what-have-you? > > >> It might make a great deal of sense to support bitwise operations on > >> this type, > > > > I think that's a model of SetAlgebra, then, isn't it? > > Hmm, arguably. It's a shame that we won't be able to use it with things > like `OptionSet`, though. > > > Personally I don't think the strict separation of SetAlgebra and things > > that do bitwise operations makes sense, but I know some people feel > > strongly that it would be confusing for users to expose set operations > > with bitwise operator names. IMO using | for union and & for > > intersection would be beautiful. But that's a story for another day... > > > Honestly, if I were designing Swift from scratch, I might consider having > a `BitView` type and `bits` member which acts as a collection of `Bool`s > (or maybe a set of offsets of `1` bits?) and conforms to `SetAlgebra`; you > could then perform bitwise operations through the `bits`, but not directly > on the value itself. But that ship has clearly sailed. > > -- > Brent Royal-Gordon > Architechies > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
