NAME clibmvec - vector versions of some complex mathematical functions SYNOPSIS f77 [ flag ... ] file ... -lmvec [ library ... ] or f77 [ flag ... ] file ... -lmvec_mt [ library ... ] subroutine vz_abs(n, x, stridex, y, stridey) subroutine vz_exp(n, x, stridex, y, stridey, tmp) subroutine vz_log(n, x, stridex, y, stridey) subroutine vz_pow(n, x, stridex, y, stridey, z, stridez, tmp) subroutine vc_abs(n, a, stridea, b, strideb) subroutine vc_exp(n, a, stridea, b, strideb, stmp) subroutine vc_log(n, a, stridea, b, strideb) subroutine vc_pow(n, a, stridea, b, strideb, c, stridec, stmp) integer n,stridex,stridey,stridez,stridea,strideb,stridec complex*16 x(n),y(n),z(n),tmp(n) complex a(n),b(n),c(n),stmp(n) DESCRIPTION Each function of the form vz_ffuunncc evaluates the correspond- ing complex function ffuunncc((xx)) for each element of the complex vector x. The number of elements computed is n, and the results are stored in the complex y vector. For functions of two arguments, the results are stored in the complex z vector. Stridex, stridey, and stridez are the distances between successive elements of the x, y, and z vectors respectively, and allow the vector functions to operate on elements which are not contiguous in memory. The arrays x, y, z, and tmp are Fortran type complex arrays. vz_abs(n, x , stridex, y, stridey, z, stridez) computes cabs(y,x). vz_exp(n, x , stridex, y, stridey, tmp) computes cexp(x). vz_log(n, x , stridex, y, stridey) computes clog(x). v_pow(n, x , stridex, y, stridey, z, stridez, tmp) computes z = x**y , the complex power function. The subroutines vc_abs, vc_exp, vc_log, and vc_pow, are sin- gle precision complex versions of the double precision com- plex functions listed above. ATTRIBUTES See attributes(5) for descriptions of the following attri- butes: __________________________________ | ATTRIBUTE TYPE| ATTRIBUTE VALUE| |_______________|__________________|_ | Availability | SPROlang | | MT-Level | MT-Safe | |_______________|_________________| SEE ALSO libmvec(3M), attributes(5) DIAGNOSTICS The vector functions treat exceptional cases in the spirit of IEEE754, producing the same results as the Fortran scalar functions. Some vector functions may raise the inexact exception even if all elements of x are such that all ele- ments of y are exact. NOTES The vector functions listed above are provided in each of two libraries, libmvec.a and libmvec_mt.a. The latter con- tains parallelized versions of the functions that work in conjunction with the automatic parallelization provided by the compiler. To use libmvec_mt.a, you must link with one of the parallelization options -xparallel, -xexplicitpar, or -xautopar. In vector and parallel execution, elements need not be evaluated in the order x[0], x[1*stridex], x[2*stridex], etc. Therefore, exceptions that occur may not be raised in order. For example, if argument x[1] would raise the over- flow exception, and x[9] would raise the invalid exception, there is no guarantee that the overflow will be raised first. The strides for the argument arrays may be positive or nega- tive integers, but must not be zero. The argument arrays must not be the same, or overlap. For example, vz_exp(n,x,1,x,1) leads to unpredictable results. Finally, the element count n must be greater than zero.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |