Re: [swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-08 Thread Michael Buckley via swift-dev
Yeah, that makes sense. If your C API requires an intptr_t, you can't solve that problem by adding more functions to UnsafePointer. I'll go ahead and start a discussion over on swift-evolution. Thanks! On Tue, Dec 8, 2015 at 3:07 PM, Jordan Rose wrote: > The one I can think of is "sometimes a C

Re: [swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-08 Thread Jordan Rose via swift-dev
The one I can think of is "sometimes a C API only lets you pass data as an Int (intptr_t) or as an UnsafeMutablePointer (void *), and you have the other kind of data". That said, it does seem to be sort of a niche use case. Jordan > On Dec 8, 2015, at 7:59, Michael Buckley via swift-dev > wro

Re: [swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-08 Thread Michael Buckley via swift-dev
Checking alignment good use case, which I did not consider. Not to turn this into a swift-evolution topic, but couldn't this use case be covered by adding functions to UnsafePointer? I'm thinking something like this. func distanceToBoundary(_ boundary: Int) -> Distance { return Builtin.ptrtoin

Re: [swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-08 Thread Stephen Canon via swift-dev
When writing high-performance code, it is fairly common to check the alignment of pointers so that initial elements can be processed until some suitable alignment is reached to use a faster implementation, or to verify that a fast algorithm can be used. > On Dec 8, 2015, at 10:59 AM, Michael Bu

Re: [swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-08 Thread Michael Buckley via swift-dev
I'm looking for a good starter project, so normally I would be interested in taking this, but I'm not sure I can think of a good motivation for it. UnsafePointer's advanceBy and distanceTo functions take care of pointer arithmetic more safely than converting to int would, and the debugDescription p

[swift-dev] Starter project: Initializers for converting UnsafePointers to integers

2015-12-07 Thread Dmitri Gribenko via swift-dev
Hi everyone, The standard library has bitPattern initializers on pointers. But we are missing initializers to create integers from pointers. Someone needs to propose these APIs, walk them through swift-evolution, write a patch for the library and add tests. extension UInt { init(bitPattern: Un