2014-11-09 6 views
0

Я пытаюсь понять, почему это не математически эквивалентны друг от первой работы с векторами комплексных чисел, а второй просто работает со скалярными комплексными числами:vDSP в Swift пытается вычислить Мандельброта

1)

for i in 0 ..< iterations { 
    vDSP_zvmulD (&z, 1, &z, 1, &r, 1,len, 1) 
    vDSP_zvaddD(&r, 1, &c, 1, &z, 1, len) 
} 

2)

for i in 0 ..< iterations { 
    z = z * z + c 
} 

Любое понимание будет наиболее высокую оценку. Я действительно вытаскиваю свои волосы из-за этого.

Если я прокомментирую инструкцию add, я получаю хороший диск. По-моему, по-прежнему возможна моя ошибка в другом месте кода.

+0

Какой сложный тип и операторы вы используете во второй версии? –

+0

Я определил тип структуры в Swift с соответствующими операциями инфикса: struct Complex { var real: Double; var imag: Double } – user3724703

ответ

0

Оказалось, что ошибка была в другой части кода. Первоначальный вопрос был основан на неправильном диагнозе проблемы.