Home | Develop | Download | Contact
pdscomplex.h
1 /*
2  * pdscomplex.h
3  *
4  * Copyright 2011 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
29 #ifndef __PDSCOMPLEX_H__
30 #define __PDSCOMPLEX_H__
31 
32 
33 #include <pds/pdscnglobal.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
51 typedef struct
52 {
57 }PdsComplex;
58 
59 
60 
65 #define PDS_CRECT(A,B) pds_complex_rect(A,B)
66 
75 
76 
77 
82 #define PDS_CPOLAR(A,B) pds_complex_polar(A,B)
83 
92 
93 
94 
99 #define PDS_CADDC(A,B) pds_complex_add_complex(A,B)
100 
109 
110 
111 
116 #define PDS_CADDR(A,B) pds_complex_add_real(A,B)
117 
126 
127 
128 
133 #define PDS_CADDI(A,B) pds_complex_add_imag(A,B)
134 
143 
144 
145 
150 #define PDS_CSUBC(A,B) pds_complex_sub_complex(A,B)
151 
160 
161 
162 
167 #define PDS_CSUBR(A,B) pds_complex_sub_real(A,B)
168 
177 
178 
179 
184 #define PDS_CSUBI(A,B) pds_complex_sub_imag(A,B)
185 
194 
195 
196 
201 #define PDS_CMULC(A,B) pds_complex_mul_complex(A,B)
202 
211 
212 
213 
218 #define PDS_CMULR(A,B) pds_complex_mul_real(A,B)
219 
228 
229 
230 
235 #define PDS_CMULI(A,B) pds_complex_mul_imag(A,B)
236 
245 
246 
251 #define PDS_CDIVC(A,B) pds_complex_div_complex(A,B)
252 
261 
262 
263 
268 #define PDS_CDIVR(A,B) pds_complex_div_real(A,B)
269 
278 
279 
280 
285 #define PDS_CDIVI(A,B) pds_complex_div_imag(A,B)
286 
295 
296 
301 #define PDS_CINV(A) pds_complex_inv(A)
302 
310 
311 
316 #define PDS_CCONJ(A) pds_complex_conj(A)
317 
325 
326 
331 #define PDS_CEXP(B) pds_complex_exp(B)
332 
340 
341 
346 #define PDS_CLOG(B) pds_complex_log(B)
347 
355 
356 
361 #define PDS_CCIS(B) pds_complex_cis(B)
362 
370 
371 
372 
377 #define PDS_CNORM(A) pds_complex_norm(A)
378 
386 
387 
388 
393 #define PDS_CNORM2(A) pds_complex_norm2(A)
394 
402 
407 #ifdef __cplusplus
408 }
409 #endif
410 
411 
412 #endif /* __PDSCOMPLEX_H__ */
PdsCnReal pds_complex_norm(PdsComplex a)
Evalua |a|. |a|=sqrt(a.Real^2+a.Imag^2).
float PdsCnReal
Definition: pdscnglobal.h:46
PdsComplex pds_complex_add_imag(PdsComplex a, PdsCnReal b)
Suma una variable complejas y una imaginaria. a+bi.
PdsComplex pds_complex_sub_imag(PdsComplex a, PdsCnReal b)
Resta una variable complejas y una imaginaria. a-bi
PdsComplex pds_complex_add_complex(PdsComplex a, PdsComplex b)
Suma dos variables complejas. a+b.
PdsComplex pds_complex_mul_real(PdsComplex a, PdsCnReal b)
Multiplica una variable compleja y una real. a*b.
PdsComplex pds_complex_inv(PdsComplex a)
Evalua a^{-1}. a^{-1}=conj(a)/|a| tal que |a|=sqrt(a.Real^2+a.Imag^2).
PdsComplex pds_complex_add_real(PdsComplex a, PdsCnReal b)
Suma una variable complejas y una real. a+b.
La estructura tipo PdsComplex . Esta estructura genera unnumero complejo. Para usar incluir pdscomple...
Definition: pdscomplex.h:51
PdsComplex pds_complex_sub_real(PdsComplex a, PdsCnReal b)
Resta una variable complejas y una real. a-b
PdsCnReal Imag
Definition: pdscomplex.h:56
PdsComplex pds_complex_mul_imag(PdsComplex a, PdsCnReal b)
Multiplica una variable compleja y una imaginaria. a*bi.
PdsComplex pds_complex_div_imag(PdsComplex a, PdsCnReal b)
Divide una variable compleja y una imaginaria. a/bi.
PdsComplex pds_complex_conj(PdsComplex a)
Evalua el conjugado de a. b=conj(a)=a.Real-a.Imag i.
PdsComplex pds_complex_cis(PdsCnReal b)
Evalua cis(b). cos(b)+i sin(b)=cis(b).
PdsComplex pds_complex_mul_complex(PdsComplex a, PdsComplex b)
Multiplica dos variables complejas. a*b.
PdsComplex pds_complex_log(PdsComplex a)
Evalua el log(a). log(a)=log(|a|)+acos(a.Real/M)i.
PdsComplex pds_complex_rect(PdsCnReal a, PdsCnReal b)
Crea la variable complejas. a+bi.
PdsCnReal pds_complex_norm2(PdsComplex a)
Evalua |a|^2. |a|^2=(a.Real^2+a.Imag^2).
PdsComplex pds_complex_div_real(PdsComplex a, PdsCnReal b)
Divide una variable compleja y una real. a/b.
PdsComplex pds_complex_div_complex(PdsComplex a, PdsComplex b)
Divide dos variables complejas. a/b
PdsComplex pds_complex_exp(PdsComplex a)
Evalua el e^a. e^a=e^{a.Real}(cos(a.Imag)+sin(a.Imag)i).
PdsCnReal Real
Definition: pdscomplex.h:54
PdsComplex pds_complex_polar(PdsCnReal a, PdsCnReal b)
Evalua de forma polar. a*e^(bi).
PdsComplex pds_complex_sub_complex(PdsComplex a, PdsComplex b)
Resta dos variables complejas. a-b.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed