Added more separation between sparse and the rest of the package.

This commit is contained in:
pnenzi 2003-08-13 13:00:12 +00:00
parent c741a14c4f
commit 9ee4064c46
5 changed files with 28 additions and 10 deletions

View File

@ -10,8 +10,9 @@ Author: 1985 Thomas L. Quarles
Modified: 2000 AlansFixes
**********/
#include "complex.h"
#include <stdio.h>
#include <math.h>
#include <complex.h>
int SMPaddElt( SMPmatrix *, int , int , double );
double * SMPmakeElt( SMPmatrix * , int , int );

View File

@ -6,7 +6,7 @@ Author: 1985 Thomas L. Quarles
#ifndef _SPERROR_H
#define _SPERROR_H
#include "ngspice.h"
//#include "ngspice.h"
#include "iferrmsg.h"
/*

View File

@ -378,7 +378,7 @@
* Grab from Spice include files
*/
#include "ngspice.h"
// #include "ngspice.h"
#define MACHINE_RESOLUTION DBL_EPSILON
#define LARGEST_REAL DBL_MAX
#define SMALLEST_REAL DBL_MIN

View File

@ -38,13 +38,15 @@
* IMPORTS
*/
#include <ngspice.h>
#include <stdio.h>
#include "complex.h"
#undef ABORT
#undef MALLOC
#undef FREE
#undef REALLOC
#undef CMPLX_MULT
#undef CMPLX_RECIPROCAL
@ -58,9 +60,13 @@
/* Begin macros. */
/* Boolean data type */
#define BOOLEAN int
#define NO 0
#define YES 1
#define NOT !
#define AND &&
#define OR ||
#define SPARSE_ID 0x772773 /* Arbitrary (is Sparse on phone). */
#define IS_SPARSE(matrix) ((matrix) != NULL && \
@ -248,6 +254,20 @@
(from_a).Imag * (from_b).Real; \
}
/* Complex reciprocation: to = 1.0 / den */
#define CMPLX_RECIPROCAL(to,den) \
{ RealNumber r_; \
if (((den).Real >= (den).Imag AND (den).Real > -(den).Imag) OR \
((den).Real < (den).Imag AND (den).Real <= -(den).Imag)) \
{ r_ = (den).Imag / (den).Real; \
(to).Imag = -r_*((to).Real = 1.0/((den).Real + r_*(den).Imag)); \
} \
else \
{ r_ = (den).Real / (den).Imag; \
(to).Real = -r_*((to).Imag = -1.0/((den).Imag + r_*(den).Real));\
} \
}
#define ALLOC(type,number) ((type *)tmalloc((unsigned)(sizeof(type)*(number))))
#define REALLOC(ptr,type,number) \
@ -267,9 +287,7 @@
}
#endif
#include "complex.h"
#include "defines.h"
/*

View File

@ -95,15 +95,14 @@
*/
#include <config.h>
#include <ngspice.h>
#include <assert.h>
#include <stdio.h>
#include <spmatrix.h>
#include "spdefs.h"
#include <smpdefs.h>
#include "spdefs.h"
static void LoadGmin(SMPmatrix *eMatrix, double Gmin);