Complex.H() Karmaşık sayılar için bildirimler abs acos atan exp arg cos log pow sinh conj imag polar sin tanh asin cosh log10 pow10 sqrt norm real tan
Aşagidaki kodu kopyalayipm not defterine yapistiralim kaydederken complex.h diye kayfedelim
--------------------------
/* complex.h Complex Number Library - Include File class complex: declarations for complex numbers. Copyright (c) 1990, 1991 by Borland International All Rights Reserved. All function names, member names, and operators have been borrowed from AT&T C++, except for the addition of: friend complex _Cdecl acos(complex &); friend complex _Cdecl asin(complex &); friend complex _Cdecl atan(complex &); friend complex _Cdecl log10(complex &); friend complex _Cdecl tan(complex &); friend complex _Cdecl tanh(complex &); complex _Cdecl operator+(); complex _Cdecl operator-(); */ #ifndef __cplusplus #error Must use C++ for the type complex. #endif #if !defined( __DEFS_H ) #include <_defs.h> #endif #if !defined( __COMPLEX_H ) #define __COMPLEX_H #if !defined( __MATH_H ) #include <math.h> #endif #pragma option -Vo- _CLASSDEF(complex) class _CLASSTYPE complex { public: // constructors complex(double __re_val, double __im_val=0); complex(); // complex manipulations friend double _Cdecl real(complex &); // the real part friend double _Cdecl imag(complex &); // the imaginary part friend complex _Cdecl conj(complex &); // the complex conjugate friend double _Cdecl norm(complex &); // the square of the magnitude friend double _Cdecl arg(complex &); // the angle in the plane // Create a complex object given polar coordinates friend complex _Cdecl polar(double __mag, double __angle=0); // Overloaded ANSI C math functions friend double _Cdecl abs(complex &); friend complex _Cdecl acos(complex &); friend complex _Cdecl asin(complex &); friend complex _Cdecl atan(complex &); friend complex _Cdecl cos(complex &); friend complex _Cdecl cosh(complex &); friend complex _Cdecl exp(complex &); friend complex _Cdecl log(complex &); friend complex _Cdecl log10(complex &); friend complex _Cdecl pow(complex & __base, double __expon); friend complex _Cdecl pow(double __base, complex & __expon); friend complex _Cdecl pow(complex & __base, complex & __expon); friend complex _Cdecl sin(complex &); friend complex _Cdecl sinh(complex &); friend complex _Cdecl sqrt(complex &); friend complex _Cdecl tan(complex &); friend complex _Cdecl tanh(complex &); // Binary Operator Functions friend complex _Cdecl operator+(complex &, complex &); friend complex _Cdecl operator+(double, complex &); friend complex _Cdecl operator+(complex &, double); friend complex _Cdecl operator-(complex &, complex &); friend complex _Cdecl operator-(double, complex &); friend complex _Cdecl operator-(complex &, double); friend complex _Cdecl operator*(complex &, complex &); friend complex _Cdecl operator*(complex &, double); friend complex _Cdecl operator*(double, complex &); friend complex _Cdecl operator/(complex &, complex &); friend complex _Cdecl operator/(complex &, double); friend complex _Cdecl operator/(double, complex &); friend int _Cdecl operator==(complex &, complex &); friend int _Cdecl operator!=(complex &, complex &); complex & _Cdecl operator+=(complex &); complex & _Cdecl operator+=(double); complex & _Cdecl operator-=(complex &); complex & _Cdecl operator-=(double); complex & _Cdecl operator*=(complex &); complex & _Cdecl operator*=(double); complex & _Cdecl operator/=(complex &); complex & _Cdecl operator/=(double); complex _Cdecl operator+(); complex _Cdecl operator-(); // Implementation private: double re, im; }; // Inline complex functions inline complex::complex(double __re_val, double __im_val) { re = __re_val; im = __im_val; } inline complex::complex() { /* if you want your complex numbers initialized ... re = im = 0; */ } inline complex _Cdecl complex::operator+() { return *this; } inline complex _Cdecl complex::operator-() { return complex(-re, -im); } // Definitions of compound-assignment operator member functions inline complex & _Cdecl complex::operator+=(complex & __z2) { re += __z2.re; im += __z2.im; return *this; } inline complex & _Cdecl complex::operator+=(double __re_val2) { re += __re_val2; return *this; } inline complex & _Cdecl complex::operator-=(complex & __z2) { re -= __z2.re; im -= __z2.im; return *this; } inline complex & _Cdecl complex::operator-=(double __re_val2) { re -= __re_val2; return *this; } inline complex & _Cdecl complex::operator*=(double __re_val2) { re *= __re_val2; im *= __re_val2; return *this; } inline complex & _Cdecl complex::operator/=(double __re_val2) { re /= __re_val2; im /= __re_val2; return *this; } // Definitions of non-member complex functions inline double _Cdecl real(complex & __z) { return __z.re; } inline double _Cdecl imag(complex & __z) { return __z.im; } inline complex _Cdecl conj(complex & __z) { return complex(__z.re, -__z.im); } inline complex _Cdecl polar(double __mag, double __angle) { return complex(__mag*cos(__angle), __mag*sin(__angle)); } // Definitions of non-member binary operator functions inline complex _Cdecl operator+(complex & __z1, complex & __z2) { return complex(__z1.re + __z2.re, __z1.im + __z2.im); } inline complex _Cdecl operator+(double __re_val1, complex & __z2) { return complex(__re_val1 + __z2.re, __z2.im); } inline complex _Cdecl operator+(complex & __z1, double __re_val2) { return complex(__z1.re + __re_val2, __z1.im); } inline complex _Cdecl operator-(complex & __z1, complex & __z2) { return complex(__z1.re - __z2.re, __z1.im - __z2.im); } inline complex _Cdecl operator-(double __re_val1, complex & __z2) { return complex(__re_val1 - __z2.re, -__z2.im); } inline complex _Cdecl operator-(complex & __z1, double __re_val2) { return complex(__z1.re - __re_val2, __z1.im); } inline complex _Cdecl operator*(complex & __z1, double __re_val2) { return complex(__z1.re*__re_val2, __z1.im*__re_val2); } inline complex _Cdecl operator*(double __re_val1, complex & __z2) { return complex(__z2.re*__re_val1, __z2.im*__re_val1); } inline complex _Cdecl operator/(complex & __z1, double __re_val2) { return complex(__z1.re/__re_val2, __z1.im/__re_val2); } inline int _Cdecl operator==(complex & __z1, complex & __z2) { return __z1.re == __z2.re && __z1.im == __z2.im; } inline int _Cdecl operator!=(complex & __z1, complex & __z2) { return __z1.re != __z2.re || __z1.im != __z2.im; } // Complex stream I/O #include <iostream.h> ostream & _Cdecl operator<<(ostream &, complex &); istream & _Cdecl operator>>(istream &, complex &); #pragma option -Vo. #endif // __COMPLEX_H
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...