This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/11122] New: gcc: Internal error: Illegal instruction (program cc1) on GSL 1.3 cblas/test_rotg.c


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11122

           Summary: gcc: Internal error: Illegal instruction (program cc1)
                    on GSL 1.3 cblas/test_rotg.c
           Product: gcc
           Version: 3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jleffler@earthlink.net
                CC: gcc-bugs@gcc.gnu.org
 GCC build triplet: powerpc-apple-darwin6.6
  GCC host triplet: powerpc-apple-darwin6.6
GCC target triplet: powerpc-apple-darwin6.6

gcc -v sayeth:
Reading specs from /usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/specs
Configured with: ../gcc-3.3/configure --prefix=/usr/gcc/gcc-3.3
Thread model: single
gcc version 3.3

The command line is:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I..    -g -O2 -c test_rotg.c
(the directory is gsl-1.3/cblas - the GNU Scientific Library).

The build output is:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I..    -g -O2 -c test_rotg.c
gcc: Internal error: Illegal instruction (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [test_rotg.o] Error 1

Adding -Wall to the compilation did not change the output.

Comment: GCC 3.3 compiled without problem (Thank you very much) whereas prior
versions had given much grief on MacOS X.

Here is the file test_rotg.i (cut'n'paste - 100511 characters in original,
chopped because Bugzilla only allows 64K comments):
# 1 "test_rotg.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test_rotg.c"
# 1 "../gsl/gsl_test.h" 1
# 33 "../gsl/gsl_test.h"


void
  gsl_test (int status, const char *test_description, ...);

void
gsl_test_rel (double result, double expected, double relative_error,
              const char *test_description, ...) ;

void
gsl_test_abs (double result, double expected, double absolute_error,
              const char *test_description, ...) ;

void
gsl_test_factor (double result, double expected, double factor,
                 const char *test_description, ...) ;

void
gsl_test_int (int result, int expected, const char *test_description, ...) ;

void
gsl_test_str (const char * result, const char * expected,
              const char *test_description, ...) ;

void
  gsl_test_verbose (int verbose) ;

int
  gsl_test_summary (void) ;



# 2 "test_rotg.c" 2
# 1 "../gsl/gsl_ieee_utils.h" 1
# 22 "../gsl/gsl_ieee_utils.h"
# 1 "/usr/include/stdio.h" 1 3 4
# 64 "/usr/include/stdio.h" 3 4
# 1
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 1 3 4
# 75
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 3 4
# 1 "/usr/include/sys/appleapiopts.h" 1 3 4
# 76
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 2 3 4


# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 79
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 2 3 4


# 1 "/usr/include/machine/types.h" 1 3 4
# 30 "/usr/include/machine/types.h" 3 4
# 1 "/usr/include/ppc/types.h" 1 3 4
# 69 "/usr/include/ppc/types.h" 3 4
typedef signed char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;

typedef int32_t register_t;

typedef long int intptr_t;
typedef unsigned long int uintptr_t;
# 31 "/usr/include/machine/types.h" 2 3 4
# 82
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 2 3 4

# 1 "/usr/include/machine/ansi.h" 1 3 4
# 33 "/usr/include/machine/ansi.h" 3 4
# 1 "/usr/include/ppc/ansi.h" 1 3 4
# 92 "/usr/include/ppc/ansi.h" 3 4
typedef union {
        char __mbstate8[128];
        long long _mbstateL;
} __mbstate_t;
# 34 "/usr/include/machine/ansi.h" 2 3 4
# 84
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/endian.h" 1 3 4
# 30 "/usr/include/machine/endian.h" 3 4
# 1 "/usr/include/ppc/endian.h" 1 3 4
# 81 "/usr/include/ppc/endian.h" 3 4

unsigned long htonl (unsigned long);
unsigned short htons (unsigned short);
unsigned long ntohl (unsigned long);
unsigned short ntohs (unsigned short);

# 31 "/usr/include/machine/endian.h" 2 3 4
# 85
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 2 3 4


typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;


typedef u_int64_t u_quad_t;
typedef int64_t quad_t;
typedef quad_t * qaddr_t;

typedef char * caddr_t;
typedef int32_t daddr_t;
typedef int32_t dev_t;
typedef u_int32_t fixpt_t;
typedef u_int32_t gid_t;
typedef u_int32_t in_addr_t;
typedef u_int16_t in_port_t;
typedef u_int32_t ino_t;
typedef long key_t;
typedef u_int16_t mode_t;
typedef u_int16_t nlink_t;
typedef quad_t off_t;
typedef int32_t pid_t;
typedef quad_t rlim_t;
typedef int32_t segsz_t;
typedef int32_t swblk_t;
typedef u_int32_t uid_t;
# 126
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 3 4
typedef unsigned long clock_t;






typedef long unsigned int size_t;






typedef int ssize_t;




typedef long time_t;
# 159
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 3 4
typedef int32_t fd_mask;






typedef struct fd_set {
        fd_mask fds_bits[(((1024) + (((sizeof(fd_mask) * 8)) - 1)) /
((sizeof(fd_mask) * 8)))];
} fd_set;
# 195
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 3 4
struct _pthread_handler_rec
{
        void (*routine)(void *);
        void *arg;
        struct _pthread_handler_rec *next;
};
# 215
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/sys/types.h" 3 4
typedef struct _opaque_pthread_t { long sig; struct _pthread_handler_rec
*cleanup_stack; char opaque[596];} *pthread_t;

typedef struct _opaque_pthread_attr_t { long sig; char opaque[36]; } pthread_attr_t;

typedef struct _opaque_pthread_mutexattr_t { long sig; char opaque[8]; }
pthread_mutexattr_t;

typedef struct _opaque_pthread_mutex_t { long sig; char opaque[40]; }
pthread_mutex_t;

typedef struct _opaque_pthread_condattr_t { long sig; char opaque[4]; }
pthread_condattr_t;

typedef struct _opaque_pthread_cond_t { long sig; char opaque[24]; } pthread_cond_t;

typedef struct _opaque_pthread_rwlockattr_t { long sig; char opaque[12]; }
pthread_rwlockattr_t;

typedef struct _opaque_pthread_rwlock_t { long sig; char opaque[124]; }
pthread_rwlock_t;

typedef struct { long sig; char opaque[4]; } pthread_once_t;



typedef unsigned long pthread_key_t;
# 65 "/usr/include/stdio.h" 2 3 4
# 91 "/usr/include/stdio.h" 3 4
typedef off_t fpos_t;
# 107 "/usr/include/stdio.h" 3 4
struct __sbuf {
        unsigned char *_base;
        int _size;
};
# 138 "/usr/include/stdio.h" 3 4
typedef struct __sFILE {
        unsigned char *_p;
        int _r;
        int _w;
        short _flags;
        short _file;
        struct __sbuf _bf;
        int _lbfsize;


        void *_cookie;
        int (*_close) (void *);
        int (*_read) (void *, char *, int);
        fpos_t (*_seek) (void *, fpos_t, int);
        int (*_write) (void *, const char *, int);


        struct __sbuf _ub;
        unsigned char *_up;
        int _ur;


        unsigned char _ubuf[3];
        unsigned char _nbuf[1];


        struct __sbuf _lb;


        int _blksize;
        fpos_t _offset;
} FILE;


extern FILE __sF[];

# 241 "/usr/include/stdio.h" 3 4

void clearerr (FILE *);
int fclose (FILE *);
int feof (FILE *);
int ferror (FILE *);
int fflush (FILE *);
int fgetc (FILE *);
int fgetpos (FILE *, fpos_t *);
char *fgets (char *, int, FILE *);
FILE *fopen (const char *, const char *);
int fprintf (FILE *, const char *, ...);
int fputc (int, FILE *);
int fputs (const char *, FILE *);
size_t fread (void *, size_t, size_t, FILE *);
FILE *freopen (const char *, const char *, FILE *);
int fscanf (FILE *, const char *, ...);
int fseek (FILE *, long, int);
int fsetpos (FILE *, const fpos_t *);
long ftell (FILE *);
size_t fwrite (const void *, size_t, size_t, FILE *);
int getc (FILE *);
int getchar (void);
char *gets (char *);

extern const int sys_nerr;
extern const char *const sys_errlist[];

void perror (const char *);
int printf (const char *, ...);
int putc (int, FILE *);
int putchar (int);
int puts (const char *);
int remove (const char *);
int rename (const char *, const char *);
void rewind (FILE *);
int scanf (const char *, ...);
void setbuf (FILE *, char *);
int setvbuf (FILE *, char *, int, size_t);
int sprintf (char *, const char *, ...);
int sscanf (const char *, const char *, ...);
FILE *tmpfile (void);
char *tmpnam (char *);
int ungetc (int, FILE *);
int vfprintf (FILE *, const char *, __builtin_va_list);
int vprintf (const char *, __builtin_va_list);
int vsprintf (char *, const char *, __builtin_va_list);
int asprintf (char **, const char *, ...);
int vasprintf (char **, const char *, __builtin_va_list);

# 298 "/usr/include/stdio.h" 3 4

char *ctermid (char *);
FILE *fdopen (int, const char *);
int fileno (FILE *);








char *fgetln (FILE *, size_t *);
int fpurge (FILE *);
int fseeko (FILE *, fpos_t, int);
fpos_t ftello (FILE *);
int getw (FILE *);
int pclose (FILE *);
FILE *popen (const char *, const char *);
int putw (int, FILE *);
void setbuffer (FILE *, char *, int);
int setlinebuf (FILE *);
char *tempnam (const char *, const char *);
int snprintf (char *, size_t, const char *, ...);
int vsnprintf (char *, size_t, const char *, __builtin_va_list);
int vscanf (const char *, __builtin_va_list);
int vsscanf (const char *, const char *, __builtin_va_list);
FILE *zopen (const char *, const char *, int);

# 338 "/usr/include/stdio.h" 3 4

FILE *funopen (const void *, int (*)(void *, char *, int), int (*)(void *, const
char *, int), fpos_t (*)(void *, fpos_t, int), int (*)(void *));













int __srget (FILE *);
int __svfscanf (FILE *, const char *, __builtin_va_list);
int __swbuf (int, FILE *);








static __inline int __sputc(int _c, FILE *_p) {
        if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
                return (*_p->_p++ = _c);
        else
                return (__swbuf(_c, _p));
}
# 23 "../gsl/gsl_ieee_utils.h" 2
# 34 "../gsl/gsl_ieee_utils.h"


enum {
  GSL_IEEE_TYPE_NAN = 1,
  GSL_IEEE_TYPE_INF = 2,
  GSL_IEEE_TYPE_NORMAL = 3,
  GSL_IEEE_TYPE_DENORMAL = 4,
  GSL_IEEE_TYPE_ZERO = 5
} ;

typedef struct {
  int sign ;
  char mantissa[24] ;
  int exponent ;
  int type ;
} gsl_ieee_float_rep ;

typedef struct {
  int sign ;
  char mantissa[53] ;
  int exponent ;
  int type ;
} gsl_ieee_double_rep ;


void gsl_ieee_printf_float (const float * x) ;
void gsl_ieee_printf_double (const double * x) ;

void gsl_ieee_fprintf_float (FILE * stream, const float * x) ;
void gsl_ieee_fprintf_double (FILE * stream, const double * x) ;

void gsl_ieee_float_to_rep (const float * x, gsl_ieee_float_rep * r) ;
void gsl_ieee_double_to_rep (const double * x, gsl_ieee_double_rep * r) ;

enum {
  GSL_IEEE_SINGLE_PRECISION = 1,
  GSL_IEEE_DOUBLE_PRECISION = 2,
  GSL_IEEE_EXTENDED_PRECISION = 3
} ;

enum {
  GSL_IEEE_ROUND_TO_NEAREST = 1,
  GSL_IEEE_ROUND_DOWN = 2,
  GSL_IEEE_ROUND_UP = 3,
  GSL_IEEE_ROUND_TO_ZERO = 4
} ;

enum {
  GSL_IEEE_MASK_INVALID = 1,
  GSL_IEEE_MASK_DENORMALIZED = 2,
  GSL_IEEE_MASK_DIVISION_BY_ZERO = 4,
  GSL_IEEE_MASK_OVERFLOW = 8,
  GSL_IEEE_MASK_UNDERFLOW = 16,
  GSL_IEEE_MASK_ALL = 31,
  GSL_IEEE_TRAP_INEXACT = 32
} ;

void gsl_ieee_env_setup (void) ;
int gsl_ieee_read_mode_string (const char * description, int * precision,
                               int * rounding, int * exception_mask) ;
int gsl_ieee_set_mode (int precision, int rounding, int exception_mask) ;


# 3 "test_rotg.c" 2
# 1 "../gsl/gsl_math.h" 1
# 22 "../gsl/gsl_math.h"
# 1 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/math.h" 1 3 4
# 24 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/math.h" 3 4
# 1 "/usr/include/architecture/ppc/math.h" 1 3 4
# 41 "/usr/include/architecture/ppc/math.h" 3 4
typedef float float_t;
typedef double double_t;
# 55 "/usr/include/architecture/ppc/math.h" 3 4
enum {
        FP_NAN = 1,
        FP_INFINITE = 2,
        FP_ZERO = 3,
        FP_NORMAL = 4,
        FP_SUBNORMAL = 5
};
# 76 "/usr/include/architecture/ppc/math.h" 3 4
extern unsigned int __math_errhandling ( void );
# 124 "/usr/include/architecture/ppc/math.h" 3 4
extern long __fpclassifyd( double x );
extern long __fpclassifyf( float x );
extern long __fpclassify( long double x );
# 136 "/usr/include/architecture/ppc/math.h" 3 4
extern long __isnormald( double x );
extern long __isnormalf( float x );
extern long __isnormal( long double x );
# 147 "/usr/include/architecture/ppc/math.h" 3 4
extern long __isfinited( double x );
extern long __isfinitef( float x );
extern long __isfinite( long double x );
# 159 "/usr/include/architecture/ppc/math.h" 3 4
extern long __isinfd( double x );
extern long __isinff( float x );
extern long __isinf( long double x );
# 171 "/usr/include/architecture/ppc/math.h" 3 4
extern long __isnand( double x );
extern long __isnanf( float x );
extern long __isnan( long double x );
# 183 "/usr/include/architecture/ppc/math.h" 3 4
extern long __signbitd( double x );
extern long __signbitf( float x );
extern long __signbitl( long double x );
# 200 "/usr/include/architecture/ppc/math.h" 3 4
extern double acos( double x );
extern double asin( double x );
extern double atan( double x );
extern double atan2( double y, double x );
extern double cos( double x );
extern double sin( double x );
extern double tan( double x );
extern double acosh( double x );
extern double asinh( double x );
extern double atanh( double x );
extern double cosh( double x );
extern double sinh( double x );
extern double tanh( double x );

extern double exp ( double x );
extern double exp2 ( double x );
extern double expm1 ( double x );
extern double log ( double x );
extern double log10 ( double x );
extern double log2 ( double x );
extern double log1p ( double x );

extern double logb ( double x );
extern float logbf ( float x );

extern double modf ( double x, double *iptr );
extern float modff ( float x, float *iptr );

extern double ldexp ( double value, int exp );
extern float ldexpf ( float value, int exp );

extern double frexp ( double value, int *eptr );
extern float frexpf ( float value, int *eptr );

extern int ilogb ( double x );
extern int ilogbf ( float x );

extern double scalbn ( double x, int n );
extern float scalbnf ( float x, int n );

extern double scalbln ( double x, long int n );
extern float scalblnf ( float x, long int n );

extern double fabs( double x );
extern float fabsf( float x );

extern double cbrt( double x );
extern double hypot ( double x, double y );
extern double pow ( double x, double y );
extern double sqrt( double x );

extern double erf( double x );
extern double erfc( double x );
extern double lgamma( double x );
extern double tgamma( double x );

extern double ceil ( double x );
extern float ceilf ( float x );

extern double floor ( double x );
extern float floorf ( float x );

extern double nearbyint ( double x );
extern float nearbyintf ( float x );

extern double rint ( double x );
extern float rintf ( float x );

extern long int lrint ( double x );
extern long int lrintf ( float x );

extern long long int llrint ( double x );
extern long long int llrintf ( float x );

extern double round ( double x );
extern float roundf ( float x );

extern long int lround ( double x );
extern long int lroundf ( float x );

extern long long int llround ( double x );
extern long long int llroundf ( float x );

extern double trunc ( double x );
extern float truncf ( float x );

extern double fmod ( double x, double y );
extern float fmodf ( float x, float y );

extern double remainder ( double x, double y );
extern float remainderf ( float x, float y );

extern double remquo ( double x, double y, int *quo );
extern float remquof ( float x, float y, int *quo );

extern double copysign ( double x, double y );
extern float copysignf ( float x, float y );

extern double nan( const char *tagp );
extern float nanf( const char *tagp );

extern double nextafter ( double x, double y );
extern float nextafterf ( float x, float y );

extern double fdim ( double x, double y );
extern float fdimf ( float x, float y );

extern double fmax ( double x, double y );
extern float fmaxf ( float x, float y );

extern double fmin ( double x, double y );
extern float fminf ( float x, float y );

extern double fma ( double x, double y, double z );
extern float fmaf ( float x, float y, float z );
# 323 "/usr/include/architecture/ppc/math.h" 3 4
extern double __inf( void );
extern float __inff( void );
extern float __nan( void );






extern long int rinttol ( double x );

extern long int roundtol ( double x );

typedef struct _complx {
        double Real;
        double Imag;
} _complex;
# 360 "/usr/include/architecture/ppc/math.h" 3 4
extern int signgam;


enum fdversion {fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix};
# 375 "/usr/include/architecture/ppc/math.h" 3 4
extern enum fdversion _fdlib_version;







struct exception {
        int type;
        char *name;
        double arg1;
        double arg2;
        double retval;
};
# 412 "/usr/include/architecture/ppc/math.h" 3 4
extern int finite ( double x );

extern double gamma ( double x );

extern double j0 ( double x );
extern double j1 ( double x );
extern double jn ( int n, double x );

extern double y0 ( double x );
extern double y1 ( double x );
extern double yn ( int n, double x );



extern double scalb ( double x, int n );


extern int matherr ( struct exception * );





extern double significand ( double x );




extern double cabs ( _complex z );

extern double drem ( double x, double y );
# 25 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/math.h" 2 3 4
# 23 "../gsl/gsl_math.h" 2
# 1 "../gsl/gsl_sys.h" 1
# 33 "../gsl/gsl_sys.h"


double gsl_log1p (const double x);
double gsl_expm1 (const double x);
double gsl_hypot (const double x, const double y);
double gsl_acosh (const double x);
double gsl_asinh (const double x);
double gsl_atanh (const double x);

int gsl_isnan (const double x);
int gsl_isinf (const double x);
int gsl_finite (const double x);

double gsl_nan (void);
double gsl_posinf (void);
double gsl_neginf (void);
double gsl_fdiv (const double x, const double y);

double gsl_coerce_double (const double x);
float gsl_coerce_float (const float x);
long double gsl_coerce_long_double (const long double x);

double gsl_ldexp(const double x, const int e);
double gsl_frexp(const double x, int * e);

int gsl_fcmp (const double x1, const double x2, const double epsilon);


# 24 "../gsl/gsl_math.h" 2
# 1 "../gsl/gsl_machine.h" 1




# 1 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h"
1 3 4
# 11 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h" 3 4
# 1
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/syslimits.h" 1 3 4






# 1 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h"
1 3 4
# 122
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 62 "/usr/include/limits.h" 3 4
# 1 "/usr/include/machine/limits.h" 1 3 4





# 1 "/usr/include/ppc/limits.h" 1 3 4
# 7 "/usr/include/machine/limits.h" 2 3 4
# 63 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/sys/syslimits.h" 1 3 4
# 64 "/usr/include/limits.h" 2 3 4
# 123
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h" 2 3 4
# 8
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/syslimits.h" 2 3 4
# 12 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/limits.h"
2 3 4
# 6 "../gsl/gsl_machine.h" 2
# 1 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/float.h" 1 3 4
# 7 "../gsl/gsl_machine.h" 2
# 25 "../gsl/gsl_math.h" 2
# 1 "../gsl/gsl_precision.h" 1
# 24 "../gsl/gsl_precision.h"
# 1 "../gsl/gsl_types.h" 1
# 25 "../gsl/gsl_precision.h" 2
# 36 "../gsl/gsl_precision.h"






typedef unsigned int gsl_prec_t;
# 56 "../gsl/gsl_precision.h"
extern const double gsl_prec_eps[];
extern const double gsl_prec_sqrt_eps[];
extern const double gsl_prec_root3_eps[];
extern const double gsl_prec_root4_eps[];
extern const double gsl_prec_root5_eps[];
extern const double gsl_prec_root6_eps[];



# 26 "../gsl/gsl_math.h" 2
# 1 "../gsl/gsl_nan.h" 1
# 27 "../gsl/gsl_math.h" 2
# 1 "../gsl/gsl_pow_int.h" 1
# 33 "../gsl/gsl_pow_int.h"

# 54 "../gsl/gsl_pow_int.h"
double gsl_pow_2(const double x);
double gsl_pow_3(const double x);
double gsl_pow_4(const double x);
double gsl_pow_5(const double x);
double gsl_pow_6(const double x);
double gsl_pow_7(const double x);
double gsl_pow_8(const double x);
double gsl_pow_9(const double x);


double gsl_pow_int(double x, int n);


# 28 "../gsl/gsl_math.h" 2
# 108 "../gsl/gsl_math.h"

# 126 "../gsl/gsl_math.h"
double gsl_max (double a, double b);
double gsl_min (double a, double b);
# 185 "../gsl/gsl_math.h"
struct gsl_function_struct
{
  double (* function) (double x, void * params);
  void * params;
};

typedef struct gsl_function_struct gsl_function ;





struct gsl_function_fdf_struct
{
  double (* f) (double x, void * params);
  double (* df) (double x, void * params);
  void (* fdf) (double x, void * params, double * f, double * df);
  void * params;
};

typedef struct gsl_function_fdf_struct gsl_function_fdf ;
# 214 "../gsl/gsl_math.h"
struct gsl_function_vec_struct
{
  int (* function) (double x, double y[], void * params);
  void * params;
};

typedef struct gsl_function_vec_struct gsl_function_vec ;




# 4 "test_rotg.c" 2
# 1 "../gsl/gsl_cblas.h" 1
# 27 "../gsl/gsl_cblas.h"
# 1 "/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/stddef.h"
1 3 4
# 151
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 294
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/stddef.h" 3 4
typedef int rune_t;
# 325
"/usr/gcc/gcc-3.3/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/include/stddef.h" 3 4
typedef int wchar_t;
# 28 "../gsl/gsl_cblas.h" 2
# 39 "../gsl/gsl_cblas.h"







enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};






