> On Nov 20, 2016, at 19:52 , Jon Shier <j...@jonshier.com> wrote: > > Except in that case true isn’t a Bool but an NSNumber, which is why you can > initialize an Int from it. It seems trivially easy to add an Int extension to > do what you want though.
Is there a way that avoids branching? So, according to Xcode, "true" and "a > b" both have type "Bool". I don't know why the compiler allows one and not the other, except that it's literal, and I guess there's a "BoolLiteralConvertible" (or equivalent) for the types. For now I'm doing what I need with branching, but it would be nice to find a more efficient way. > > > Jon > >> On Nov 20, 2016, at 10:48 PM, Rick Mann via swift-users >> <swift-users@swift.org> wrote: >> >> It seems I can't do this: >> >> let r = Int(a > b) >> >> but I can do it with a literal: >> >> let r = Int(true) >> >> I'd like to do this to implement signum without branching, but perhaps >> that's not possible. >> >> -- >> Rick Mann >> rm...@latencyzero.com >> >> >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org >> https://lists.swift.org/mailman/listinfo/swift-users > -- Rick Mann rm...@latencyzero.com _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users