У меня есть код, по которому я хочу вызвать vDSP.
Это файл C ++, в проекте Xcode. Основной проект находится в Цели C.
Всякий раз, когда я делаю
#include <Accelerate/Accelerate.h>
Это дает мне много ошибок.
#if defined(__cplusplus)
#pragma once
#include <Accelerate/Accelerate.h> // <-- error
#include "oscillator.h"
namespace synth {
class CQBLimitedOscillator : public COscillator
{
float dOuts[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
public:
CQBLimitedOscillator(void);
~CQBLimitedOscillator(void);
// --- init globals
inline virtual void initGlobalParameters(globalOscillatorParams* pGlobalOscParams)
{
// --- always call base class first to store pointer
COscillator::initGlobalParameters(pGlobalOscParams);
// --- add any QBL specifics here
}
// -- parallel proqcess 4 sawteeth
inline void doSawTeeth(float* dOutsIn, float dModulo, float dInc) {
float scalar2Val = 2.0f;
float scalar1Val = -1.0f;
// -- 2.0f*dValue - 1.0f
vDSP_vsmsa(dOutsIn, 1, &scalar2Val, &scalar1Val, dOutsIn, 1, 4);
}
Один из файлов, включенных в oscillator.h, имел это:
#include "math.h"
Меняя его на
#include <cmath>
сделал трюк. Ускорение также использует математическую библиотеку (cmath).