float cblas_sdsdot(const int N, const float alpha, const float *X,
                    const int incX, const float *Y, const int incY);
double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
                   const int incY);
float cblas_sdot(const int N, const float *X, const int incX,
                  const float *Y, const int incY);
double cblas_ddot(const int N, const double *X, const int incX,
                  const double *Y, const int incY);




void cblas_cdotu_sub(const int N, const void *X, const int incX,
                       const void *Y, const int incY, void *dotu);
void cblas_cdotc_sub(const int N, const void *X, const int incX,
                       const void *Y, const int incY, void *dotc);

void cblas_zdotu_sub(const int N, const void *X, const int incX,
                       const void *Y, const int incY, void *dotu);
void cblas_zdotc_sub(const int N, const void *X, const int incX,
                       const void *Y, const int incY, void *dotc);





float cblas_snrm2(const int N, const float *X, const int incX);
float cblas_sasum(const int N, const float *X, const int incX);

double cblas_dnrm2(const int N, const double *X, const int incX);
double cblas_dasum(const int N, const double *X, const int incX);

float cblas_scnrm2(const int N, const void *X, const int incX);
float cblas_scasum(const int N, const void *X, const int incX);

double cblas_dznrm2(const int N, const void *X, const int incX);
double cblas_dzasum(const int N, const void *X, const int incX);





