📄 runfir.cpp
字号:
/*
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 1999-2006 Intel Corporation. All Rights Reserved.
//
*/
// RunFir.cpp : implementation of the CRunFir class.
// CRunFir class processes vectors by ippSP functions listed in
// CallIppFunction member function.
// See CRun & CippsRun classes for more information.
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ippsDemo.h"
#include "ippsDemoDoc.h"
#include "Histo.h"
#include "RunFir.h"
#include "ParmFirDlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRunFir::CRunFir()
{
m_pState = NULL;
}
CRunFir::~CRunFir()
{
}
BOOL CRunFir::Open(CFunc func)
{
if (!CippsRun::Open(func)) return FALSE;
m_pDelay.Init(m_Func.DstType());
m_InitName = "";
m_FreeName = "";
return TRUE;
}
CParamDlg* CRunFir::CreateDlg()
{
return new CParmFirDlg;
}
void CRunFir::UpdateData(CParamDlg* parmDlg, BOOL save)
{
CRunFirD::UpdateData(parmDlg,save);
CParmFirDlg *pDlg = (CParmFirDlg*)parmDlg;
if (save) {
m_MR = pDlg->m_MR;
} else {
pDlg->m_MR = m_MR;
}
}
void CRunFir::SetInitFreeNames()
{
CString tapsTypeStr = CFunc::TypeToString(m_Func.BaseType()) + "_" + m_Func.TypeName();
m_FreeName = "ippsFIRFree" + tapsTypeStr;
if (((m_Func.BaseType()|PP_CPLX) == pp32sc) &&
((m_pDocTaps->GetVector()->Type()|PP_CPLX) == pp32fc))
tapsTypeStr += m_pDocTaps->GetVector()->TypeString();
m_InitName = (m_MR ? "ippsFIRMRInitAlloc" : "ippsFIRInitAlloc") + tapsTypeStr;
}
BOOL CRunFir::BeforeCall()
{
CRunFirD::BeforeCall();
SetInitFreeNames();
IppStatus status = CallInit();
IppErrorMessage(m_InitName, status);
m_pDelay.Deallocate();
if (status < 0) return FALSE;
return TRUE;
}
BOOL CRunFir::AfterCall(BOOL bOk)
{
IppStatus status = CallFree(); m_pState = NULL;
IppErrorMessage(m_FreeName, status);
return TRUE;
}
IppStatus CRunFir::CallInit()
{
MATE_CALL(m_InitName, ippsFIRInitAlloc32s_16s32f, ((IppsFIRState32s_16s**)&m_pState,
(const Ipp32f*)m_pTaps, m_tapsLen, (const Ipp16s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc32s_16s32f, ((IppsFIRState32s_16s**)&m_pState,
(const Ipp32f*)m_pTaps, m_tapsLen, m_upFactor, m_upPhase,
m_downFactor, m_downPhase, (const Ipp16s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc32sc_16sc, ((IppsFIRState32sc_16sc**)&m_pState,
(const Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor, (const Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc32sc_16sc, ((IppsFIRState32sc_16sc**)&m_pState,
(const Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor, m_upFactor,
m_upPhase, m_downFactor, m_downPhase, (const Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc32sc_16sc32fc, ((IppsFIRState32sc_16sc**)&m_pState,
(const Ipp32fc*)m_pTaps, m_tapsLen, (const Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc32sc_16sc32fc, ((IppsFIRState32sc_16sc**)&m_pState,
(const Ipp32fc*)m_pTaps, m_tapsLen, m_upFactor, m_upPhase,
m_downFactor, m_downPhase, (const Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc_32s, ((IppsFIRState_32s**)&m_pState, (Ipp32s*)m_pTaps, m_tapsLen,
(Ipp32s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc_32f, ((IppsFIRState_32f**)&m_pState, (Ipp32f*)m_pTaps, m_tapsLen,
(Ipp32f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc_32f, ((IppsFIRState_32f**)&m_pState, (Ipp32f*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp32f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc_32fc, ((IppsFIRState_32fc**)&m_pState, (Ipp32fc*)m_pTaps, m_tapsLen,
(Ipp32fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc_32fc, ((IppsFIRState_32fc**)&m_pState, (Ipp32fc*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp32fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc32f_16s, ((IppsFIRState32f_16s**)&m_pState, (Ipp32f*)m_pTaps, m_tapsLen,
(Ipp16s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc32f_16s, ((IppsFIRState32f_16s**)&m_pState, (Ipp32f*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp16s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc32fc_16sc, ((IppsFIRState32fc_16sc**)&m_pState, (Ipp32fc*)m_pTaps, m_tapsLen,
(Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc32fc_16sc, ((IppsFIRState32fc_16sc**)&m_pState, (Ipp32fc*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp16sc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc_64f, ((IppsFIRState_64f**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
(Ipp64f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc_64f, ((IppsFIRState_64f**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp64f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc_64fc, ((IppsFIRState_64fc**)&m_pState, (Ipp64fc*)m_pTaps, m_tapsLen,
(Ipp64fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc_64fc, ((IppsFIRState_64fc**)&m_pState, (Ipp64fc*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp64fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc64f_32f, ((IppsFIRState64f_32f**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
(Ipp32f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc64f_32f, ((IppsFIRState64f_32f**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp32f*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc64fc_32fc, ((IppsFIRState64fc_32fc**)&m_pState, (Ipp64fc*)m_pTaps, m_tapsLen,
(Ipp32fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc64fc_32fc, ((IppsFIRState64fc_32fc**)&m_pState, (Ipp64fc*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp32fc*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc64f_32s, ((IppsFIRState64f_32s**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
(Ipp32s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRMRInitAlloc64f_32s, ((IppsFIRState64f_32s**)&m_pState, (Ipp64f*)m_pTaps, m_tapsLen,
m_upFactor, m_upPhase, m_downFactor, m_downPhase,
(Ipp32s*)m_pDelay))
MATE_CALL(m_InitName, ippsFIRInitAlloc64fc_32sc, ((IppsFIRState64fc_32sc**)&m_pState, (Ipp64fc*)m_pTaps, m_tapsLen,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -