- initial import
git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@37 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
// --------------------------------------------------------------
|
||||
// --------------------------------------------------------------
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "synth_defs.h"
|
||||
#include "vector_utils.h"
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Exported functions
|
||||
// --------------------------------------------------------------
|
||||
void Add_inplace_VS(synth_float_t *pSrcDst1, synth_float_t gain1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
if (gain1 == 0)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1) = src2;
|
||||
pSrcDst1++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1) = *(pSrcDst1)*gain1 + src2;
|
||||
pSrcDst1++;
|
||||
}
|
||||
}
|
||||
|
||||
void Add_inplace_VV(synth_float_t *pSrcDst1, synth_float_t gain1, synth_float_t *pSrc2, synth_float_t gain2, UINT32 len)
|
||||
{
|
||||
if (gain1 == 0)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1++) = *(pSrc2++)*gain2;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if ((gain1 == 1.0) && (gain2 == 1.0))
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1++) += *(pSrc2++);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1) = *(pSrcDst1)*gain1 + *(pSrc2++)*gain2;
|
||||
pSrcDst1++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Add_VS(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t gain1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++)*gain1 + src2;
|
||||
}
|
||||
}
|
||||
|
||||
void Add_VV(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t gain1, synth_float_t *pSrc2, synth_float_t gain2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++)*gain1 + *(pSrc2++)*gain2;
|
||||
}
|
||||
}
|
||||
|
||||
void Sub_inplace_VS(synth_float_t *pSrcDst1, synth_float_t gain1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1) = *(pSrcDst1)*gain1 - src2;
|
||||
pSrcDst1++;
|
||||
}
|
||||
}
|
||||
|
||||
void Sub_inplace_VV(synth_float_t *pSrcDst1, synth_float_t gain1, synth_float_t *pSrc2, synth_float_t gain2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst1) = *(pSrcDst1)*gain1 - *(pSrc2++)*gain2;
|
||||
pSrcDst1++;
|
||||
}
|
||||
}
|
||||
|
||||
void Sub_VS(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t gain1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++)*gain1 - src2;
|
||||
}
|
||||
}
|
||||
|
||||
void Sub_VV(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t gain1, synth_float_t *pSrc2, synth_float_t gain2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++)*gain1 - *(pSrc2++)*gain2;
|
||||
}
|
||||
}
|
||||
|
||||
void Mul_inplace_VS(synth_float_t *pSrcDst, synth_float_t src, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst++) *= src;
|
||||
}
|
||||
}
|
||||
|
||||
void Mul_inplace_VV(synth_float_t *pSrcDst, synth_float_t *pSrc, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst++) *= *(pSrc++);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Mul_VS(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++) * src2;
|
||||
}
|
||||
}
|
||||
|
||||
void Mul_VV(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t *pSrc2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = *(pSrc1++) * *(pSrc2++);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Clamp_inplace_V(synth_float_t *pSrcDst, synth_float_t minimum, synth_float_t maximum, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pSrcDst) = max(minimum, min(maximum, *(pSrcDst)));
|
||||
pSrcDst++;
|
||||
}
|
||||
}
|
||||
|
||||
void Clamp_V(synth_float_t *pDst, synth_float_t *pSrc, synth_float_t minimum, synth_float_t maximum, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = max(minimum, min(maximum, *(pSrc++)));
|
||||
}
|
||||
}
|
||||
|
||||
void uMax_VS(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = max(fabs(*(pSrc1++)), src2);
|
||||
}
|
||||
}
|
||||
|
||||
void uMax_VV(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t *pSrc2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = max(fabs(*(pSrc1++)), *(pSrc2++));
|
||||
}
|
||||
}
|
||||
|
||||
void uMin_VS(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t src2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = min(fabs(*(pSrc1++)), src2);
|
||||
}
|
||||
}
|
||||
|
||||
void uMin_VV(synth_float_t *pDst, synth_float_t *pSrc1, synth_float_t *pSrc2, UINT32 len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*(pDst++) = min(fabs(*(pSrc1++)), *(pSrc2++));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user