size_t cblas_isamax(const int N, const float *X, const int incX);
size_t cblas_idamax(const int N, const double *X, const int incX);
size_t cblas_icamax(const int N, const void *X, const int incX);
size_t cblas_izamax(const int N, const void *X, const int incX);
# 113 "../gsl/gsl_cblas.h"
void cblas_sswap(const int N, float *X, const int incX,
                 float *Y, const int incY);
void cblas_scopy(const int N, const float *X, const int incX,
                 float *Y, const int incY);
void cblas_saxpy(const int N, const float alpha, const float *X,
                 const int incX, float *Y, const int incY);

void cblas_dswap(const int N, double *X, const int incX,
                 double *Y, const int incY);
void cblas_dcopy(const int N, const double *X, const int incX,
                 double *Y, const int incY);
void cblas_daxpy(const int N, const double alpha, const double *X,
                 const int incX, double *Y, const int incY);

void cblas_cswap(const int N, void *X, const int incX,
                 void *Y, const int incY);
void cblas_ccopy(const int N, const void *X, const int incX,
                 void *Y, const int incY);
void cblas_caxpy(const int N, const void *alpha, const void *X,
                 const int incX, void *Y, const int incY);

void cblas_zswap(const int N, void *X, const int incX,
                 void *Y, const int incY);
