From 8e235230a4c16a042d2620fa7b58a9b0f4ba1914 Mon Sep 17 00:00:00 2001 From: ukashanoor Date: Mon, 19 Jun 2017 10:42:03 +0530 Subject: after if and for --- .../discrete_mathematics/gcd/dgcda.c | 32 ++++ .../discrete_mathematics/gcd/u8gcds.c | 32 ++++ src/c/elementaryFunctions/includes/gcd.h | 31 ++++ src/c/elementaryFunctions/includes/isreal.h | 30 ++++ src/c/elementaryFunctions/includes/nextpow2.h | 28 ++++ src/c/elementaryFunctions/interfaces/int_gcd.h | 25 +++ src/c/elementaryFunctions/interfaces/int_isreal.h | 22 +++ .../elementaryFunctions/interfaces/int_nextpow2.h | 26 +++ src/c/elementaryFunctions/isreal/disreals.c | 17 ++ src/c/elementaryFunctions/isreal/sisreals.c | 17 ++ src/c/elementaryFunctions/nextpow2/dnextpow2a.c | 30 ++++ src/c/interpolation/includes/interp1.h | 30 ++++ src/c/interpolation/interfaces/int_interp1.h | 28 ++++ src/c/interpolation/interp1/dinterp13a.c | 75 +++++++++ src/c/matrixOperations/cat/ccata.c | 2 +- src/c/matrixOperations/cat/zcata.c | 2 +- src/c/signalProcessing/includes/dct.h | 36 +++++ src/c/signalProcessing/includes/idct.h | 36 +++++ src/c/signalProcessing/includes/modk.h | 28 ++++ src/c/signalProcessing/interfaces/int_dct.h | 32 ++++ src/c/signalProcessing/interfaces/int_idct.h | 26 +++ src/c/signalProcessing/interfaces/int_modk.h | 18 +++ src/c/signalProcessing/modk/dmodka.c | 97 +++++++++++ src/c/signalProcessing/transforms/dct/cdcta.c | 177 +++++++++++++++++++++ src/c/signalProcessing/transforms/dct/ddcta.c | 160 +++++++++++++++++++ src/c/signalProcessing/transforms/dct/zdcta.c | 177 +++++++++++++++++++++ src/c/signalProcessing/transforms/idct/cidcta.c | 97 +++++++++++ src/c/signalProcessing/transforms/idct/didcta.c | 83 ++++++++++ src/c/signalProcessing/transforms/idct/zidcta.c | 97 +++++++++++ 29 files changed, 1489 insertions(+), 2 deletions(-) create mode 100644 src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c create mode 100644 src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c create mode 100644 src/c/elementaryFunctions/includes/gcd.h create mode 100644 src/c/elementaryFunctions/includes/isreal.h create mode 100644 src/c/elementaryFunctions/includes/nextpow2.h create mode 100644 src/c/elementaryFunctions/interfaces/int_gcd.h create mode 100644 src/c/elementaryFunctions/interfaces/int_isreal.h create mode 100644 src/c/elementaryFunctions/interfaces/int_nextpow2.h create mode 100644 src/c/elementaryFunctions/isreal/disreals.c create mode 100644 src/c/elementaryFunctions/isreal/sisreals.c create mode 100644 src/c/elementaryFunctions/nextpow2/dnextpow2a.c create mode 100644 src/c/interpolation/includes/interp1.h create mode 100644 src/c/interpolation/interfaces/int_interp1.h create mode 100644 src/c/interpolation/interp1/dinterp13a.c create mode 100644 src/c/signalProcessing/includes/dct.h create mode 100644 src/c/signalProcessing/includes/idct.h create mode 100644 src/c/signalProcessing/includes/modk.h create mode 100644 src/c/signalProcessing/interfaces/int_dct.h create mode 100644 src/c/signalProcessing/interfaces/int_idct.h create mode 100644 src/c/signalProcessing/interfaces/int_modk.h create mode 100644 src/c/signalProcessing/modk/dmodka.c create mode 100644 src/c/signalProcessing/transforms/dct/cdcta.c create mode 100644 src/c/signalProcessing/transforms/dct/ddcta.c create mode 100644 src/c/signalProcessing/transforms/dct/zdcta.c create mode 100644 src/c/signalProcessing/transforms/idct/cidcta.c create mode 100644 src/c/signalProcessing/transforms/idct/didcta.c create mode 100644 src/c/signalProcessing/transforms/idct/zidcta.c (limited to 'src') diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c new file mode 100644 index 0000000..a32ed77 --- /dev/null +++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c @@ -0,0 +1,32 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "gcd.h" +#include "types.h" + +void dgcda(double *in,int size,double *out) +{ + double a=in[0]; + double b=in[1]; + while(a!=b && a!=0 && b!=0) + { + if(a>b) + { + a=a-b; + } + else + { + b=b-a; + } + } + out[0]=b; +} diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c new file mode 100644 index 0000000..75f831f --- /dev/null +++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c @@ -0,0 +1,32 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "gcd.h" +#include "types.h" + +int8 u8gcds(int8 *in,int size) +{ + int a=in[0]; + int b=in[1]; + while(a!=b && a!=0 && b!=0) + { + if(a>b) + { + a=a-b; + } + else + { + b=b-a; + } + } + return b; +} diff --git a/src/c/elementaryFunctions/includes/gcd.h b/src/c/elementaryFunctions/includes/gcd.h new file mode 100644 index 0000000..eb75c97 --- /dev/null +++ b/src/c/elementaryFunctions/includes/gcd.h @@ -0,0 +1,31 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * Author: Ukasha Noor + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#ifndef __GCD_H__ +#define __GCD_H__ + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +int8 u8gcds(int8 *in,int size); + +void dgcda(double *in,int size,double *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/elementaryFunctions/includes/isreal.h b/src/c/elementaryFunctions/includes/isreal.h new file mode 100644 index 0000000..0183ebc --- /dev/null +++ b/src/c/elementaryFunctions/includes/isreal.h @@ -0,0 +1,30 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#ifndef __ISREAL_H__ +#define __ISREAL_H__ + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +float sisreals(float a); + +double disreals(double a); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/elementaryFunctions/includes/nextpow2.h b/src/c/elementaryFunctions/includes/nextpow2.h new file mode 100644 index 0000000..c86bea0 --- /dev/null +++ b/src/c/elementaryFunctions/includes/nextpow2.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#ifndef __NEXTPOW2_H__ +#define __NEXTPOW2_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +void dnextpow2a(double *in,int size,double *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif + diff --git a/src/c/elementaryFunctions/interfaces/int_gcd.h b/src/c/elementaryFunctions/interfaces/int_gcd.h new file mode 100644 index 0000000..c2135b7 --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_gcd.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + +#ifndef __INT_GCD_H__ +#define __INT_GCD_H__ + +#include "gcd.h" + +#define u82gcdu80(in,size) u8gcds(in,size) + +#define d2gcdd2(in,size,out) dgcda(in,size[0]*size[1],out) + +#endif + diff --git a/src/c/elementaryFunctions/interfaces/int_isreal.h b/src/c/elementaryFunctions/interfaces/int_isreal.h new file mode 100644 index 0000000..cebbf6d --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_isreal.h @@ -0,0 +1,22 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + + +#ifndef __INT_ISREAL_H__ +#define __INT_ISREAL_H__ + +#define s0isreals0(in) sisreals(in) + +#define d0isreald0(in) disreals(in) + +#endif diff --git a/src/c/elementaryFunctions/interfaces/int_nextpow2.h b/src/c/elementaryFunctions/interfaces/int_nextpow2.h new file mode 100644 index 0000000..6ae4747 --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_nextpow2.h @@ -0,0 +1,26 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + + +#ifndef __INT_NEXTPOW2_H__ +#define __INT_NEXTPOW2_H__ + + +#include "nextpow2.h" + +#define d0nextpow2d0(in,size,out) dnextpow2a(in,size[0]*size[1],out) + +#define d2nextpow2d2(in,size,out) dnextpow2a(in,size[0]*size[1],out) + +#endif diff --git a/src/c/elementaryFunctions/isreal/disreals.c b/src/c/elementaryFunctions/isreal/disreals.c new file mode 100644 index 0000000..8c7c820 --- /dev/null +++ b/src/c/elementaryFunctions/isreal/disreals.c @@ -0,0 +1,17 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "isreal.h" + +double disreals(double a){ + return 1; +} diff --git a/src/c/elementaryFunctions/isreal/sisreals.c b/src/c/elementaryFunctions/isreal/sisreals.c new file mode 100644 index 0000000..4b93c02 --- /dev/null +++ b/src/c/elementaryFunctions/isreal/sisreals.c @@ -0,0 +1,17 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "isreal.h" + +float sisreals(float a){ + return 1; +} diff --git a/src/c/elementaryFunctions/nextpow2/dnextpow2a.c b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c new file mode 100644 index 0000000..46f7eb8 --- /dev/null +++ b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2017 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Organization: FOSSEE, IIT Bombay + Author: Ukasha Noor + Email: toolbox@scilab.in +*/ + +#include "nextpow2.h" +#include + +void dnextpow2a(double *in,int size,double *out) +{ + int i,j,s; + double k; + i=2; + for(s=0;sk); + out[s]=j; + } +} diff --git a/src/c/interpolation/includes/interp1.h b/src/c/interpolation/includes/interp1.h new file mode 100644 index 0000000..1c01417 --- /dev/null +++ b/src/c/interpolation/includes/interp1.h @@ -0,0 +1,30 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#ifndef __INTERP1_H__ +#define __INTERP1_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +//void dinterp13a(double *x,double *fx,double *q,int size,double *out); +void dinterp13a(double *x,int size1,double *fx,int size2,double *q,int size3,char *a,int size4,double *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/interpolation/interfaces/int_interp1.h b/src/c/interpolation/interfaces/int_interp1.h new file mode 100644 index 0000000..6d579e1 --- /dev/null +++ b/src/c/interpolation/interfaces/int_interp1.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + + +#ifndef __INT_INTERP1_H__ +#define __INT_INTERP1_H__ + +#include "interp1.h" +#include + +#define d2d2d2interp1d2(x,size1,fx,size2,q,size3,out) dinterp13a(x,size1[0]*size1[1],fx,size2[0]*size1[1],q,size3[0]*size3[1],"linear",6,out) + +#define d2d2d2g2interp1d2(x,size1,fx,size2,q,size3,ch,size4,out) dinterp13a(x,size1[0]*size1[1],fx,size2[0]*size1[1],q,size3[0]*size3[1],ch,size4[0]*size4[1],out) + + +#endif + diff --git a/src/c/interpolation/interp1/dinterp13a.c b/src/c/interpolation/interp1/dinterp13a.c new file mode 100644 index 0000000..7b755e1 --- /dev/null +++ b/src/c/interpolation/interp1/dinterp13a.c @@ -0,0 +1,75 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#include "interp1.h" +#include + +void dinterp13a(double *x,int size1,double *fx,int size2,double *q,int size3,char *ch,int size4,double *out) +{ + int i,j,k,f; + double a,b; + if(strcmp(ch,"linear")==0) + { + for(i=0;ix[j]) + { + j++; + } + a=x[j-1]; + b=x[j]; + out[i]=fx[j-1]+(q[i]-a)*((fx[j]-fx[j-1])/(b-a)); + } + } + } + else if(strcmp(ch,"nearest")==0) + { + for(i=0;ix[j]) + { + j++; + } + out[i]=fx[j]; + } + } + } +} + + diff --git a/src/c/matrixOperations/cat/ccata.c b/src/c/matrixOperations/cat/ccata.c index a6ac6cf..cd2b4c9 100644 --- a/src/c/matrixOperations/cat/ccata.c +++ b/src/c/matrixOperations/cat/ccata.c @@ -26,7 +26,7 @@ void crowcata(floatComplex *in1, int lines1, int columns1, floatComplex *in2, i { for (j = 0 ; j < lines1 ; ++j) { - /*out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];*/ + out[i*(lines1 + lines2) + j] = in1[i*lines1 + j]; } for (j = 0 ; j < lines2 ; ++j) { diff --git a/src/c/matrixOperations/cat/zcata.c b/src/c/matrixOperations/cat/zcata.c index bfb6e92..485553d 100644 --- a/src/c/matrixOperations/cat/zcata.c +++ b/src/c/matrixOperations/cat/zcata.c @@ -26,7 +26,7 @@ void zrowcata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2, { for (j = 0 ; j < lines1 ; ++j) { - /*out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];*/ + out[i*(lines1 + lines2) + j] = in1[i*lines1 + j]; } for (j = 0 ; j < lines2 ; ++j) { diff --git a/src/c/signalProcessing/includes/dct.h b/src/c/signalProcessing/includes/dct.h new file mode 100644 index 0000000..5255241 --- /dev/null +++ b/src/c/signalProcessing/includes/dct.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#ifndef __DCT_H__ +#define __DCT_H__ + +#include +#include "types.h" +#include "doubleComplex.h" +#include "addition.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void ddcta(double *in,int row,int col,int sign,double *out); + +void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out); + +void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/signalProcessing/includes/idct.h b/src/c/signalProcessing/includes/idct.h new file mode 100644 index 0000000..13458b7 --- /dev/null +++ b/src/c/signalProcessing/includes/idct.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#ifndef __IDCT_H__ +#define __IDCT_H__ + +#include +#include "types.h" +#include "doubleComplex.h" +#include "addition.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void didcta(double *in,int row,int col,double *out); + +void zidcta(doubleComplex *in,int row,int col,doubleComplex *out); + +void cidcta(floatComplex *in,int row,int col,floatComplex *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/signalProcessing/includes/modk.h b/src/c/signalProcessing/includes/modk.h new file mode 100644 index 0000000..5040eb7 --- /dev/null +++ b/src/c/signalProcessing/includes/modk.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2017 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __MODK_H__ +#define __MODK_H__ +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void dmodka(double* inp,int size,double* oup); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* __MODK_H__ */ + diff --git a/src/c/signalProcessing/interfaces/int_dct.h b/src/c/signalProcessing/interfaces/int_dct.h new file mode 100644 index 0000000..6cfb21c --- /dev/null +++ b/src/c/signalProcessing/interfaces/int_dct.h @@ -0,0 +1,32 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + + +#ifndef __INT_DCT_H__ +#define __INT_DCT_H__ + + + +#define d2dctd2(in,size,out) ddcta(in,size[0],size[1],-1,out) + +#define d2d0dctd2(in,size,sign,out) ddcta(in,size[0],size[1],sign,out) + +#define z2dctz2(in,size,out) zdcta(in,size[0],size[1],-1,out) + +#define z2d0dctz2(in,size,sign,out) zdcta(in,size[0],size[1],sign,out) + +#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out) + +#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out) + +#endif diff --git a/src/c/signalProcessing/interfaces/int_idct.h b/src/c/signalProcessing/interfaces/int_idct.h new file mode 100644 index 0000000..c3a174a --- /dev/null +++ b/src/c/signalProcessing/interfaces/int_idct.h @@ -0,0 +1,26 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ukasha Noor + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + + +#ifndef __INT_IDCT_H__ +#define __INT_IDCT_H__ + + + +#define d2idctd2(in,size,out) didcta(in,size[0],size[1],out) + +#define z2idctz2(in,size,out) zidcta(in,size[0],size[1],out) + +#define c2idctc2(in,size,out) cidcta(in,size[0],size[1],out) + +#endif diff --git a/src/c/signalProcessing/interfaces/int_modk.h b/src/c/signalProcessing/interfaces/int_modk.h new file mode 100644 index 0000000..441b9b1 --- /dev/null +++ b/src/c/signalProcessing/interfaces/int_modk.h @@ -0,0 +1,18 @@ +/* Copyright (C) 2017 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Ankit Raj + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __INT_MODK_H__ +#define __INT_MODK_H__ + +#define d2modkd2(inp,size,oup) dmodka(inp,size[1],oup) + +#endif /* !INT_MODK_H__! */ diff --git a/src/c/signalProcessing/modk/dmodka.c b/src/c/signalProcessing/modk/dmodka.c new file mode 100644 index 0000000..c0630ec --- /dev/null +++ b/src/c/signalProcessing/modk/dmodka.c @@ -0,0 +1,97 @@ +#include +#include +#include "modk.h" +double max_calc(double* ptr,int sz) +{ + int i=0; + double mx; + if(ptr[0]<0) + { + ptr[0]=-1*ptr[0]; + } + mx=(ptr[0]); + //printf("%lf\n",mx); + for(i=1;ieps) + { + int q,w,r; + for(q=0;q*/ +#include + +void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out) +{ + int i,j,k,u,v; + int n; + int x,y; + float res,ress; + float re,z,q,m; + floatComplex accu = DoubleComplex(0, 0); + floatComplex temp,mm; + if(sign==-1) + { + if(row==1) + { + n=col; + for(u=0;u*/ +#include + +void ddcta(double *in,int row,int col,int sign,double *out) +{ + int i,j,k,u,v; + int n; + int x,y; + double res,ress; + double re,z,q,m; + if(sign==-1) + { + if(row==1) + { + n=col; + for(u=0;u*/ +#include + +void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out) +{ + int i,j,k,u,v; + int n; + int x,y; + double res,ress; + double re,z,q,m; + doubleComplex accu = DoubleComplex(0, 0); + doubleComplex temp,mm; + if(sign==-1) + { + if(row==1) + { + n=col; + for(u=0;u*/ +#include + +void cidcta(floatComplex *in,int row,int col,floatComplex *out) +{ + int i,j,k,u,v; + int n=col; + int x,y; + float res,ress; + float re,z,q,m; + floatComplex accu = DoubleComplex(0, 0); + floatComplex temp,mm; + if(row==1) + { + res=1./sqrt(n); + ress=sqrt(2./n); + for(u=0;u*/ +#include + +void didcta(double *in,int row,int col,double *out) +{ + int i,j,k,u,v; + int n=col; + int x,y; + double res,ress; + double re,z,q,m; + if(row==1) + { + res=1./sqrt(n); + ress=sqrt(2./n); + for(u=0;u*/ +#include + +void zidcta(doubleComplex *in,int row,int col,doubleComplex *out) +{ + int i,j,k,u,v; + int n=col; + int x,y; + double res,ress; + double re,z,q,m; + doubleComplex accu = DoubleComplex(0, 0); + doubleComplex temp,mm; + if(row==1) + { + res=1./sqrt(n); + ress=sqrt(2./n); + for(u=0;u