diff options
author | Sandeep Gupta | 2017-07-05 12:41:25 +0530 |
---|---|---|
committer | Sandeep Gupta | 2017-07-05 12:41:25 +0530 |
commit | dd50e95a8193fb0faa846ccaa971a115ba69e71c (patch) | |
tree | 8d66abedd68dc5255ad323b95a16c9b592657f35 /2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c | |
parent | 3308ea7a973e2c1e1c8bea99ac7cc783ce8e8b06 (diff) | |
download | Scilab2C-dd50e95a8193fb0faa846ccaa971a115ba69e71c.tar.gz Scilab2C-dd50e95a8193fb0faa846ccaa971a115ba69e71c.tar.bz2 Scilab2C-dd50e95a8193fb0faa846ccaa971a115ba69e71c.zip |
LinearAlgebra and MatrixOperation Update
Diffstat (limited to '2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c')
-rw-r--r-- | 2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c b/2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c deleted file mode 100644 index ae98ba19..00000000 --- a/2.3-1/src/c/signalProcessing/transforms/idct/cidcta.c +++ /dev/null @@ -1,118 +0,0 @@ -/* 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 "idct.h" -#include "addition.h" -#include "types.h" -#include "floatComplex.h" -#include "multiplication.h" -/*#include "matrixMultiplication"*/ -/*#include <fftw3.h>*/ -#include <math.h> - -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,vv,ff; - float re,z,q,m; - floatComplex accu = FloatComplex(0, 0); - floatComplex temp,mm,aa,bb; - if(row==1) - { - res=1./sqrt(n); - ress=sqrt(2./n); - for(u=0;u<row;u++) - { - for(v=0;v<col;v++) - { - x=v*row+u; - out[x]=FloatComplex(0,0); - for(i=0;i<row;i++) - { - for(j=0;j<col;j++) - { - y=row*j+i; - if(y==0) - { - q=res*(cos(((M_PI)*(j)*(v+1./2.))/n)); - aa=FloatComplex(q,0); - out[x]=cadds(out[x],cmuls(in[y],aa)); - } - else - { - q=ress*(cos(((M_PI)*(j)*(v+1./2.))/n)); - aa=FloatComplex(q,0); - out[x]=cadds(out[x],cmuls(in[y],aa)); - } - } - } - } - - } - } - else - { - for(u=0;u<row;u++) - { - for(v=0;v<col;v++) - { - x=v*row+u; - out[x]=FloatComplex(0,0); - for(i=0;i<row;i++) - { - re=0; - mm=FloatComplex(0,0); - temp=FloatComplex(0,0); - for(j=0;j<col;j++) - { - y=row*j+i; - mm=in[j*row+i]; - z=(float)(((float)v+1.0/2.0)*(float)j); - q=(float)(M_PI/(float)col); - vv=cos(q*z); - aa=FloatComplex(vv,0); - mm=cmuls(mm,aa); - if(j==0) - { - vv=1./sqrt((float)col); - aa=FloatComplex(vv,0); - temp=cadds(temp,cmuls(mm,aa)); - } - else - { - vv=sqrt(2./col); - aa=FloatComplex(vv,0); - temp=cadds(temp,cmuls(mm,aa)); - } - } - z=(float)(((float)u+1.0/2.0)*(float)i); - q=(float)(M_PI/(float)row); - if(i==0) - { - vv=(cos(z*q))*(1./sqrt(row)); - aa=FloatComplex(vv,0); - out[x]=cadds(out[x],cmuls(temp,aa)); - } - else - { - vv=(cos(z*q))*sqrt(2./row); - aa=FloatComplex(vv,0); - out[x]=cadds(out[x],cmuls(temp,aa)); - } - } - } - } - } -} |