void cblas_zcopy(const int N, const void *X, const int incX,
                 void *Y, const int incY);
void cblas_zaxpy(const int N, const void *alpha, const void *X,
                 const int incX, void *Y, const int incY);





void cblas_srotg(float *a, float *b, float *c, float *s);
void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
void cblas_srot(const int N, float *X, const int incX,
                float *Y, const int incY, const float c, const float s);
void cblas_srotm(const int N, float *X, const int incX,
                float *Y, const int incY, const float *P);

void cblas_drotg(double *a, double *b, double *c, double *s);
void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
void cblas_drot(const int N, double *X, const int incX,
                double *Y, const int incY, const double c, const double s);
void cblas_drotm(const int N, double *X, const int incX,
                double *Y, const int incY, const double *P);





void cblas_sscal(const int N, const float alpha, float *X, const int incX);
void cblas_dscal(const int N, const double alpha, double *X, const int incX);
void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
void cblas_csscal(const int N, const float alpha, void *X, const int incX);
void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
# 179 "../gsl/gsl_cblas.h"
void cblas_sgemv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const float alpha, const float *A, const int lda,
                 const float *X, const int incX, const float beta,
                 float *Y, const int incY);
void cblas_sgbmv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const int KL, const int KU, const float alpha,
                 const float *A, const int lda, const float *X,
                 const int incX, const float beta, float *Y, const int incY);
