ngspice/src/include/multi_line.h

67 lines
1.4 KiB
C

/*
* project.h
*
* Diagonalization by Successive Rotations Method
* (The Jacobi Method)
*
* Date: October 4, 1991
*
* Author: Shen Lin
*
* Copyright (C) University of California, Berkeley
*
*/
/************************************************************
*
* Macros
*
************************************************************/
#ifndef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
#endif
#ifndef MIN
#define MIN(x, y) ((x) < (y) ? (x) : (y))
#endif
#ifndef ABS
#define ABS(x) ((x) >= 0 ? (x) : (-(x)))
#endif
#ifndef SGN
#define SGN(x) ((x) >= 0 ? (1.0) : (-1.0))
#endif
/************************************************************
*
* Defines
*
************************************************************/
#define MAX_DIM 16
#define Title "Diagonalization of a Symmetric matrix A (A = S^-1 D S)\n"
#define Left_deg 7 /* should be greater than or equal to 6 */
#define Right_deg 2
/************************************************************
*
* Data Structure Definitions
*
************************************************************/
typedef struct linked_list_of_max_entry{
struct linked_list_of_max_entry *next;
int row, col;
double value;
} MAXE, *MAXE_PTR;
typedef struct {
double *Poly[MAX_DIM];
double C_0[MAX_DIM];
} Mult_Out;
typedef struct {
double *Poly;
double C_0;
} Single_Out;