You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.2 KiB
146 lines
3.2 KiB
/**********
|
|
Copyright 1992 Regents of the University of California. All rights reserved.
|
|
Author: 1992 David A. Gates, U. C. Berkeley CAD Group
|
|
Modified: 2001 Paolo Nenzi
|
|
**********/
|
|
|
|
#include "ngspice/ngspice.h"
|
|
#include "ngspice/cktdefs.h"
|
|
#include "ngspice/numenum.h"
|
|
#include "ngspice/outpdefs.h"
|
|
#include "ngspice/sperror.h"
|
|
#include "ngspice/suffix.h"
|
|
|
|
extern int OUTPcheck( OUTPcard * );
|
|
extern int OUTPsetup( OUTPcard * );
|
|
|
|
|
|
/*
|
|
* Name: OUTPcheck
|
|
* Purpose: checks a list of OUTPcards for input errors, sets defaults
|
|
* Formals: cardList: the list to check
|
|
* Returns: OK/E_PRIVATE
|
|
* Users: numerical device setup routines, output routines
|
|
* Calls: error message handler
|
|
*/
|
|
int
|
|
OUTPcheck(OUTPcard *cardList)
|
|
{
|
|
OUTPcard *card;
|
|
int cardNum = 0;
|
|
|
|
for ( card = cardList; card != NULL; card = card->OUTPnextCard ) {
|
|
cardNum++;
|
|
|
|
card->OUTPnumVars = -1;
|
|
|
|
if ( !card->OUTPdcDebugGiven ) {
|
|
card->OUTPdcDebug = FALSE;
|
|
}
|
|
if ( !card->OUTPtranDebugGiven ) {
|
|
card->OUTPtranDebug = FALSE;
|
|
}
|
|
if ( !card->OUTPacDebugGiven ) {
|
|
card->OUTPacDebug = FALSE;
|
|
}
|
|
if ( !card->OUTPgeomGiven ) {
|
|
card->OUTPgeom = FALSE;
|
|
}
|
|
if ( !card->OUTPmeshGiven ) {
|
|
card->OUTPmesh = FALSE;
|
|
}
|
|
if ( !card->OUTPmaterialGiven ) {
|
|
card->OUTPmaterial = FALSE;
|
|
}
|
|
if ( !card->OUTPglobalsGiven ) {
|
|
card->OUTPglobals = FALSE;
|
|
}
|
|
if ( !card->OUTPstatsGiven ) {
|
|
card->OUTPstats = TRUE;
|
|
}
|
|
if ( !card->OUTProotFileGiven ) {
|
|
card->OUTProotFile = copy("");
|
|
}
|
|
if ( !card->OUTPfileTypeGiven ) {
|
|
card->OUTPfileType = RAWFILE;
|
|
}
|
|
if ( !card->OUTPdopingGiven ) {
|
|
card->OUTPdoping = TRUE;
|
|
}
|
|
if ( !card->OUTPpsiGiven ) {
|
|
card->OUTPpsi = TRUE;
|
|
}
|
|
if ( !card->OUTPequPsiGiven ) {
|
|
card->OUTPequPsi = FALSE;
|
|
}
|
|
if ( !card->OUTPvacPsiGiven ) {
|
|
card->OUTPvacPsi = FALSE;
|
|
}
|
|
if ( !card->OUTPnConcGiven ) {
|
|
card->OUTPnConc = TRUE;
|
|
}
|
|
if ( !card->OUTPpConcGiven ) {
|
|
card->OUTPpConc = TRUE;
|
|
}
|
|
if ( !card->OUTPphinGiven ) {
|
|
card->OUTPphin = FALSE;
|
|
}
|
|
if ( !card->OUTPphipGiven ) {
|
|
card->OUTPphip = FALSE;
|
|
}
|
|
if ( !card->OUTPphicGiven ) {
|
|
card->OUTPphic = FALSE;
|
|
}
|
|
if ( !card->OUTPphivGiven ) {
|
|
card->OUTPphiv = FALSE;
|
|
}
|
|
if ( !card->OUTPeFieldGiven ) {
|
|
card->OUTPeField = TRUE;
|
|
}
|
|
if ( !card->OUTPjcGiven ) {
|
|
card->OUTPjc = FALSE;
|
|
}
|
|
if ( !card->OUTPjdGiven ) {
|
|
card->OUTPjd = TRUE;
|
|
}
|
|
if ( !card->OUTPjnGiven ) {
|
|
card->OUTPjn = TRUE;
|
|
}
|
|
if ( !card->OUTPjpGiven ) {
|
|
card->OUTPjp = TRUE;
|
|
}
|
|
if ( !card->OUTPjtGiven ) {
|
|
card->OUTPjt = FALSE;
|
|
}
|
|
if ( !card->OUTPuNetGiven ) {
|
|
card->OUTPuNet = FALSE;
|
|
}
|
|
if ( !card->OUTPmunGiven ) {
|
|
card->OUTPmun = FALSE;
|
|
}
|
|
if ( !card->OUTPmupGiven ) {
|
|
card->OUTPmup = FALSE;
|
|
}
|
|
}
|
|
return(OK);
|
|
}
|
|
|
|
|
|
/*
|
|
* Name: OUTPsetup
|
|
* Purpose: setup the output card
|
|
* Formals: cardList: list of cards to setup
|
|
* Returns: OK/E_PRIVATE
|
|
* Users: numerical devices
|
|
* Calls: OUTPcheck
|
|
*/
|
|
int
|
|
OUTPsetup(OUTPcard *cardList)
|
|
{
|
|
int error;
|
|
|
|
/* Check the card list */
|
|
if ((error = OUTPcheck( cardList )) != 0) return( error );
|
|
|
|
return( OK );
|
|
}
|