void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const float *A, const int lda,
                 float *X, const int incX);
void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const float *A, const int lda,
                 float *X, const int incX);
void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const float *Ap, float *X, const int incX);
void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const float *A, const int lda, float *X,
                 const int incX);
void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const float *A, const int lda,
                 float *X, const int incX);
void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const float *Ap, float *X, const int incX);

void cblas_dgemv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const double alpha, const double *A, const int lda,
                 const double *X, const int incX, const double beta,
                 double *Y, const int incY);
void cblas_dgbmv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const int KL, const int KU, const double alpha,
                 const double *A, const int lda, const double *X,
                 const int incX, const double beta, double *Y, const int incY);
void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const double *A, const int lda,
                 double *X, const int incX);
void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const double *A, const int lda,
                 double *X, const int incX);
void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const double *Ap, double *X, const int incX);
void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const double *A, const int lda, double *X,
                 const int incX);
void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const double *A, const int lda,
                 double *X, const int incX);
void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const double *Ap, double *X, const int incX);

void cblas_cgemv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *X, const int incX, const void *beta,
                 void *Y, const int incY);
void cblas_cgbmv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const int KL, const int KU, const void *alpha,
                 const void *A, const int lda, const void *X,
                 const int incX, const void *beta, void *Y, const int incY);
