ftp.nice.ch/pub/next/science/mathematics/MathArray.0.60.s.tar.gz#/MathArray.0.60/MathArray/complex.h

This is complex.h in view mode; [Download] [Up]

/* 
    complex - functions and definitions for complex types

    Copyright (C) 1995, Adam Fedor
*/

#ifndef _COMPLEX_INCLUDE_
#define _COMPLEX_INCLUDE_

/* GCC has types for complex, but currently it can't do @encode() on them.
   Anyway multiplication and division don't work (at least in 2.6.3) */
typedef struct _complex_float_ {
    float real, imag;
} complex_float;

typedef struct _complex_double_ {
    double real, imag;
} complex_double;


extern complex_double c_add (complex_double x, complex_double y);
extern complex_double c_sub (complex_double x, complex_double y);
extern complex_double c_mult (complex_double x, complex_double y);
extern complex_double c_div (complex_double x, complex_double y);

extern double c_abs (complex_double z);
extern double c_imag (complex_double z);
extern double c_real (complex_double z);
extern complex_double c_set (double real, double imag);

extern complex_double c_f2d (complex_float f);
extern complex_float  c_d2f (complex_double d);

extern complex_double ccos (complex_double z);
extern complex_double cexp (complex_double z);
extern complex_double clog (complex_double z);
extern complex_double clog10 (complex_double z);
extern complex_double conj (complex_double z);
extern complex_double cpow (complex_double x, complex_double y);
extern complex_double csin (complex_double z);
extern complex_double csqrt (complex_double z);

extern complex_double	cacos( complex_double __x );
extern complex_double	casin( complex_double __x );
extern complex_double	catan( complex_double __x );
extern complex_double	catan2( complex_double __x, complex_double __y );
extern complex_double	ccosh( complex_double __x );
extern complex_double	cmod( complex_double __x, complex_double __y );
extern complex_double	csinh( complex_double __x );
extern complex_double	ctan( complex_double __x );
extern complex_double	ctanh( complex_double __x );
/* FIXME: would anyone really use these?
extern complex_double	cj0( complex_double __x );
extern complex_double	cj1( complex_double __x );
extern complex_double	cjn( int __n, complex_double __x );
extern complex_double	cy0( complex_double __x );
extern complex_double	cy1( complex_double __x );
extern complex_double	cyn( int __n, complex_double __x );
extern complex_double	cerf( complex_double __x );
extern complex_double	cerfc( complex_double __x );
extern complex_double	cgamma( complex_double __x );
extern complex_double   clgamma( complex_double __x );
*/

#endif /* _COMPLEX_INCLUDE_ */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.