diff options
author | Ankit Raj | 2017-06-21 10:26:59 +0530 |
---|---|---|
committer | Ankit Raj | 2017-06-21 10:26:59 +0530 |
commit | a555820564d9f2e95ca8c97871339d3a5a2081c3 (patch) | |
tree | adb074b66a8e6750209880e6932305ce0a94c8bf /2.3-1/src/fortran/blas/zrotg.f | |
download | Scilab2C-a555820564d9f2e95ca8c97871339d3a5a2081c3.tar.gz Scilab2C-a555820564d9f2e95ca8c97871339d3a5a2081c3.tar.bz2 Scilab2C-a555820564d9f2e95ca8c97871339d3a5a2081c3.zip |
Updated Scilab2C
Diffstat (limited to '2.3-1/src/fortran/blas/zrotg.f')
-rw-r--r-- | 2.3-1/src/fortran/blas/zrotg.f | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/2.3-1/src/fortran/blas/zrotg.f b/2.3-1/src/fortran/blas/zrotg.f new file mode 100644 index 00000000..f6a4aa12 --- /dev/null +++ b/2.3-1/src/fortran/blas/zrotg.f @@ -0,0 +1,21 @@ + subroutine zrotg(ca,cb,c,s) + double complex ca,cb,s + double precision c + double precision norm,scale + double complex alpha + if (cdabs(ca) .ne. 0.0d0) go to 10 + c = 0.0d0 + s = (1.0d0,0.0d0) + ca = cb + go to 20 + 10 continue + scale = cdabs(ca) + cdabs(cb) + norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2 + + * (cdabs(cb/dcmplx(scale,0.0d0)))**2) + alpha = ca /cdabs(ca) + c = cdabs(ca) / norm + s = alpha * dconjg(cb) / norm + ca = alpha * norm + 20 continue + return + end |