void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *Ap, void *X, const int incX);
void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *A, const int lda, void *X,
                 const int incX);
void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *Ap, void *X, const int incX);

void cblas_zgemv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *X, const int incX, const void *beta,
                 void *Y, const int incY);
void cblas_zgbmv(const enum CBLAS_ORDER order,
                 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
                 const int KL, const int KU, const void *alpha,
                 const void *A, const int lda, const void *X,
                 const int incX, const void *beta, void *Y, const int incY);
void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *Ap, void *X, const int incX);
void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *A, const int lda, void *X,
                 const int incX);
void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const int K, const void *A, const int lda,
                 void *X, const int incX);
void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
                 const int N, const void *Ap, void *X, const int incX);





void cblas_ssymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const float alpha, const float *A,
                 const int lda, const float *X, const int incX,
                 const float beta, float *Y, const int incY);
void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const int K, const float alpha, const float *A,
                 const int lda, const float *X, const int incX,
                 const float beta, float *Y, const int incY);
void cblas_sspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const float alpha, const float *Ap,
                 const float *X, const int incX,
                 const float beta, float *Y, const int incY);
void cblas_sger(const enum CBLAS_ORDER order, const int M, const int N,
                const float alpha, const float *X, const int incX,
                const float *Y, const int incY, float *A, const int lda);
void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const float *X,
                const int incX, float *A, const int lda);
void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const float *X,
                const int incX, float *Ap);
void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const float *X,
                const int incX, const float *Y, const int incY, float *A,
                const int lda);
void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const float *X,
                const int incX, const float *Y, const int incY, float *A);

void cblas_dsymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const double alpha, const double *A,
                 const int lda, const double *X, const int incX,
                 const double beta, double *Y, const int incY);
void cblas_dsbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const int K, const double alpha, const double *A,
                 const int lda, const double *X, const int incX,
                 const double beta, double *Y, const int incY);
void cblas_dspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const double alpha, const double *Ap,
                 const double *X, const int incX,
                 const double beta, double *Y, const int incY);
void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N,
                const double alpha, const double *X, const int incX,
                const double *Y, const int incY, double *A, const int lda);
void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const double *X,
                const int incX, double *A, const int lda);
