Annotation of 43BSDTahoe/new/help/src/f77/complex, revision 1.1

1.1     ! root        1: .TI F77/COMPLEX "Sep. 4, 1985"
        !             2: Complex and Double Complex Constants, Variables and Intrinsic Functions
        !             3: 
        !             4: Declare single precision complex variables as type 'complex' or 'complex*8';
        !             5: declare double precision complex variables as 'double complex' or 'complex*16'. 
        !             6: 
        !             7: Here is an example illustrating the use of single precision complex
        !             8: variables and constants:
        !             9: 
        !            10: .nf
        !            11:                implicit complex (c)
        !            12:                data x1/8.5/, x2/9.2/
        !            13:                
        !            14:        c               create c1 from a complex constant
        !            15:                c1 = (1.1,2.1)
        !            16:        c               create c2 from two real variables
        !            17:                c2 = cmplx( x1, x2 )
        !            18:        
        !            19:        c               take complex square root of c1 using
        !            20:        c                       the generic function name
        !            21:                c3 = sqrt(c1)
        !            22:        
        !            23:        c               get the real part of c3
        !            24:                xreal1 = c3
        !            25:                xreal2 = real(c3)
        !            26:        c               get imaginary part, aimag() would also work
        !            27:                ximag = imag( c3 )
        !            28:        c               find the conjugate of c3
        !            29:                c4 = conjg(c3)
        !            30:        
        !            31:                print *, c1,c2,c3,c4,x1,x2,xreal1,xreal2,ximag
        !            32:                end
        !            33: .fi
        !            34: 
        !            35: The same example in double precision:
        !            36: 
        !            37: .nf
        !            38:                implicit double complex (z)
        !            39:                implicit double precision (d)
        !            40:                data d1/8.5d0/, d2/9.2d0/
        !            41:                
        !            42:                z1 = (1.1d0,2.1d0)
        !            43:                z2 = dcmplx( d1, d2 )
        !            44:                z3 = sqrt(z1)
        !            45:        c               get the real part, dreal() would also work
        !            46:                dxreal1 = z3
        !            47:                dxreal2 = dble(z3)
        !            48:        c               get the imaginary part, dimag() would also work
        !            49:                dximag = imag( z3 )
        !            50:        c               find the conjugate
        !            51:                z4 = conjg(z3)
        !            52:        
        !            53:                print *, z1,z2,z3,z4,d1,d2,dxreal1,dxreal2,dximag
        !            54:                end
        !            55: .fi
        !            56: 
        !            57: To create a complex value from real variables, use 'cmplx()'.  To
        !            58: create a double complex value from double precision variables, use 'dcmplx()'.
        !            59: The generic function names, that work with both complex
        !            60: and double complex, are:
        !            61: 
        !            62: .nf
        !            63:      imag(), conjg(), sqrt(), abs(), exp(), log(), sin(), cos()
        !            64: .fi
        !            65: 
        !            66: If you declare the function to be external and pass the function name
        !            67: to a procedure, you must use the specific function name.  For single
        !            68: precision, they are:
        !            69: 
        !            70: .nf
        !            71:     aimag(), conjg(),csqrt(),cabs(),cexp(),clog(),csin(),ccos()
        !            72: .fi
        !            73: 
        !            74: and for double precision, they are:
        !            75: 
        !            76: .nf
        !            77:     dimag(),dconjg(),zsqrt(),zabs(),zexp(),zlog(),zsin(),zcos()
        !            78: .fi
        !            79: 
        !            80: For compatibility with other vendors compilers, the last six
        !            81: specific functions may also be referred to as:
        !            82: 
        !            83: .nf
        !            84:     cdsqrt(),cdabs(),cdexp(),cdlog(),cdsin(),cdcos()
        !            85: .fi

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.