#ifndef _HARK__BEAMFORMING__ALL_H__INCLUDED_
#define _HARK__BEAMFORMING__ALL_H__INCLUDED_ 1

typedef struct{
    float x[3];
} BF_MicLocation;

typedef struct{
    float x[3];
    int   source_id;
    int   is_signal;
} BF_SourceLocation;

#ifdef __cplusplus
extern "C" {
#endif

extern void ClearBF(void);
extern void HAInitBF(void);
extern int  HASetParamBF(Param_BF_t *);
extern int  HAGetParamBF(Param_BF_t *);

extern int BF_execute
    (
    int,
    HA_Complex [ARY_NUM_MIC][ARY_NUM_FFT], // inputSpec
    BF_SourceLocation *,                   // inputLocation
//    SOURCE_DATA_ARY_t *,                   // inputLocation
    HA_Complex [ARY_NUM_SRC][ARY_NUM_FFT]  // outputSpec
    );

#ifdef __cplusplus
}
#endif

#endif //_HARK__BEAMFORMING__ALL_H__INCLUDED_