void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const double *X,
                const int incX, double *Ap);
void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const double *X,
                const int incX, const double *Y, const int incY, double *A,
                const int lda);
void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const double *X,
                const int incX, const double *Y, const int incY, double *A);





void cblas_chemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const void *alpha, const void *A,
                 const int lda, const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_chbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const int K, const void *alpha, const void *A,
                 const int lda, const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_chpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const void *alpha, const void *Ap,
                 const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_cgeru(const enum CBLAS_ORDER order, const int M, const int N,
                 const void *alpha, const void *X, const int incX,
                 const void *Y, const int incY, void *A, const int lda);
void cblas_cgerc(const enum CBLAS_ORDER order, const int M, const int N,
                 const void *alpha, const void *X, const int incX,
                 const void *Y, const int incY, void *A, const int lda);
void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const void *X, const int incX,
                void *A, const int lda);
void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const float alpha, const void *X,
                const int incX, void *A);
void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const
int N,
                const void *alpha, const void *X, const int incX,
                const void *Y, const int incY, void *A, const int lda);
void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const
int N,
                const void *alpha, const void *X, const int incX,
                const void *Y, const int incY, void *Ap);

void cblas_zhemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const void *alpha, const void *A,
                 const int lda, const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_zhbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const int K, const void *alpha, const void *A,
                 const int lda, const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_zhpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                 const int N, const void *alpha, const void *Ap,
                 const void *X, const int incX,
                 const void *beta, void *Y, const int incY);
void cblas_zgeru(const enum CBLAS_ORDER order, const int M, const int N,
                 const void *alpha, const void *X, const int incX,
                 const void *Y, const int incY, void *A, const int lda);
void cblas_zgerc(const enum CBLAS_ORDER order, const int M, const int N,
                 const void *alpha, const void *X, const int incX,
                 const void *Y, const int incY, void *A, const int lda);
void cblas_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const void *X, const int incX,
                void *A, const int lda);
void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
                const int N, const double alpha, const void *X,
                const int incX, void *A);
void cblas_zher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const
int N,
                const void *alpha, const void *X, const int incX,
                const void *Y, const int incY, void *A, const int lda);
void cblas_zhpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const
int N,
                const void *alpha, const void *X, const int incX,
                const void *Y, const int incY, void *Ap);
# 448 "../gsl/gsl_cblas.h"
void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
                 const int K, const float alpha, const float *A,
                 const int lda, const float *B, const int ldb,
                 const float beta, float *C, const int ldc);
void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const float alpha, const float *A, const int lda,
                 const float *B, const int ldb, const float beta,
                 float *C, const int ldc);
void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const float alpha, const float *A, const int lda,
                 const float beta, float *C, const int ldc);
void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const float alpha, const float *A, const int lda,
                  const float *B, const int ldb, const float beta,
                  float *C, const int ldc);
void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const float alpha, const float *A, const int lda,
                 float *B, const int ldb);
void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const float alpha, const float *A, const int lda,
                 float *B, const int ldb);

void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
                 const int K, const double alpha, const double *A,
                 const int lda, const double *B, const int ldb,
                 const double beta, double *C, const int ldc);
void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const double alpha, const double *A, const int lda,
                 const double *B, const int ldb, const double beta,
                 double *C, const int ldc);
void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const double alpha, const double *A, const int lda,
                 const double beta, double *C, const int ldc);
void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const double alpha, const double *A, const int lda,
                  const double *B, const int ldb, const double beta,
                  double *C, const int ldc);
void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const double alpha, const double *A, const int lda,
                 double *B, const int ldb);
void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const double alpha, const double *A, const int lda,
                 double *B, const int ldb);

void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
                 const int K, const void *alpha, const void *A,
                 const int lda, const void *B, const int ldb,
                 const void *beta, void *C, const int ldc);
void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *B, const int ldb, const void *beta,
                 void *C, const int ldc);
void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const void *alpha, const void *A, const int lda,
                 const void *beta, void *C, const int ldc);
void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const void *alpha, const void *A, const int lda,
                  const void *B, const int ldb, const void *beta,
                  void *C, const int ldc);
void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 void *B, const int ldb);
void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 void *B, const int ldb);

void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
                 const int K, const void *alpha, const void *A,
                 const int lda, const void *B, const int ldb,
                 const void *beta, void *C, const int ldc);
void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *B, const int ldb, const void *beta,
                 void *C, const int ldc);
void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const void *alpha, const void *A, const int lda,
                 const void *beta, void *C, const int ldc);
void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const void *alpha, const void *A, const int lda,
                  const void *B, const int ldb, const void *beta,
                  void *C, const int ldc);
void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 void *B, const int ldb);
void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_DIAG Diag, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 void *B, const int ldb);





void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *B, const int ldb, const void *beta,
                 void *C, const int ldc);
void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const float alpha, const void *A, const int lda,
                 const float beta, void *C, const int ldc);
void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const void *alpha, const void *A, const int lda,
                  const void *B, const int ldb, const float beta,
                  void *C, const int ldc);

