The draft proposal may be easier reading:

https://github.com/stephentyrone/swift-evolution/blob/master/NNNN-floating-point-protocols.md

> On Apr 7, 2016, at 11:16 AM, Max Moiseev via swift-evolution 
> <[email protected]> wrote:
> 
> Hi Dan,
> 
> New protocols are in the making for both integers and floating point numbers.
> 
> You particular problem is addressed here: 
> https://github.com/stephentyrone/swift/commits/floating-point-revision 
> <https://github.com/stephentyrone/swift/commits/floating-point-revision>
> 
> max
> 
>> On Mar 30, 2016, at 6:36 AM, Dan Raviv via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> While FloatingPointType can be initialized from various Int type variants, 
>> it seems to be missing an initializer from Double/Float. Similarly, there 
>> are no initializers from FloatingPointType to Double/Float. Is this 
>> intentional?
>> 
>> I've tried implementing the following:
>> 
>> // https://en.wikipedia.org/wiki/Window_function#Tukey_window 
>> <https://en.wikipedia.org/wiki/Window_function#Tukey_window>
>> public func tukeyWindowFunc(index: Int, N: Int) -> Double {
>>     let L = N/8
>>     let indexAbs = min(index, N-1-index)
>>     if indexAbs >= L {
>>         return 1.0
>>     }
>>     else {
>>         let r = Double(indexAbs) / Double(L)
>>         return 0.5*(1.0 + cos(M_PI * (r - 1.0)))
>>     }
>> }
>> 
>> extension Array where Element: FloatingPointType {
>>     public func tukeyWindowArray() -> [Element] {
>>         return (0..<count).map{self[$0] * tukeyWindowFunc($0, N: count)}
>>     }
>> }
>> 
>> The extension failed to compile no matter how I spun it, since Double and 
>> FloatingPointType can't multiply each other and neither type can be cast to 
>> the other.
>> 
>> I would settle for extending just Array<Double>, but that isn't supported 
>> yet either ;)
>> 
>> Cheers,
>> Dan
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> 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

Reply via email to