summaryrefslogtreecommitdiff
path: root/src/c/linearAlgebra/interfaces/int_spec.h
blob: 8772a6a6e11d1060db0e15a5d073bb2d8445a1a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008-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
 *
 * Edited - Sandeep Gupta (FOSSEE) - IIT Bombay 
 */

/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */

#ifndef __INT_SPEC_H__
#define __INT_SPEC_H__

/* Only eigenvalues */ 

#define s0specc0(in)			FloatComplex  (sspecs(in)  , 0)

#define d0specz0(in)			DoubleComplex ( dspecs(in) , 0)

#define c0specc0(in)			cspecs(in)

#define z0specz0(in)			zspecs(in)

#define s2specc2(in,size,out)		{float* ZEROS;\
						ZEROS=(float *)malloc((uint)(size[0]*size[0]*sizeof(float)));\
						szerosa(ZEROS,size[0],size[0]);\
						cspeca(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0], out);\
						}

#define d2specz2(in,size,out)		{double* ZEROS;\
						ZEROS=(double *)malloc((uint)(size[0]*size[0]*sizeof(double)));\
						dzerosa(ZEROS,size[0],size[0]);\
						zspeca(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out);\
						}

#define c2specc2(in,size,out)		cspeca(in, size[0], out)

#define z2specz2(in,size,out)		zspeca(in, size[0], out)

/* Eigenvalues and eigenvectors */

#define s0specc0c0(in,out)			cspec2s(FloatComplex( in,0) ,out)

#define d0specz0z0(in,out)			zspec2s(DoubleComplex(in,0) ,out)

#define c0specc0c0(in,out)			cspec2s(in,out)

#define z0specz0z0(in,out)			zspec2s(in,out)

#define s2specc2c2(in,size,out1,out2)		{float* ZEROS;\
						ZEROS=(float *)malloc((uint)(size[0]*size[0]*sizeof(float)));\
						szerosa(ZEROS,size[0],size[0]);\
						cspec2a(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
						}

#define d2specz2z2(in,size,out1,out2)		{double* ZEROS;\
						ZEROS=(double *)malloc((uint)(size[0]*size[0]*sizeof(double)));\
						dzerosa(ZEROS,size[0],size[0]);\
						zspec2a(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
						}


#define c2specc2c2(in,size,out1,out2)		cspec2a(in, size[0], out2, out1)

#define z2specz2z2(in,size,out1,out2)		zspec2a(in, size[0], out2, out1)

/*Edited by Sandeep Gupta, IITB, FOSSEE Project.spec(A,B) */

#define d2d2specz2(in1,size,in2,size2,out1) dspec1a(in1,in2,size[0],1,out1,NULL,NULL,NULL)
#define d2d2specz2d2(in1,size,in2,size2,out1,out2) dspec1a(in1,in2,size[0],2,out1,out2,NULL,NULL)
#define d2d2specz2d2z2(in1,size,in2,size2,out1,out2,out3) dspec1a(in1,in2,size[0],3,out1,out2,out3,NULL)
#define d2d2specz2d2z2z2(in1,size,in2,size2,out1,out2,out3,out4) dspec1a(in1,in2,size[0],4,out1,out2,out3,out4)

#endif /* !__INT_SPEC_H__ */