void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
                 const enum CBLAS_UPLO Uplo, const int M, const int N,
                 const void *alpha, const void *A, const int lda,
                 const void *B, const int ldb, const void *beta,
                 void *C, const int ldc);
void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                 const double alpha, const void *A, const int lda,
                 const double beta, void *C, const int ldc);
void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
                  const void *alpha, const void *A, const int lda,
                  const void *B, const int ldb, const double beta,
                  void *C, const int ldc);

void cblas_xerbla(int p, const char *rout, const char *form, ...);


# 5 "test_rotg.c" 2

# 1 "tests.h" 1
void test_dot (void);
void test_nrm2 (void);
void test_asum (void);
void test_amax (void);
void test_axpy (void);
void test_copy (void);
void test_swap (void);
void test_scal (void);
void test_rotg (void);
void test_rot (void);
void test_rotmg (void);
void test_rotm (void);
void test_gemv (void);
void test_gbmv (void);
void test_trmv (void);
void test_tbmv (void);
void test_tpmv (void);
void test_symv (void);
void test_hemv (void);
void test_hbmv (void);
void test_sbmv (void);
void test_hpmv (void);
void test_spmv (void);
void test_trsv (void);
void test_tbsv (void);
void test_tpsv (void);
void test_ger (void);
void test_syr (void);
void test_her (void);
void test_hpr (void);
void test_spr (void);
void test_syr2 (void);
void test_spr2 (void);
void test_her2 (void);
void test_hpr2 (void);
void test_gemm (void);
void test_symm (void);
void test_hemm (void);
void test_syrk (void);
void test_herk (void);
void test_syr2k (void);
void test_her2k (void);
void test_trmm (void);
void test_trsm (void);
# 7 "test_rotg.c" 2

void
test_rotg (void) {
const double flteps = 1e-4, dbleps = 1e-6;
  {
   float a = -1.5f;
   float b = -1.5f;
   float c;
   float s;
   float r_expected = -2.12132034356f;
   float z_expected = 1.41421356237f;
   float c_expected = 0.707106781187f;
   float s_expected = 0.707106781187f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 166)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 167)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 168)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 169)");
  };


  {
   float a = -1.5f;
   float b = -1.0f;
   float c;
   float s;
   float r_expected = -1.80277563773f;
   float z_expected = 0.554700196225f;
   float c_expected = 0.832050294338f;
   float s_expected = 0.554700196225f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 170)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 171)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 172)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 173)");
  };


  {
   float a = -1.5f;
   float b = -0.1f;
   float c;
   float s;
   float r_expected = -1.50332963784f;
   float z_expected = 0.0665190105238f;
   float c_expected = 0.997785157857f;
   float s_expected = 0.0665190105238f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 174)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 175)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 176)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 177)");
  };


  {
   float a = -1.5f;
   float b = 0.0f;
   float c;
   float s;
   float r_expected = -1.5f;
   float z_expected = -0.0f;
   float c_expected = 1.0f;
   float s_expected = -0.0f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 178)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 179)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 180)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 181)");
  };


  {
   float a = -1.5f;
   float b = 0.1f;
   float c;
   float s;
   float r_expected = -1.50332963784f;
   float z_expected = -0.0665190105238f;
   float c_expected = 0.997785157857f;
   float s_expected = -0.0665190105238f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 182)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 183)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 184)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 185)");
  };


  {
   float a = -1.5f;
   float b = 1.0f;
   float c;
   float s;
   float r_expected = -1.80277563773f;
   float z_expected = -0.554700196225f;
   float c_expected = 0.832050294338f;
   float s_expected = -0.554700196225f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 186)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 187)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 188)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 189)");
  };


  {
   float a = -1.5f;
   float b = 1.5f;
   float c;
   float s;
   float r_expected = 2.12132034356f;
   float z_expected = -1.41421356237f;
   float c_expected = -0.707106781187f;
   float s_expected = 0.707106781187f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 190)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 191)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 192)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 193)");
  };


  {
   float a = -1.0f;
   float b = -1.5f;
   float c;
   float s;
   float r_expected = -1.80277563773f;
   float z_expected = 1.80277563773f;
   float c_expected = 0.554700196225f;
   float s_expected = 0.832050294338f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 194)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 195)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 196)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 197)");
  };


  {
   float a = -1.0f;
   float b = -1.0f;
   float c;
   float s;
   float r_expected = -1.41421356237f;
   float z_expected = 1.41421356237f;
   float c_expected = 0.707106781187f;
   float s_expected = 0.707106781187f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 198)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 199)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 200)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 201)");
  };


  {
   float a = -1.0f;
   float b = -0.1f;
   float c;
   float s;
   float r_expected = -1.00498756211f;
   float z_expected = 0.099503719021f;
   float c_expected = 0.99503719021f;
   float s_expected = 0.099503719021f;
   cblas_srotg(&a, &b, &c, &s);
   gsl_test_rel(a, r_expected, flteps, "srotg(case 202)");
   gsl_test_rel(b, z_expected, flteps, "srotg(case 203)");
   gsl_test_rel(c, c_expected, flteps, "srotg(case 204)");
   gsl_test_rel(s, s_expected, flteps, "srotg(case 205)");
  };


/* JL - Much chopping */

}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]