- initial import

git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@37 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-10-25 07:27:55 +00:00
commit 843c6e300c
75 changed files with 40248 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
// --------------------------------------------------------------
// --------------------------------------------------------------
#ifndef _SMOOTH_H_
#define _SMOOTH_H_
#include "synth_defs.h"
#define SMOOTH_TOL ((synth_float_t)(1E-4))
#define SMOOTH_KE ((synth_float_t)(1-exp(-1)))
// --------------------------------------------------------------
// Types
// --------------------------------------------------------------
typedef struct _ssmooth_t
{
synth_float_t y, fs;
synth_float_t T_r, a_r;
synth_float_t T_f, a_f;
} smooth_t;
// --------------------------------------------------------------
#if defined(__cplusplus)
extern "C" {
#endif
// --------------------------------------------------------------
// Exported functions
// --------------------------------------------------------------
void Smooth_Init(smooth_t *pObj, synth_float_t fs, synth_float_t T_r, synth_float_t T_f, synth_float_t inital_value);
void Smooth_Free(smooth_t *pObj);
void Smooth_SetValue(smooth_t *pObj, synth_float_t value);
void Smooth_SetFS(smooth_t *pObj, synth_float_t fs);
void Smooth_SetT(smooth_t *pObj, synth_float_t T_r, synth_float_t T_f);
synth_float_t Smooth_ProcessScalar(smooth_t *pObj, synth_float_t x_hard, synth_float_t in);
void Smooth_Process_VV(smooth_t *pObj, synth_float_t x_hard, synth_float_t *pIn, synth_float_t *pOut, UINT32 len);
void Smooth_Process_V(smooth_t *pObj, synth_float_t x_hard, synth_float_t *pOut, UINT32 len);
UINT32 Smooth_is_settled(smooth_t *pObj, synth_float_t x_hard);
#if defined(__cplusplus)
}
#endif
// --------------------------------------------------------------
#endif // _SMOOTH_H_