diff --git a/src/ciderlib/input/bdryset.c b/src/ciderlib/input/bdryset.c index 7a5050a82..6a0aaba11 100644 --- a/src/ciderlib/input/bdryset.c +++ b/src/ciderlib/input/bdryset.c @@ -32,54 +32,54 @@ BDRYcheck(BDRYcard *cardList, DOMNdomain *domnList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(BDRYcard); card = card->BDRYnextCard ) { + for ( card = cardList; card != NULL; card = card->BDRYnextCard ) { cardNum++; if (card->BDRYxLowGiven && card->BDRYixLowGiven) { sprintf( ebuf, "boundary card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->BDRYxLowGiven = FALSE; } if (card->BDRYxHighGiven && card->BDRYixHighGiven) { sprintf( ebuf, "boundary card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->BDRYxHighGiven = FALSE; } if (card->BDRYyLowGiven && card->BDRYiyLowGiven) { sprintf( ebuf, "boundary card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->BDRYyLowGiven = FALSE; } if (card->BDRYyHighGiven && card->BDRYiyHighGiven) { sprintf( ebuf, "boundary card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->BDRYyHighGiven = FALSE; } if (!card->BDRYdomainGiven) { sprintf( ebuf, "boundary card %d is missing a domain index", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } else { /* Make sure the domain exists */ - for ( domn = domnList; domn != NIL(DOMNdomain); domn = domn->next ) { + for ( domn = domnList; domn != NULL; domn = domn->next ) { if ( card->BDRYdomain == domn->id ) { break; } } - if (domn == NIL(DOMNdomain)) { + if (domn == NULL) { sprintf( ebuf, "boundary card %d specifies a non-existent domain", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } @@ -88,16 +88,16 @@ BDRYcheck(BDRYcard *cardList, DOMNdomain *domnList) card->BDRYneighbor = card->BDRYdomain; } else { /* Make sure the neighbor exists */ - for ( domn = domnList; domn != NIL(DOMNdomain); domn = domn->next ) { + for ( domn = domnList; domn != NULL; domn = domn->next ) { if ( card->BDRYneighbor == domn->id ) { break; } } - if (domn == NIL(DOMNdomain)) { + if (domn == NULL) { sprintf( ebuf, "interface card %d specifies a non-existent domain", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } @@ -150,7 +150,7 @@ BDRYsetup(BDRYcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList,DOMNdom MESHiBounds( yMeshList, &iyMin, &iyMax ); error = OK; - for ( card = cardList; card != NIL(BDRYcard); card = card->BDRYnextCard ) { + for ( card = cardList; card != NULL; card = card->BDRYnextCard ) { cardNum++; if (card->BDRYixLowGiven) { @@ -175,7 +175,7 @@ BDRYsetup(BDRYcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList,DOMNdom sprintf( ebuf, "boundary card %d has low x index (%d) > high x index (%d)", cardNum, card->BDRYixHigh, card->BDRYixLow ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } if (card->BDRYiyLowGiven) { @@ -200,7 +200,7 @@ BDRYsetup(BDRYcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList,DOMNdom sprintf( ebuf, "boundary card %d has low y index (%d) > high y index (%d)", cardNum, card->BDRYiyHigh, card->BDRYiyLow ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } diff --git a/src/ciderlib/input/contset.c b/src/ciderlib/input/contset.c index 6584aee61..85ba91f1a 100644 --- a/src/ciderlib/input/contset.c +++ b/src/ciderlib/input/contset.c @@ -32,13 +32,13 @@ CONTcheck(CONTcard *cardList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(CONTcard); card = card->CONTnextCard ) { + for ( card = cardList; card != NULL; card = card->CONTnextCard ) { cardNum++; if (!card->CONTnumberGiven) { sprintf( ebuf, "contact card %d is missing an electrode index", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } @@ -69,10 +69,10 @@ CONTsetup(CONTcard *cardList, ELCTelectrode *electrodeList) /* Check the card list */ if ((error = CONTcheck( cardList )) != 0) return( error ); - for ( card = cardList; card != NIL(CONTcard); card = card->CONTnextCard ) { + for ( card = cardList; card != NULL; card = card->CONTnextCard ) { /* Copy workfunction to all matching electrodes */ - for ( electrode = electrodeList; electrode != NIL(ELCTelectrode); + for ( electrode = electrodeList; electrode != NULL; electrode = electrode->next ) { if ( card->CONTnumber == electrode->id ) { if ( card->CONTworkfunGiven ) { diff --git a/src/ciderlib/input/domnset.c b/src/ciderlib/input/domnset.c index c519b11cc..d803a0d83 100644 --- a/src/ciderlib/input/domnset.c +++ b/src/ciderlib/input/domnset.c @@ -37,54 +37,54 @@ DOMNcheck(DOMNcard *cardList, MaterialInfo *matlList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(DOMNcard); card = card->DOMNnextCard ) { + for ( card = cardList; card != NULL; card = card->DOMNnextCard ) { cardNum++; if (card->DOMNxLowGiven && card->DOMNixLowGiven) { sprintf( ebuf, "domain card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->DOMNxLowGiven = FALSE; } if (card->DOMNxHighGiven && card->DOMNixHighGiven) { sprintf( ebuf, "domain card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->DOMNxHighGiven = FALSE; } if (card->DOMNyLowGiven && card->DOMNiyLowGiven) { sprintf( ebuf, "domain card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->DOMNyLowGiven = FALSE; } if (card->DOMNyHighGiven && card->DOMNiyHighGiven) { sprintf( ebuf, "domain card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->DOMNyHighGiven = FALSE; } if (!card->DOMNmaterialGiven) { sprintf( ebuf, "domain card %d is missing a material index", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } else { /* Make sure the material exists */ - for ( matl = matlList; matl != NIL(MATLmaterial); matl = matl->next ) { + for ( matl = matlList; matl != NULL; matl = matl->next ) { if ( card->DOMNmaterial == matl->id ) { break; } } - if (matl == NIL(MATLmaterial)) { + if (matl == NULL) { sprintf( ebuf, "domain card %d specifies a non-existent material", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } @@ -92,7 +92,7 @@ DOMNcheck(DOMNcard *cardList, MaterialInfo *matlList) sprintf( ebuf, "domain card %d is missing an ID number", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } @@ -127,7 +127,7 @@ DOMNsetup(DOMNcard *cardList, DOMNdomain **domainList, MESHcoord *xMeshList, char ebuf[512]; /* error message buffer */ /* Initialize list of domains */ - *domainList = NIL(DOMNdomain); + *domainList = NULL; /* Check the card list */ if ((error = DOMNcheck( cardList, materialList )) != 0) return( error ); @@ -137,10 +137,10 @@ DOMNsetup(DOMNcard *cardList, DOMNdomain **domainList, MESHcoord *xMeshList, MESHiBounds( yMeshList, &iyMin, &iyMax ); error = OK; - for ( card = cardList; card != NIL(DOMNcard); card = card->DOMNnextCard ) { + for ( card = cardList; card != NULL; card = card->DOMNnextCard ) { cardNum++; - if (*domainList == NIL(DOMNdomain)) { + if (*domainList == NULL) { RALLOC( newDomain, DOMNdomain, 1 ); *domainList = newDomain; } else { @@ -150,7 +150,7 @@ DOMNsetup(DOMNcard *cardList, DOMNdomain **domainList, MESHcoord *xMeshList, newDomain->id = card->DOMNnumber; newDomain->material = card->DOMNmaterial; - newDomain->next = NIL(DOMNdomain); + newDomain->next = NULL; if (card->DOMNixLowGiven) { newDomain->ixLo = MAX(card->DOMNixLow, ixMin); @@ -174,7 +174,7 @@ DOMNsetup(DOMNcard *cardList, DOMNdomain **domainList, MESHcoord *xMeshList, sprintf( ebuf, "domain card %d has low x index (%d) > high x index (%d)", cardNum, newDomain->ixLo, newDomain->ixHi ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } if (card->DOMNiyLowGiven) { @@ -199,7 +199,7 @@ DOMNsetup(DOMNcard *cardList, DOMNdomain **domainList, MESHcoord *xMeshList, sprintf( ebuf, "domain card %d has low y index (%d) > high y index (%d)", cardNum, newDomain->iyLo, newDomain->iyHi ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } diff --git a/src/ciderlib/input/dopset.c b/src/ciderlib/input/dopset.c index c74f02c2c..36d729c56 100644 --- a/src/ciderlib/input/dopset.c +++ b/src/ciderlib/input/dopset.c @@ -37,17 +37,17 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(DOPcard); card = card->DOPnextCard ) { + for ( card = cardList; card != NULL; card = card->DOPnextCard ) { cardNum++; if (!card->DOPdomainsGiven) { card->DOPnumDomains = 0; - card->DOPdomains = NIL(int); + card->DOPdomains = NULL; } if (!card->DOPprofileTypeGiven) { sprintf( ebuf, "doping card %d does not specify profile type", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } else switch (card->DOPprofileType) { case DOP_UNIF: @@ -55,7 +55,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs conc of uniform distribution", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -64,7 +64,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs peak conc of linear distribution", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -73,7 +73,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs peak conc of gaussian distribution", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -82,7 +82,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs peak conc of error-function distribution", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -91,7 +91,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs peak conc of exponential distribution", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -101,7 +101,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs input-file name of suprem3 data", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -110,7 +110,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d needs input-file name of ascii data", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } break; @@ -118,7 +118,7 @@ DOPcheck(DOPcard *cardList, MESHcoord *xMeshList, MESHcoord *yMeshList) sprintf( ebuf, "doping card %d has unrecognized profile type", cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, ebuf, NULL ); error = E_NOTFOUND; break; } @@ -203,7 +203,7 @@ DOPsetup(DOPcard *cardList, DOPprofile **profileList, DOPtable **tableList, int error, xProfUnif, yProfUnif; /* Initialize list of profiles */ - *profileList = endProfile = NIL(DOPprofile); + *profileList = endProfile = NULL; /* Check the card list */ if ((error = DOPcheck( cardList, xMeshList, yMeshList )) != 0) return( error ); @@ -212,9 +212,9 @@ DOPsetup(DOPcard *cardList, DOPprofile **profileList, DOPtable **tableList, MESHlBounds( xMeshList, &xMin, &xMax ); MESHlBounds( yMeshList, &yMin, &yMax ); - for ( card = cardList; card != NIL(DOPcard); card = card->DOPnextCard ) { + for ( card = cardList; card != NULL; card = card->DOPnextCard ) { - if (*profileList == NIL(DOPprofile)) { + if (*profileList == NULL) { RALLOC( newProfile, DOPprofile, 1 ); *profileList = newProfile; } @@ -222,7 +222,7 @@ DOPsetup(DOPcard *cardList, DOPprofile **profileList, DOPtable **tableList, RALLOC( newProfile->next, DOPprofile, 1 ); newProfile = newProfile->next; } - newProfile->next = NIL(DOPprofile); + newProfile->next = NULL; newProfile->numDomains = card->DOPnumDomains; if ( newProfile->numDomains > 0 ) { @@ -233,7 +233,7 @@ DOPsetup(DOPcard *cardList, DOPprofile **profileList, DOPtable **tableList, } } else { - newProfile->domains = NIL(int); + newProfile->domains = NULL; } if ( card->DOPimpurityType == IMP_P_TYPE ) { diff --git a/src/ciderlib/input/elctset.c b/src/ciderlib/input/elctset.c index ca934a723..f9fa9084b 100644 --- a/src/ciderlib/input/elctset.c +++ b/src/ciderlib/input/elctset.c @@ -34,34 +34,34 @@ ELCTcheck(ELCTcard *cardList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(ELCTcard); card = card->ELCTnextCard ) { + for ( card = cardList; card != NULL; card = card->ELCTnextCard ) { cardNum++; if (card->ELCTxLowGiven && card->ELCTixLowGiven) { sprintf( ebuf, "electrode card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->ELCTxLowGiven = FALSE; } if (card->ELCTxHighGiven && card->ELCTixHighGiven) { sprintf( ebuf, "electrode card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->ELCTxHighGiven = FALSE; } if (card->ELCTyLowGiven && card->ELCTiyLowGiven) { sprintf( ebuf, "electrode card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->ELCTyLowGiven = FALSE; } if (card->ELCTyHighGiven && card->ELCTiyHighGiven) { sprintf( ebuf, "electrode card %d uses both location and index - location ignored", cardNum ); - SPfrontEnd->IFerror( ERR_INFO, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, ebuf, NULL ); card->ELCTyHighGiven = FALSE; } if (!card->ELCTnumberGiven) { @@ -98,7 +98,7 @@ ELCTsetup(ELCTcard *cardList, ELCTelectrode **electrodeList, char ebuf[512]; /* error message buffer */ /* Initialize list of electrodes */ - *electrodeList = NIL(ELCTelectrode); + *electrodeList = NULL; /* Check the card list */ if ((error = ELCTcheck( cardList )) != 0) return( error ); @@ -108,17 +108,17 @@ ELCTsetup(ELCTcard *cardList, ELCTelectrode **electrodeList, MESHiBounds( yMeshList, &iyMin, &iyMax ); error = OK; - for ( card = cardList; card != NIL(ELCTcard); card = card->ELCTnextCard ) { + for ( card = cardList; card != NULL; card = card->ELCTnextCard ) { cardNum++; - if (*electrodeList == NIL(ELCTelectrode)) { + if (*electrodeList == NULL) { RALLOC( newElectrode, ELCTelectrode, 1 ); *electrodeList = newElectrode; } else { RALLOC( newElectrode->next, ELCTelectrode, 1 ); newElectrode = newElectrode->next; } - newElectrode->next = NIL(ELCTelectrode); + newElectrode->next = NULL; newElectrode->id = card->ELCTnumber; newElectrode->workf = 4.10 /* electron volts */; @@ -144,7 +144,7 @@ ELCTsetup(ELCTcard *cardList, ELCTelectrode **electrodeList, sprintf( ebuf, "electrode card %d has low x index (%d) > high x index (%d)", cardNum, newElectrode->ixLo, newElectrode->ixHi ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } if (card->ELCTiyLowGiven) { @@ -169,7 +169,7 @@ ELCTsetup(ELCTcard *cardList, ELCTelectrode **electrodeList, sprintf( ebuf, "electrode card %d has low y index (%d) > high y index (%d)", cardNum, newElectrode->iyLo, newElectrode->iyHi ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } diff --git a/src/ciderlib/input/matlset.c b/src/ciderlib/input/matlset.c index 75e50171c..0490b059b 100644 --- a/src/ciderlib/input/matlset.c +++ b/src/ciderlib/input/matlset.c @@ -33,7 +33,7 @@ int int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(MATLcard); card = card->MATLnextCard ) { + for ( card = cardList; card != NULL; card = card->MATLnextCard ) { cardNum++; if( !card->MATLmaterialGiven ) { @@ -43,7 +43,7 @@ int sprintf( ebuf, "material card %d is missing an id number", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } @@ -58,7 +58,7 @@ int sprintf( ebuf, "material cards %d and %d use same id %d", cardNum2, cardNum, card->MATLnumber ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } @@ -87,14 +87,14 @@ int int error; /* Initialize list of electrodes */ - *materialList = NIL(MATLmaterial); + *materialList = NULL; /* Check the card list */ if ((error = MATLcheck( cardList )) != 0) return( error ); - for ( card = cardList; card != NIL(MATLcard); card = card->MATLnextCard ) { + for ( card = cardList; card != NULL; card = card->MATLnextCard ) { - if (*materialList == NIL(MATLmaterial)) { + if (*materialList == NULL) { RALLOC( newMaterial, MATLmaterial, 1 ); *materialList = newMaterial; } @@ -102,7 +102,7 @@ int RALLOC( newMaterial->next, MATLmaterial, 1 ); newMaterial = newMaterial->next; } - newMaterial->next = NIL(MATLmaterial); + newMaterial->next = NULL; newMaterial->id = card->MATLnumber; newMaterial->material = card->MATLmaterial; diff --git a/src/ciderlib/input/meshset.c b/src/ciderlib/input/meshset.c index e46c8603c..0b7ae2ca4 100644 --- a/src/ciderlib/input/meshset.c +++ b/src/ciderlib/input/meshset.c @@ -53,7 +53,7 @@ MESHmkArray(MESHcoord *coordList, int numCoords) if ( numCoords <= 0 ) { numCoords = 0; - for ( coord = coordList; coord != NIL(MESHcoord); coord = coord->next ) { + for ( coord = coordList; coord != NULL; coord = coord->next ) { numCoords++; } } @@ -62,13 +62,13 @@ MESHmkArray(MESHcoord *coordList, int numCoords) numCoords = 0; array[ 0 ] = (double) numCoords; numCoords = 1; - for ( coord = coordList; coord != NIL(MESHcoord); coord = coord->next ) { + for ( coord = coordList; coord != NULL; coord = coord->next ) { array[ numCoords++ ] = coord->location; } return array; } else { - return NIL(double); + return NULL; } /* NOTREACHED */ } @@ -91,7 +91,7 @@ MESHiBounds(MESHcoord *coordList, int *ixMin, int *ixMax) if (coordList) { *ixMin = coordList->number; - for ( last = coordList; last->next != NIL(MESHcoord); last = last->next ) + for ( last = coordList; last->next != NULL; last = last->next ) ; *ixMax = last->number; } @@ -118,7 +118,7 @@ MESHlBounds(MESHcoord *coordList, double *lcMin, double *lcMax) if (coordList) { *lcMin = coordList->location; - for ( last = coordList; last->next != NIL(MESHcoord); last = last->next ) + for ( last = coordList; last->next != NULL; last = last->next ) ; *lcMax = last->location; } @@ -140,11 +140,11 @@ MESHlBounds(MESHcoord *coordList, double *lcMin, double *lcMax) int MESHlocate(MESHcoord *coordList, double location) { - MESHcoord *coord, *prevCoord = NIL(MESHcoord); + MESHcoord *coord, *prevCoord = NULL; int index; /* Find the coordinates which flank the location. */ - for ( coord = coordList; coord != NIL(MESHcoord); coord = coord->next ) { + for ( coord = coordList; coord != NULL; coord = coord->next ) { if ( coord->location > location ) break; prevCoord = coord; } @@ -191,16 +191,16 @@ MESHcheck(char dim, MESHcard *cardList) int error = OK; char errBuf[512]; - if ( cardList == NIL(MESHcard) ) { + if ( cardList == NULL ) { sprintf( errBuf, "%c.mesh card list is empty", dim ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); locEnd = locStart; return( E_PRIVATE ); } - for ( card = cardList; card != NIL(MESHcard); card = card->MESHnextCard ) { + for ( card = cardList; card != NULL; card = card->MESHnextCard ) { cardNum++; /* Am I trying to find number of nodes directly & indirectly? */ @@ -208,7 +208,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d uses both number and ratio - number ignored", dim, cardNum ); - SPfrontEnd->IFerror( ERR_INFO, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, errBuf, NULL ); card->MESHnumberGiven = FALSE; } @@ -218,7 +218,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d has no distances", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); locEnd = locStart; error = E_PRIVATE; } @@ -226,7 +226,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d uses both location and width - location ignored", dim, cardNum ); - SPfrontEnd->IFerror( ERR_INFO, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, errBuf, NULL ); card->MESHlocationGiven = FALSE; locEnd = locStart + card->MESHwidth; @@ -244,7 +244,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d uses negative width", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } @@ -254,7 +254,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d has negligible width - ignored", dim, cardNum ); - SPfrontEnd->IFerror( ERR_INFO, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, errBuf, NULL ); locStart = locEnd; } } @@ -270,7 +270,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d has ratio out of range - reset to 1.0", dim, cardNum ); - SPfrontEnd->IFerror( ERR_INFO, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_INFO, errBuf, NULL ); ratio = 1.0; } @@ -281,7 +281,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d wants to use a non-positive spacing", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } @@ -292,7 +292,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d needs to use one of h.start or h.end with h.max", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } else if (card->MESHhMaxGiven && card->MESHhStartGiven) { @@ -300,7 +300,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d wants h.start > h.max", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } else { @@ -312,7 +312,7 @@ MESHcheck(char dim, MESHcard *cardList) sprintf( errBuf, "%c.mesh card %d wants h.end > h.max", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } else { @@ -385,7 +385,7 @@ addCoord(MESHcoord **head, MESHcoord **tail, int number, double location) { MESHcoord *newCoord; - if (*head == NIL(MESHcoord)) { + if (*head == NULL) { RALLOC( *tail, MESHcoord, 1 ); newCoord = *head = *tail; } @@ -393,7 +393,7 @@ addCoord(MESHcoord **head, MESHcoord **tail, int number, double location) RALLOC( (*tail)->next, MESHcoord, 1 ); newCoord = *tail = (*tail)->next; } - newCoord->next = NIL(MESHcoord); + newCoord->next = NULL; newCoord->number = number; newCoord->location = location * UM_TO_CM; return(OK); @@ -428,7 +428,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) char errBuf[512]; /* Initialize list of coordinates. */ - *coordList = endCoord = NIL(MESHcoord); + *coordList = endCoord = NULL; *numCoords = totCoords = 0; /* Check the card list. */ @@ -442,7 +442,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) "n.s", "n.m", "n.e", "l.e", "h.s", "h.e", "h.m", "r.s", "r.e" ); #endif - for ( card = cardList; card != NIL(MESHcard); card = card->MESHnextCard ) { + for ( card = cardList; card != NULL; card = card->MESHnextCard ) { cardNum++; locStart = card->MESHlocStart; locEnd = card->MESHlocEnd; @@ -463,7 +463,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) sprintf( errBuf, "%c.mesh card %d has out-of-order node numbers ( %d > %d )", dim, cardNum, numStart, numEnd ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } } @@ -495,7 +495,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) sprintf( errBuf, "%c.mesh card %d can't be spaced automatically", dim, cardNum ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); return( error ); } else { @@ -507,7 +507,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) sprintf( errBuf, "%c.mesh card %d results in out-of-order node numbers ( %d > %d )", dim, cardNum, numStart, numEnd ); - SPfrontEnd->IFerror( ERR_FATAL, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_FATAL, errBuf, NULL ); error = E_PRIVATE; } else { @@ -578,7 +578,7 @@ MESHsetup(char dim, MESHcard *cardList, MESHcoord **coordList, int *numCoords) * If the mesh is not empty, then the loop above has exited before * adding the final coord to the list. So we need to do that now. */ - if (*coordList != NIL(MESHcoord)) { + if (*coordList != NULL) { error = addCoord( coordList, &endCoord, ++totCoords, locEnd ); if (error) return(error); #ifdef NOTDEF @@ -722,7 +722,7 @@ oneSideSpacing(double width, double spacing, double rWanted, double *rFound, if ( width < spacing ) { sprintf( errBuf, "one-sided spacing can't find an acceptable solution\n"); - SPfrontEnd->IFerror( ERR_WARNING, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, errBuf, NULL ); *rFound = 0.0; *nFound = 0; return(E_PRIVATE); @@ -749,7 +749,7 @@ oneSideSpacing(double width, double spacing, double rWanted, double *rFound, if ( (rTemp1 == 0.0) && (rTemp2 == 0.0) ) { sprintf( errBuf, "one-sided spacing can't find an acceptable solution\n"); - SPfrontEnd->IFerror( ERR_WARNING, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, errBuf, NULL ); *rFound = 0.0; *nFound = 0; return(E_PRIVATE); @@ -927,7 +927,7 @@ twoSideSpacing(double width, double hStart, double hEnd, double rWanted, if (remaining < 0.0) { sprintf( errBuf, "two-sided spacing can't find an acceptable solution\n"); - SPfrontEnd->IFerror( ERR_WARNING, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, errBuf, NULL ); *rSfound = *rEfound = 0.0; *nSfound = *nEfound = 0; return(E_PRIVATE); @@ -1067,7 +1067,7 @@ twoSideSpacing(double width, double hStart, double hEnd, double rWanted, if (rSaveS == 0.0) { sprintf( errBuf, "two-sided spacing can't find an acceptable solution\n"); - SPfrontEnd->IFerror( ERR_WARNING, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, errBuf, NULL ); *rSfound = *rEfound = 0.0; *nSfound = *nEfound = 0; return(E_PRIVATE); @@ -1290,7 +1290,7 @@ maxLimSpacing(double width, double hStart, double hMax, double rWanted, if (rSaveS == 0.0) { sprintf( errBuf, "max-limited spacing can't find an acceptable solution\n"); - SPfrontEnd->IFerror( ERR_WARNING, errBuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, errBuf, NULL ); *rFound = 0.0; *nSfound = *nMfound = 0; return(E_PRIVATE); diff --git a/src/ciderlib/input/mobset.c b/src/ciderlib/input/mobset.c index 47811e720..10ee35ea5 100644 --- a/src/ciderlib/input/mobset.c +++ b/src/ciderlib/input/mobset.c @@ -34,26 +34,26 @@ MOBcheck(MOBcard *cardList, MaterialInfo *matlList) int error = OK; char ebuf[512]; /* error message buffer */ - for ( card = cardList; card != NIL(MOBcard); card = card->MOBnextCard ) { + for ( card = cardList; card != NULL; card = card->MOBnextCard ) { cardNum++; if (!card->MOBmaterialGiven) { sprintf( ebuf, "mobility card %d is missing a material index", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } else { /* Make sure the material exists */ - for ( matl = matlList; matl != NIL(MATLmaterial); matl = matl->next ) { + for ( matl = matlList; matl != NULL; matl = matl->next ) { if ( card->MOBmaterial == matl->id ) { break; } } - if (matl == NIL(MATLmaterial)) { + if (matl == NULL) { sprintf( ebuf, "mobility card %d specifies a non-existent material", cardNum ); - SPfrontEnd->IFerror( ERR_WARNING, ebuf, NIL(IFuid) ); + SPfrontEnd->IFerror( ERR_WARNING, ebuf, NULL ); error = E_PRIVATE; } } @@ -94,10 +94,10 @@ MOBsetup(MOBcard *cardList, MaterialInfo *materialList) /* Check the card list */ if ((error = MOBcheck( cardList, materialList )) != 0) return( error ); - for ( card = cardList; card != NIL(MOBcard); card = card->MOBnextCard ) { + for ( card = cardList; card != NULL; card = card->MOBnextCard ) { /* Find the right material */ - for ( matl = materialList; matl != NIL(MATLmaterial); matl = matl->next ) { + for ( matl = materialList; matl != NULL; matl = matl->next ) { if ( card->MOBmaterial == matl->id ) { break; } diff --git a/src/ciderlib/input/modlset.c b/src/ciderlib/input/modlset.c index 9de8e7ed5..cf3d140e1 100644 --- a/src/ciderlib/input/modlset.c +++ b/src/ciderlib/input/modlset.c @@ -27,7 +27,7 @@ int MODLcard *card; int cardNum = 0; - for ( card = cardList; card != NIL(MODLcard); card = card->MODLnextCard ) { + for ( card = cardList; card != NULL; card = card->MODLnextCard ) { cardNum++; if ( !card->MODLbandGapNarrowingGiven ) { diff --git a/src/ciderlib/input/outpset.c b/src/ciderlib/input/outpset.c index b82a3c2c0..800498a82 100644 --- a/src/ciderlib/input/outpset.c +++ b/src/ciderlib/input/outpset.c @@ -29,7 +29,7 @@ int OUTPcard *card; int cardNum = 0; - for ( card = cardList; card != NIL(OUTPcard); card = card->OUTPnextCard ) { + for ( card = cardList; card != NULL; card = card->OUTPnextCard ) { cardNum++; card->OUTPnumVars = -1; diff --git a/src/ciderlib/oned/oneadmit.c b/src/ciderlib/oned/oneadmit.c index fffd69199..bdf097004 100644 --- a/src/ciderlib/oned/oneadmit.c +++ b/src/ciderlib/oned/oneadmit.c @@ -418,7 +418,7 @@ ONEsorSolve(ONEdevice *pDevice, double *xReal, double *xImag, double omega) rhsSOR[index] += pDevice->rhs[index]; } /* compute xReal(k+1). solution stored in rhsSOR */ - spSolve(pDevice->matrix, rhsSOR, rhsSOR, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, rhsSOR, rhsSOR, NULL, NULL); /* modify solution when wRelax is not 1 */ if (wRelax != 1) { @@ -455,7 +455,7 @@ ONEsorSolve(ONEdevice *pDevice, double *xReal, double *xImag, double omega) } /* compute xImag(k+1) */ spSolve(pDevice->matrix, rhsSOR, rhsSOR, - NIL(spREAL), NIL(spREAL)); + NULL, NULL); /* modify solution when wRelax is not 1 */ if (wRelax != 1) { for (index = 1; index <= numEqns; index++) { @@ -665,7 +665,7 @@ computeAdmittance(ONEnode *pNode, BOOLEAN delVContact, double *xReal, for (i = 0; i <= 1; i++) { pElem = pNode->pElems[i]; - if (pElem != NIL(ONEelem)) { + if (pElem != NULL) { switch (i) { case 0: /* the right node of the element */ diff --git a/src/ciderlib/oned/onecond.c b/src/ciderlib/oned/onecond.c index 093ae8dae..e70078c50 100644 --- a/src/ciderlib/oned/onecond.c +++ b/src/ciderlib/oned/onecond.c @@ -42,7 +42,7 @@ NUMDconductance(ONEdevice *pDevice, BOOLEAN tranAnalysis, pDevice->rhs[pNode->pEqn] = -pEdge->dJpDpsiP1; } incVpn = pDevice->dcDeltaSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVpn, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVpn, NULL, NULL); pElem = pDevice->elemArray[1]; pNode = pElem->pRightNode; @@ -95,7 +95,7 @@ NBJTconductance(ONEdevice *pDevice, BOOLEAN tranAnalysis, double *intCoeff, pDevice->rhs[pNode->pEqn] = -pEdge->dJpDpsiP1; } incVce = pDevice->dcDeltaSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVce, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVce, NULL, NULL); /* zero the rhs before loading in the new rhs base contribution */ for (index = 1; index <= pDevice->numEqns; index++) { @@ -114,7 +114,7 @@ NBJTconductance(ONEdevice *pDevice, BOOLEAN tranAnalysis, double *intCoeff, } incVbe = pDevice->copiedSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVbe, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVbe, NULL, NULL); pElem = pDevice->elemArray[1];/* first element */ pEdge = pElem->pEdge; diff --git a/src/ciderlib/oned/onecont.c b/src/ciderlib/oned/onecont.c index a6c81c233..4bcffdc33 100644 --- a/src/ciderlib/oned/onecont.c +++ b/src/ciderlib/oned/onecont.c @@ -272,7 +272,7 @@ ONE_jacLoad(ONEdevice *pDevice) /* first compute the currents and their derivatives */ - ONE_commonTerms(pDevice, FALSE, FALSE, NIL(ONEtranInfo)); + ONE_commonTerms(pDevice, FALSE, FALSE, NULL); /* zero the matrix */ spClear(pDevice->matrix); diff --git a/src/ciderlib/oned/onedopng.c b/src/ciderlib/oned/onedopng.c index d7f388918..a29f01657 100644 --- a/src/ciderlib/oned/onedopng.c +++ b/src/ciderlib/oned/onedopng.c @@ -25,7 +25,7 @@ ONEdopingValue(DOPprofile *pProfile, DOPtable *pTable, double x) /* Find the appropriate lookup table if necessary */ if (pProfile->type == LOOKUP) { - while (pTable != NIL(DOPtable)) { + while (pTable != NULL) { if (pTable->impId == pProfile->IMPID) { /* Found it */ break; @@ -33,7 +33,7 @@ ONEdopingValue(DOPprofile *pProfile, DOPtable *pTable, double x) pTable = pTable->next; } } - if (pTable == NIL(DOPtable)) { + if (pTable == NULL) { fprintf(stderr, "Error: unknown impurity profile %d\n", ((int)pProfile->IMPID)); exit(1); @@ -129,7 +129,7 @@ ONEsetDoping(ONEdevice *pDevice, DOPprofile *pProfile, DOPtable *pTable) } } /* Now compute the contribution to the total doping from each profile. */ - for (pP = pProfile; pP != NIL(DOPprofile); pP = pP->next) { + for (pP = pProfile; pP != NULL; pP = pP->next) { for (eIndex = 1; eIndex < pDevice->numNodes; eIndex++) { pElem = pDevice->elemArray[eIndex]; if (pElem->elemType == SEMICON) { diff --git a/src/ciderlib/oned/onemesh.c b/src/ciderlib/oned/onemesh.c index c3296f1a8..e05d24ba5 100644 --- a/src/ciderlib/oned/onemesh.c +++ b/src/ciderlib/oned/onemesh.c @@ -37,7 +37,7 @@ ONEbuildMesh(ONEdevice *pDevice, ONEcoord *pCoord, ONEdomain *pDomain, /* generate the work array for setting up nodes and elements */ XCALLOC(nodeArray, ONEnode *, 1 + pDevice->numNodes); - for (pC = pCoord; pC != NIL(ONEcoord); pC = pC->next) { + for (pC = pCoord; pC != NULL; pC = pC->next) { xPos = pC->location; XCALLOC(pNode, ONEnode, 1); pNode->x = xPos; @@ -46,12 +46,12 @@ ONEbuildMesh(ONEdevice *pDevice, ONEcoord *pCoord, ONEdomain *pDomain, } /* mark the domain info on the nodes */ - if (pDomain == NIL(ONEdomain)) { + if (pDomain == NULL) { fprintf(stderr, "Error: domains not defined for device\n"); exit(-1); } - for (pD = pDomain; pD != NIL(ONEdomain); pD = pD->next) { - for (pM = pMaterial; pM != NIL(ONEmaterial); pM = pM->next) { + for (pD = pDomain; pD != NULL; pD = pD->next) { + for (pM = pMaterial; pM != NULL; pM = pM->next) { if (pD->material == pM->id) { break; } @@ -109,8 +109,8 @@ ONEbuildMesh(ONEdevice *pDevice, ONEcoord *pCoord, ONEdomain *pDomain, } /* mark the domain info on the elements */ - for (pD = pDomain; pD != NIL(ONEdomain); pD = pD->next) { - for (pM = pMaterial; pM != NIL(ONEmaterial); pM = pM->next) { + for (pD = pDomain; pD != NULL; pD = pD->next) { + for (pM = pMaterial; pM != NULL; pM = pM->next) { if (pD->material == pM->id) { break; } diff --git a/src/ciderlib/oned/oneproj.c b/src/ciderlib/oned/oneproj.c index 050f788a0..c7c88502f 100644 --- a/src/ciderlib/oned/oneproj.c +++ b/src/ciderlib/oned/oneproj.c @@ -52,7 +52,7 @@ NUMDproject(ONEdevice *pDevice, double delV) pDevice->rhs[pNode->pEqn] = -pEdge->dJpDpsiP1; } incVpn = pDevice->dcDeltaSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVpn, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVpn, NULL, NULL); for (index = 1; index < pDevice->numNodes; index++) { pElem = pDevice->elemArray[index]; @@ -128,7 +128,7 @@ NBJTproject(ONEdevice *pDevice, double delVce, double delVbe, pDevice->rhs[pNode->pEqn] = -pEdge->dJpDpsiP1; } incVce = pDevice->dcDeltaSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVce, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVce, NULL, NULL); for (index = 1; index < pDevice->numNodes; index++) { pElem = pDevice->elemArray[index]; @@ -179,7 +179,7 @@ NBJTproject(ONEdevice *pDevice, double delVce, double delVbe, } incVbe = pDevice->copiedSolution; - spSolve(pDevice->matrix, pDevice->rhs, incVbe, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, pDevice->rhs, incVbe, NULL, NULL); for (index = 1; index < pDevice->numNodes; index++) { pElem = pDevice->elemArray[index]; diff --git a/src/ciderlib/oned/onesetup.c b/src/ciderlib/oned/onesetup.c index 3cff854fe..f6d0f716c 100644 --- a/src/ciderlib/oned/onesetup.c +++ b/src/ciderlib/oned/onesetup.c @@ -133,7 +133,7 @@ ONEcopyBCinfo(ONEdevice *pDevice, ONEelem *pElem, BDRYcard *bdry, int index) length = 0.0; for (eIndex = 0; eIndex <= 3; eIndex++) { pNElem = pNode->pElems[eIndex]; - if ((pNElem != NIL(ONEelem)) && (pElem->elemType == SEMICON)) { + if ((pNElem != NULL) && (pElem->elemType == SEMICON)) { length += 0.5 * pElem->dx; } } @@ -158,10 +158,10 @@ ONEsetBCparams(ONEdevice *pDevice, BDRYcard *bdryList, CONTcard *contList) BDRYcard *bdry; CONTcard *cont; - for (bdry = bdryList; bdry != NIL(BDRYcard); bdry = bdry->BDRYnextCard) { + for (bdry = bdryList; bdry != NULL; bdry = bdry->BDRYnextCard) { for (xIndex = bdry->BDRYixLow; xIndex < bdry->BDRYixHigh; xIndex++) { pElem = pDevice->elemArray[xIndex]; - if (pElem != NIL(ONEelem)) { + if (pElem != NULL) { if (pElem->domain == bdry->BDRYdomain) { for (index = 0; index <= 1; index++) { if (pElem->evalNodes[index]) { @@ -183,7 +183,7 @@ ONEsetBCparams(ONEdevice *pDevice, BDRYcard *bdryList, CONTcard *contList) } } } - for (cont = contList; cont != NIL(CONTcard); cont = cont->CONTnextCard) { + for (cont = contList; cont != NULL; cont = cont->CONTnextCard) { if (!cont->CONTworkfunGiven) { cont->CONTworkfun = PHI_METAL; } diff --git a/src/ciderlib/oned/onesolve.c b/src/ciderlib/oned/onesolve.c index 17950ff3b..7586100c2 100644 --- a/src/ciderlib/oned/onesolve.c +++ b/src/ciderlib/oned/onesolve.c @@ -118,7 +118,7 @@ ONEdcSolve(ONEdevice *pDevice, int iterationLimit, BOOLEAN newSolver, } /* SOLVE */ startTime = SPfrontEnd->IFseconds(); - spSolve(pDevice->matrix, rhs, delta, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, rhs, delta, NULL, NULL); solveTime += SPfrontEnd->IFseconds() - startTime; /* UPDATE */ @@ -1000,7 +1000,7 @@ ONEnuNorm(ONEdevice *pDevice) { /* The LU Decomposed matrix is available. Use it to calculate x. */ spSolve(pDevice->matrix, pDevice->rhs, pDevice->rhsImag, - NIL(spREAL), NIL(spREAL)); + NULL, NULL); /* Compute L2-norm of the solution vector (stored in rhsImag) */ return (l2Norm(pDevice->rhsImag, pDevice->numEqns)); @@ -1043,12 +1043,12 @@ ONEjacCheck(ONEdevice *pDevice, BOOLEAN tranAnalysis, ONEtranInfo *info) diff = (pDevice->rhsImag[rIndex] - pDevice->rhs[rIndex]) / del; dptr = spFindElement(pDevice->matrix, rIndex, index); /* - * if ( dptr ISNOT NIL(double) ) { fprintf( stderr, "[%d][%d]: FD = + * if ( dptr ISNOT NULL ) { fprintf( stderr, "[%d][%d]: FD = * %11.4e, AJ = %11.4e\n", rIndex, index, diff, *dptr ); } else { * fprintf( stderr, "[%d][%d]: FD = %11.4e, AJ = %11.4e\n", rIndex, * index, diff, 0.0 ); } */ - if (dptr != NIL(double)) { + if (dptr != NULL) { tol = (1e-4 * pDevice->abstol) + (1e-2 * MAX(ABS(diff), ABS(*dptr))); if ((diff != 0.0) && (ABS(diff - *dptr) > tol)) { fprintf(stderr, "Mismatch[%d][%d]: FD = %11.4e, AJ = %11.4e\n\t FD-AJ = %11.4e vs. %11.4e\n", diff --git a/src/ciderlib/support/geominfo.c b/src/ciderlib/support/geominfo.c index fb2dda26a..0a0a2ab3b 100644 --- a/src/ciderlib/support/geominfo.c +++ b/src/ciderlib/support/geominfo.c @@ -14,7 +14,7 @@ void printCoordInfo(CoordInfo *pFirstCoord) { CoordInfo *pCoord; - for ( pCoord = pFirstCoord; pCoord != NIL(CoordInfo); + for ( pCoord = pFirstCoord; pCoord != NULL; pCoord = pCoord->next ) { fprintf(stderr, "mesh number=%4d location=%11.4e\n", pCoord->number, pCoord->location ); @@ -25,7 +25,7 @@ void killCoordInfo(CoordInfo *pFirstCoord) { CoordInfo *pCoord, *pKill; - for ( pCoord = pFirstCoord; pCoord != NIL(CoordInfo); ) { + for ( pCoord = pFirstCoord; pCoord != NULL; ) { pKill = pCoord; pCoord = pCoord->next; FREE( pKill ); @@ -36,7 +36,7 @@ void ONEprintDomainInfo(DomainInfo *pFirstDomain) { DomainInfo *pDomain; - for ( pDomain = pFirstDomain; pDomain != NIL(DomainInfo); + for ( pDomain = pFirstDomain; pDomain != NULL; pDomain = pDomain->next ) { fprintf( stderr, "domain id=%4d mat=%4d ixLo=%4d ixHi=%4d\n", pDomain->id, pDomain->material, pDomain->ixLo, pDomain->ixHi ); @@ -47,7 +47,7 @@ void TWOprintDomainInfo(DomainInfo *pFirstDomain) { DomainInfo *pDomain; - for ( pDomain = pFirstDomain; pDomain != NIL(DomainInfo); + for ( pDomain = pFirstDomain; pDomain != NULL; pDomain = pDomain->next ) { fprintf( stderr, "domain id=%4d mat=%4d ixLo=%4d ixHi=%4d iyLo=%4d iyHi=%4d\n", @@ -61,7 +61,7 @@ void killDomainInfo(DomainInfo *pFirstDomain) { DomainInfo *pDomain, *pKill; - for ( pDomain = pFirstDomain; pDomain != NIL(DomainInfo); ) { + for ( pDomain = pFirstDomain; pDomain != NULL; ) { pKill = pDomain; pDomain = pDomain->next; FREE( pKill ); @@ -72,7 +72,7 @@ void ONEprintBoundaryInfo(BoundaryInfo *pFirstBoundary) { BoundaryInfo *pBoundary; - for ( pBoundary = pFirstBoundary; pBoundary != NIL(BoundaryInfo); + for ( pBoundary = pFirstBoundary; pBoundary != NULL; pBoundary = pBoundary->next ) { fprintf( stderr, "boundary dom=%4d nbr=%4d ixLo=%4d ixHi=%4d\n", @@ -85,7 +85,7 @@ void TWOprintBoundaryInfo(BoundaryInfo *pFirstBoundary) { BoundaryInfo *pBoundary; - for ( pBoundary = pFirstBoundary; pBoundary != NIL(BoundaryInfo); + for ( pBoundary = pFirstBoundary; pBoundary != NULL; pBoundary = pBoundary->next ) { fprintf( stderr, "boundary dom=%4d nbr=%4d ixLo=%4d ixHi=%4d iyLo=%4d iyHi=%4d\n", @@ -99,7 +99,7 @@ void killBoundaryInfo(BoundaryInfo *pFirstBoundary) { BoundaryInfo *pBoundary, *pKill; - for ( pBoundary = pFirstBoundary; pBoundary != NIL(BoundaryInfo); ) { + for ( pBoundary = pFirstBoundary; pBoundary != NULL; ) { pKill = pBoundary; pBoundary = pBoundary->next; FREE( pKill ); @@ -110,7 +110,7 @@ void TWOprintElectrodeInfo(ElectrodeInfo *pFirstElectrode) { ElectrodeInfo *pElectrode; - for ( pElectrode = pFirstElectrode; pElectrode != NIL(ElectrodeInfo); + for ( pElectrode = pFirstElectrode; pElectrode != NULL; pElectrode = pElectrode->next ) { fprintf( stderr, "electrode id=%4d ixLo=%4d ixHi=%4d iyLo=%4d iyHi=%4d\n", @@ -123,7 +123,7 @@ void killElectrodeInfo(ElectrodeInfo *pFirstElectrode) { ElectrodeInfo *pElectrode, *pKill; - for ( pElectrode = pFirstElectrode; pElectrode != NIL(ElectrodeInfo); ) { + for ( pElectrode = pFirstElectrode; pElectrode != NULL; ) { pKill = pElectrode; pElectrode = pElectrode->next; FREE( pKill ); diff --git a/src/ciderlib/support/globals.c b/src/ciderlib/support/globals.c index 99e9c4434..8f98e5e75 100644 --- a/src/ciderlib/support/globals.c +++ b/src/ciderlib/support/globals.c @@ -76,7 +76,7 @@ void GLOBcomputeGlobals(GLOBvalues *pGlobals, double temp) void GLOBputGlobals(GLOBvalues *values) { - if ( values == NIL(GLOBvalues) ) { + if ( values == NULL ) { fprintf( stderr, "Error: tried to get from NIL GLOBvalues\n"); exit(-1); } @@ -106,7 +106,7 @@ void GLOBputGlobals(GLOBvalues *values) */ void GLOBgetGlobals(GLOBvalues *values) { - if ( values == NIL(GLOBvalues) ) { + if ( values == NULL ) { fprintf( stderr, "Error: tried to get from NIL GLOBvalues\n"); exit(-1); } @@ -135,7 +135,7 @@ void GLOBprnGlobals(FILE *file, GLOBvalues *values) static const char tabformat[] = "%12s: % .4e %-12s\t"; static const char newformat[] = "%12s: % .4e %-12s\n"; - if ( values == NIL( GLOBvalues ) ) { + if ( values == NULL ) { fprintf( stderr, "Error: tried to print NIL GLOBvalues\n"); exit(-1); } diff --git a/src/ciderlib/support/mater.c b/src/ciderlib/support/mater.c index 8dec81d14..9bfe69767 100644 --- a/src/ciderlib/support/mater.c +++ b/src/ciderlib/support/mater.c @@ -283,7 +283,7 @@ printMaterialInfo(MaterialInfo *info) char *name; - if (info == NIL(MaterialInfo)) { + if (info == NULL) { fprintf(stderr, "Error: tried to print NIL MaterialInfo\n"); exit(-1); } diff --git a/src/ciderlib/support/suprem.c b/src/ciderlib/support/suprem.c index c2e7ac66f..7aded0e3b 100644 --- a/src/ciderlib/support/suprem.c +++ b/src/ciderlib/support/suprem.c @@ -53,11 +53,11 @@ readAsciiData( char *fileName, int impType, DOPtable **ppTable ) /* Now create a new lookup table */ XCALLOC( tmpTable, DOPtable, 1 ); - if ( *ppTable == NIL(DOPtable) ) { + if ( *ppTable == NULL ) { /* First Entry */ tmpTable->impId = 1; tmpTable->dopData = profileData; - tmpTable->next = NIL(DOPtable); + tmpTable->next = NULL; *ppTable = tmpTable; } else { tmpTable->impId = (*ppTable)->impId + 1; @@ -142,11 +142,11 @@ readSupremData(char *fileName, int fileType, int impType, DOPtable **ppTable) /* Now create a new lookup table */ XCALLOC( tmpTable, DOPtable, 1 ); - if ( *ppTable == NIL(DOPtable) ) { + if ( *ppTable == NULL ) { /* First Entry */ tmpTable->impId = 1; tmpTable->dopData = profileData; - tmpTable->next = NIL(DOPtable); + tmpTable->next = NULL; *ppTable = tmpTable; } else { tmpTable->impId = (*ppTable)->impId + 1; @@ -172,7 +172,7 @@ main(ac, av) char **av; { void readSupremData(); - DOPtable *supTable = NIL(DOPtable); + DOPtable *supTable = NULL; double **supInput; int numPoints, index; char *impName; @@ -192,7 +192,7 @@ char **av; readSupremData( av[index], 1, impType, &supTable ); } } - for ( ; supTable ISNOT NIL(DOPtable); supTable = supTable->next ) { + for ( ; supTable ISNOT NULL; supTable = supTable->next ) { fprintf( stdout, "\"Impurity Number: %d\n", supTable->impId ); supInput = supTable->dopData; numPoints = supInput[0][0]; diff --git a/src/ciderlib/twod/twoadmit.c b/src/ciderlib/twod/twoadmit.c index 43f8e71e1..14806dea3 100644 --- a/src/ciderlib/twod/twoadmit.c +++ b/src/ciderlib/twod/twoadmit.c @@ -687,7 +687,7 @@ TWOsorSolve(TWOdevice *pDevice, double *xReal, double *xImag, } /* compute xReal(k+1). solution stored in rhsImag */ - spSolve(pDevice->matrix, rhsSOR, rhsSOR, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, rhsSOR, rhsSOR, NULL, NULL); /* modify solution when wRelax is not 1 */ if (wRelax != 1) { for (index = 1; index <= numEqns; index++) { @@ -729,7 +729,7 @@ TWOsorSolve(TWOdevice *pDevice, double *xReal, double *xImag, } } /* compute xImag(k+1) */ - spSolve(pDevice->matrix, rhsSOR, rhsSOR, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, rhsSOR, rhsSOR, NULL, NULL); /* modify solution when wRelax is not 1 */ if (wRelax != 1) { for (index = 1; index <= numEqns; index++) { @@ -775,7 +775,7 @@ contactAdmittance(TWOdevice *pDevice, TWOcontact *pContact, BOOLEAN delVContact, pNode = pContact->pNodes[index]; for (i = 0; i <= 3; i++) { pElem = pNode->pElems[i]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { switch (i) { case 0: /* the TL element */ @@ -976,7 +976,7 @@ oxideAdmittance(TWOdevice *pDevice, TWOcontact *pContact, BOOLEAN delVContact, pNode = pContact->pNodes[index]; for (i = 0; i <= 3; i++) { pElem = pNode->pElems[i]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { switch (i) { case 0: /* the TL element */ diff --git a/src/ciderlib/twod/twoaval.c b/src/ciderlib/twod/twoaval.c index 274ccfb4b..11eb6c96c 100644 --- a/src/ciderlib/twod/twoaval.c +++ b/src/ciderlib/twod/twoaval.c @@ -36,10 +36,10 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) pElemBR = pNode->pBRElem; /* Null edge pointers */ - pEdgeT = pEdgeB = pEdgeL = pEdgeR = NIL(TWOedge); + pEdgeT = pEdgeB = pEdgeL = pEdgeR = NULL; /* Find edges next to node */ - if ( pElemTL != NIL(TWOelem) ) { + if ( pElemTL != NULL ) { if (pElemTL->evalEdges[1]) { pEdgeT = pElemTL->pRightEdge; materT = pElemTL->elemType; @@ -51,7 +51,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) dxL = pElemTL->dx; } } - if ( pElemTR != NIL(TWOelem) ) { + if ( pElemTR != NULL ) { if (pElemTR->evalEdges[3]) { pEdgeT = pElemTR->pLeftEdge; materT = pElemTR->elemType; @@ -63,7 +63,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) dxR = pElemTR->dx; } } - if ( pElemBR != NIL(TWOelem) ) { + if ( pElemBR != NULL ) { if (pElemBR->evalEdges[3]) { pEdgeB = pElemBR->pLeftEdge; materB = pElemBR->elemType; @@ -75,7 +75,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) dxR = pElemBR->dx; } } - if ( pElemBL != NIL(TWOelem) ) { + if ( pElemBL != NULL ) { if (pElemBL->evalEdges[1]) { pEdgeB = pElemBL->pRightEdge; materB = pElemBL->elemType; @@ -91,7 +91,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) /* compute horizontal vector components */ /* No more than one of Left Edge or Right Edge is absent */ /* If one is absent the other is guaranteed to be from silicon */ - if (pEdgeL == NIL(TWOedge)) { + if (pEdgeL == NULL) { if ( pNode->nodeType == CONTACT ) { enx = -(pEdgeR->dPsi + pEdgeR->dCBand) / dxR; epx = -(pEdgeR->dPsi - pEdgeR->dVBand) / dxR; @@ -103,7 +103,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) jnx = 0.0; jpx = 0.0; } - } else if (pEdgeR == NIL(TWOedge)) { + } else if (pEdgeR == NULL) { if ( pNode->nodeType == CONTACT ) { enx = -(pEdgeL->dPsi + pEdgeL->dCBand) / dxL; epx = -(pEdgeL->dPsi - pEdgeL->dVBand) / dxL; @@ -136,7 +136,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) /* compute vertical vector components */ /* No more than one of Top Edge or Bottom Edge is absent */ /* If one is absent the other is guaranteed to be from silicon */ - if (pEdgeT == NIL(TWOedge)) { + if (pEdgeT == NULL) { if ( pNode->nodeType == CONTACT ) { eny = -(pEdgeB->dPsi + pEdgeB->dCBand) / dyB; epy = -(pEdgeB->dPsi - pEdgeB->dVBand) / dyB; @@ -148,7 +148,7 @@ TWOavalanche(TWOelem *pElem, TWOnode *pNode) jny = 0.0; jpy = 0.0; } - } else if (pEdgeB == NIL(TWOedge)) { + } else if (pEdgeB == NULL) { if ( pNode->nodeType == CONTACT ) { eny = -(pEdgeT->dPsi + pEdgeT->dCBand) / dyT; epy = -(pEdgeT->dPsi - pEdgeT->dVBand) / dyT; diff --git a/src/ciderlib/twod/twocond.c b/src/ciderlib/twod/twocond.c index a1a3679fa..cd717b535 100644 --- a/src/ciderlib/twod/twocond.c +++ b/src/ciderlib/twod/twocond.c @@ -30,7 +30,7 @@ void */ incVpn = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pDevice->pLastContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVpn, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVpn, NULL, NULL); incVpn = pDevice->dcDeltaSolution; *gd = contactConductance( pDevice, pContact, deltaVContact, incVpn, @@ -58,9 +58,9 @@ void incVce = pDevice->dcDeltaSolution; incVbe = pDevice->copiedSolution; storeNewRhs( pDevice, pColContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVce, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVce, NULL, NULL); storeNewRhs( pDevice, pBaseContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVbe, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVbe, NULL, NULL); *dIeDVce = contactConductance( pDevice, pEmitContact, FALSE, incVce, tranAnalysis, intCoeff ); @@ -96,11 +96,11 @@ void incVsb = pDevice->copiedSolution; incVgb = pDevice->rhsImag; storeNewRhs( pDevice, pDContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVdb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVdb, NULL, NULL); storeNewRhs( pDevice, pSContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVsb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVsb, NULL, NULL); storeNewRhs( pDevice, pGContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVgb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVgb, NULL, NULL); dIdV->dIdDVdb = contactConductance( pDevice, pDContact, TRUE, incVdb, tranAnalysis, intCoeff ); @@ -149,7 +149,7 @@ double pNode = pContact->pNodes[ index ]; for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem) ) { + if ( pElem != NULL ) { dx = 0.5 * pElem->dx; dy = 0.5 * pElem->dy; switch ( i ) { @@ -222,7 +222,7 @@ double pNode = pContact->pNodes[ index ]; for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem) ) { + if ( pElem != NULL ) { dx = 0.5 * pElem->dx; dy = 0.5 * pElem->dy; switch ( i ) { @@ -290,7 +290,7 @@ double pNode = pContact->pNodes[ index ]; for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem) ) { + if ( pElem != NULL ) { switch ( i ) { case 0: /* the TL element */ @@ -445,7 +445,7 @@ double pNode = pContact->pNodes[ index ]; for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem) ) { + if ( pElem != NULL ) { switch ( i ) { case 0: /* the TL element */ diff --git a/src/ciderlib/twod/twocont.c b/src/ciderlib/twod/twocont.c index d4c1ca060..5b2e93a77 100644 --- a/src/ciderlib/twod/twocont.c +++ b/src/ciderlib/twod/twocont.c @@ -195,7 +195,7 @@ void * Don't need these pointers if SurfaceMobility isn't set. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { @@ -481,7 +481,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -495,7 +495,7 @@ void TWO_mobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -518,7 +518,7 @@ void double ds; /* first compute the currents and derivatives */ - TWO_commonTerms( pDevice, FALSE, FALSE, NIL(TWOtranInfo) ); + TWO_commonTerms( pDevice, FALSE, FALSE, NULL ); /* zero the matrix */ spClear( pDevice->matrix ); @@ -641,7 +641,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -655,7 +655,7 @@ void TWO_mobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -920,7 +920,7 @@ void /* DAG: calculate mobilities for channel elems */ if ( SurfaceMobility ) { for ( pCh = pDevice->pChannel; - pCh != NIL(TWOchannel); pCh = pCh->next ) { + pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { case 0: @@ -951,7 +951,7 @@ void TWO_mobility( pElem, eSurf ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCH != NIL */ + } /* endfor pCH != NULL */ } /* endif SurfaceMobility */ /* calculate the current densities assuming mobility value depend on Ex,Ey*/ diff --git a/src/ciderlib/twod/twocurr.c b/src/ciderlib/twod/twocurr.c index be87cf6c8..a49a62238 100644 --- a/src/ciderlib/twod/twocurr.c +++ b/src/ciderlib/twod/twocurr.c @@ -34,13 +34,13 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, pElemBR = pNode->pBRElem; /* Null edge pointers */ - pEdgeT = pEdgeB = pEdgeL = pEdgeR = NIL(TWOedge); + pEdgeT = pEdgeB = pEdgeL = pEdgeR = NULL; /* Zero mobilities */ *mun = *mup = 0.0; /* Find edges next to node */ - if (pElemTL != NIL(TWOelem)) { + if (pElemTL != NULL) { numFound++; *mun += pElemTL->mun0; *mup += pElemTL->mup0; @@ -57,7 +57,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, epsL = pElemTL->epsRel; } } - if (pElemTR != NIL(TWOelem)) { + if (pElemTR != NULL) { numFound++; *mun += pElemTR->mun0; *mup += pElemTR->mup0; @@ -73,7 +73,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, epsR = pElemTR->epsRel; } } - if (pElemBR != NIL(TWOelem)) { + if (pElemBR != NULL) { numFound++; *mun += pElemBR->mun0; *mup += pElemBR->mup0; @@ -90,7 +90,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, epsR = pElemBR->epsRel; } } - if (pElemBL != NIL(TWOelem)) { + if (pElemBL != NULL) { numFound++; *mun += pElemBL->mun0; *mup += pElemBL->mup0; @@ -112,7 +112,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, /* compute horizontal vector components */ /* No more than one of Left Edge or Right Edge is absent */ /* If one is absent the other is guaranteed to be from silicon */ - if (pEdgeL == NIL(TWOedge)) { + if (pEdgeL == NULL) { if (pNode->nodeType == CONTACT) { *jnx = pEdgeR->jn; *jpx = pEdgeR->jp; @@ -122,7 +122,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, *jpx = 0.0; *jdx = 0.0; } - } else if (pEdgeR == NIL(TWOedge)) { + } else if (pEdgeR == NULL) { if (pNode->nodeType == CONTACT) { *jnx = pEdgeL->jn; *jpx = pEdgeL->jp; @@ -149,7 +149,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, /* compute vertical vector components */ /* No more than one of Top Edge or Bottom Edge is absent */ /* If one is absent the other is guaranteed to be from silicon */ - if (pEdgeT == NIL(TWOedge)) { + if (pEdgeT == NULL) { if (pNode->nodeType == CONTACT) { *jny = pEdgeB->jn; *jpy = pEdgeB->jp; @@ -159,7 +159,7 @@ nodeCurrents(TWOelem *pElem, TWOnode *pNode, double *mun, double *mup, *jpy = 0.0; *jdy = 0.0; } - } else if (pEdgeB == NIL(TWOedge)) { + } else if (pEdgeB == NULL) { if (pNode->nodeType == CONTACT) { *jny = pEdgeT->jn; *jpy = pEdgeT->jp; diff --git a/src/ciderlib/twod/twodopng.c b/src/ciderlib/twod/twodopng.c index e3daf6203..c89cb5b5b 100644 --- a/src/ciderlib/twod/twodopng.c +++ b/src/ciderlib/twod/twodopng.c @@ -26,7 +26,7 @@ TWOdopingValue(DOPprofile *pProfile, DOPtable *pTable, double x, /* Find the appropriate lookup table if necessary */ if (pProfile->type == LOOKUP) { - while ( pTable != NIL(DOPtable) ) { + while ( pTable != NULL ) { if (pTable->impId == pProfile->IMPID) { /* Found it */ break; @@ -34,7 +34,7 @@ TWOdopingValue(DOPprofile *pProfile, DOPtable *pTable, double x, pTable = pTable->next; } } - if ( pTable == NIL(DOPtable) ) { + if ( pTable == NULL ) { fprintf( stderr, "Error: unknown impurity profile %d\n", ((int)pProfile->IMPID) ); exit(1); @@ -194,7 +194,7 @@ TWOsetDoping(TWOdevice *pDevice, DOPprofile *pProfile, DOPtable *pTable) } } /* Now compute the contribution to the total doping from each profile. */ - for ( pP = pProfile; pP != NIL(DOPprofile); pP = pP->next ) { + for ( pP = pProfile; pP != NULL; pP = pP->next ) { for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; if ( pElem->elemType == SEMICON ) { diff --git a/src/ciderlib/twod/twoelect.c b/src/ciderlib/twod/twoelect.c index 94da4fae7..d3ffbbad8 100644 --- a/src/ciderlib/twod/twoelect.c +++ b/src/ciderlib/twod/twoelect.c @@ -51,12 +51,12 @@ checkElectrodes(TWOelectrode *pElectrode, int idHigh) */ pElectrode = TWOsortElectrodes( pElectrode, TWOcmpElectrode ); id = 1; - for (pE = pElectrode; pE != NIL(TWOelectrode); pE = pE->next) { + for (pE = pElectrode; pE != NULL; pE = pE->next) { if (pE->id == -1) pE->id = id++; } pElectrode = TWOsortElectrodes( pElectrode, TWOcmpElectrode ); - for (pE = pElectrode, id = 1; pE != NIL(TWOelectrode); pE = pE->next) { + for (pE = pElectrode, id = 1; pE != NULL; pE = pE->next) { /* Check id's */ if ( pE->id < 1 || pE->id > idHigh) { fprintf(stderr, "Error: electrode %d out of range\n",pE->id); @@ -105,7 +105,7 @@ setupContacts(TWOdevice *pDevice, TWOelectrode *pElectrode, * 2. Compute number of nodes in each electrode * 3. Overwrite SEMICON or INSULATOR nodeType at electrodes */ - for ( pE = pElectrode; pE != NIL(TWOelectrode); pE = pE->next ) { + for ( pE = pElectrode; pE != NULL; pE = pE->next ) { if (pE->id != id) { /* Found the next electrode */ id = pE->id; electrodeSize[id] = 0; @@ -114,7 +114,7 @@ setupContacts(TWOdevice *pDevice, TWOelectrode *pElectrode, for ( xIndex = pE->ixLo; xIndex <= pE->ixHi; xIndex++ ) { for ( yIndex = pE->iyLo; yIndex <= pE->iyHi; yIndex++ ) { pNode = nodeArray[ xIndex ][ yIndex ]; - if ( pNode != NIL( TWOnode ) ) { + if ( pNode != NULL ) { pNode->nodeType = CONTACT; /* Assign each node to an electrode only once */ @@ -144,17 +144,17 @@ setupContacts(TWOdevice *pDevice, TWOelectrode *pElectrode, printElectrodes( pDevice->pFirstContact ); */ id = 0; - pDevice->pFirstContact = pTail = NIL(TWOcontact); - for ( pE = pElectrode; pE != NIL(TWOelectrode); pE = pE->next ) { + pDevice->pFirstContact = pTail = NULL; + for ( pE = pElectrode; pE != NULL; pE = pE->next ) { if (pE->id != id) { /* Found the next electrode */ - if ( pDevice->pFirstContact == NIL(TWOcontact) ) { + if ( pDevice->pFirstContact == NULL ) { XCALLOC( pNew, TWOcontact, 1 ); pDevice->pFirstContact = pTail = pNew; } else { XCALLOC( pNew->next, TWOcontact, 1 ); pTail = pNew = pNew->next; } - pNew->next = NIL(TWOcontact); + pNew->next = NULL; id = pNew->id = pE->id; pNew->workf = pE->workf; pNew->numNodes = electrodeSize[id]; @@ -164,7 +164,7 @@ setupContacts(TWOdevice *pDevice, TWOelectrode *pElectrode, for ( xIndex = pE->ixLo; xIndex <= pE->ixHi; xIndex++ ) { for ( yIndex = pE->iyLo; yIndex <= pE->iyHi; yIndex++ ) { pNode = nodeArray[ xIndex ][ yIndex ]; - if ( pNode != NIL( TWOnode ) ) { + if ( pNode != NULL ) { /* Make sure node belongs to this electrode, then * clear ELCT_ID so that it is not grabbed again. */ diff --git a/src/ciderlib/twod/twofield.c b/src/ciderlib/twod/twofield.c index e8dd53679..03532c8af 100644 --- a/src/ciderlib/twod/twofield.c +++ b/src/ciderlib/twod/twofield.c @@ -30,10 +30,10 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) pElemBR = pNode->pBRElem; /* Null edge pointers */ - pEdgeT = pEdgeB = pEdgeL = pEdgeR = NIL(TWOedge); + pEdgeT = pEdgeB = pEdgeL = pEdgeR = NULL; /* Find edges next to node */ - if (pElemTL != NIL(TWOelem)) { + if (pElemTL != NULL) { if (pElemTL->evalEdges[1]) { pEdgeT = pElemTL->pRightEdge; materT = pElemTL->elemType; @@ -45,7 +45,7 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) dxL = pElemTL->dx; } } - if (pElemTR != NIL(TWOelem)) { + if (pElemTR != NULL) { if (pElemTR->evalEdges[3]) { pEdgeT = pElemTR->pLeftEdge; materT = pElemTR->elemType; @@ -57,7 +57,7 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) dxR = pElemTR->dx; } } - if (pElemBR != NIL(TWOelem)) { + if (pElemBR != NULL) { if (pElemBR->evalEdges[3]) { pEdgeB = pElemBR->pLeftEdge; materB = pElemBR->elemType; @@ -69,7 +69,7 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) dxR = pElemBR->dx; } } - if (pElemBL != NIL(TWOelem)) { + if (pElemBL != NULL) { if (pElemBL->evalEdges[1]) { pEdgeB = pElemBL->pRightEdge; materB = pElemBL->elemType; @@ -83,13 +83,13 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) } /* compute horizontal vector components */ /* No more than one of Left Edge or Right Edge is absent */ - if (pEdgeL == NIL(TWOedge)) { + if (pEdgeL == NULL) { if (pNode->nodeType == CONTACT) { *ex = -pEdgeR->dPsi / dxR; } else { *ex = 0.0; } - } else if (pEdgeR == NIL(TWOedge)) { + } else if (pEdgeR == NULL) { if (pNode->nodeType == CONTACT) { *ex = -pEdgeL->dPsi / dxL; } else { @@ -105,13 +105,13 @@ nodeFields(TWOelem *pElem, TWOnode *pNode, double *ex, double *ey) /* compute vertical vector components */ /* No more than one of Top Edge or Bottom Edge is absent */ - if (pEdgeT == NIL(TWOedge)) { + if (pEdgeT == NULL) { if (pNode->nodeType == CONTACT) { *ey = -pEdgeB->dPsi / dyB; } else { *ey = 0.0; } - } else if (pEdgeB == NIL(TWOedge)) { + } else if (pEdgeB == NULL) { if (pNode->nodeType == CONTACT) { *ey = -pEdgeT->dPsi / dyT; } else { diff --git a/src/ciderlib/twod/twomesh.c b/src/ciderlib/twod/twomesh.c index 2bcf163df..161bb0c3c 100644 --- a/src/ciderlib/twod/twomesh.c +++ b/src/ciderlib/twod/twomesh.c @@ -62,12 +62,12 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, } /* Mark the semiconductor/insulator domains. */ - if (pDomain == NIL(TWOdomain)) { + if (pDomain == NULL) { fprintf(stderr, "Error: domains not defined for device\n"); exit(-1); } - for (pD = pDomain; pD != NIL(TWOdomain); pD = pD->next) { - for (pM = pMaterial; pM != NIL(TWOmaterial); pM = pM->next) { + for (pD = pDomain; pD != NULL; pD = pD->next) { + for (pM = pMaterial; pM != NULL; pM = pM->next) { if (pD->material == pM->id) { break; } @@ -81,7 +81,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, } } /* Now mark all the metallic domains */ - for (pE = pElectrode; pE != NIL(TWOelectrode); pE = pE->next) { + for (pE = pElectrode; pE != NULL; pE = pE->next) { for (xIndex = pE->ixLo; xIndex <= pE->ixHi; xIndex++) { for (yIndex = pE->iyLo; yIndex <= pE->iyHi; yIndex++) { pNode = nodeArray[xIndex][yIndex]; @@ -140,7 +140,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, pNode = nodeArray[xIndex][yIndex]; if (pNode->nodeType == 0) { /* This node doesn't belong to a domain so delete it. */ - nodeArray[xIndex][yIndex] = NIL(TWOnode); + nodeArray[xIndex][yIndex] = NULL; FREE(pNode); } else { numNodes++; @@ -164,8 +164,8 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (xIndex = 1; xIndex < numXNodes; xIndex++) { pNode = nodeArray[xIndex][yIndex]; pNextHNode = nodeArray[xIndex + 1][yIndex]; - if (pNode != NIL(TWOnode) && - pNextHNode != NIL(TWOnode)) { + if (pNode != NULL && + pNextHNode != NULL) { XCALLOC(pEdge, TWOedge, 1); numEdges++; edgeArrayH[xIndex][yIndex] = pEdge; @@ -182,8 +182,8 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { pNode = nodeArray[xIndex][yIndex]; pNextVNode = nodeArray[xIndex][yIndex + 1]; - if (pNode != NIL(TWOnode) && - pNextVNode != NIL(TWOnode)) { + if (pNode != NULL && + pNextVNode != NULL) { XCALLOC(pEdge, TWOedge, 1); numEdges++; edgeArrayV[xIndex][yIndex] = pEdge; @@ -200,10 +200,10 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, pNextHNode = nodeArray[xIndex + 1][yIndex]; pNextVNode = nodeArray[xIndex][yIndex + 1]; pNextDNode = nodeArray[xIndex + 1][yIndex + 1]; - if (pNode != NIL(TWOnode) && - pNextHNode != NIL(TWOnode) && - pNextVNode != NIL(TWOnode) && - pNextDNode != NIL(TWOnode)) { + if (pNode != NULL && + pNextHNode != NULL && + pNextVNode != NULL && + pNextDNode != NULL) { numElem++; XCALLOC(pElem, TWOelem, 1); pElem->pTLNode = pNode; @@ -216,7 +216,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, pElem->pRightEdge = edgeArrayV[xIndex + 1][yIndex]; pDevice->elemArray[xIndex][yIndex] = pElem; } else { - pDevice->elemArray[xIndex][yIndex] = NIL(TWOelem); + pDevice->elemArray[xIndex][yIndex] = NULL; } } } @@ -228,7 +228,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { for (xIndex = 1; xIndex < numXNodes; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { pDevice->elements[numElem++] = pElem; } } @@ -238,7 +238,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { for (xIndex = 1; xIndex < numXNodes; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { pElem->pTLNode->pBRElem = pElem; pElem->pTRNode->pBLElem = pElem; pElem->pBLNode->pTRElem = pElem; @@ -260,8 +260,8 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, } /* Establish the element types using domain info. */ - for (pD = pDomain; pD != NIL(TWOdomain); pD = pD->next) { - for (pM = pMaterial; pM != NIL(TWOmaterial); pM = pM->next) { + for (pD = pDomain; pD != NULL; pD = pD->next) { + for (pM = pMaterial; pM != NULL; pM = pM->next) { if (pD->material == pM->id) { break; } @@ -270,7 +270,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = pD->iyLo; yIndex < pD->iyHi; yIndex++) { for (xIndex = pD->ixLo; xIndex < pD->ixHi; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { pElem->domain = pD->id; pElem->elemType = elemType; pElem->matlInfo = pM; @@ -283,7 +283,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { for (xIndex = 1; xIndex < numXNodes; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { for (index = 0; index <= 3; index++) { pEdge = pElem->pEdges[index]; pNode = pElem->pNodes[index]; @@ -298,7 +298,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, pNode1->nodeType == SCHOTTKY) { /* Schottky edge */ pEdge->edgeType = SCHOTTKY; - } else if (pElem1 == NIL(TWOelem)) { + } else if (pElem1 == NULL) { /* Neumann edge */ pEdge->edgeType = pElem->elemType; } else if (pElem->elemType != pElem1->elemType) { @@ -319,7 +319,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { for (xIndex = 1; xIndex < numXNodes; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { pElem->dx = xScale[xIndex + 1] - xScale[xIndex]; pElem->dy = yScale[yIndex + 1] - yScale[yIndex]; pElem->dxOverDy = pElem->dx / pElem->dy; @@ -358,7 +358,7 @@ TWObuildMesh(TWOdevice *pDevice, TWOdomain *pDomain, for (yIndex = 1; yIndex < numYNodes; yIndex++) { for (xIndex = 1; xIndex < numXNodes; xIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { pElem->direction = 0; pElem->channel = 0; pElem->surface = FALSE; @@ -573,7 +573,7 @@ doMobCoeffs(TWOelem *pElem, int index) pEdge = pElem->pEdges[ index ]; /* If neighbor is not SEMICON, assign and return */ - if ( (pNElem == NIL(TWOelem)) || (pNElem->elemType == INSULATOR) ) { + if ( (pNElem == NULL) || (pNElem->elemType == INSULATOR) ) { if ( index == 0 || index == 3 ) { pEdge->kNeg = 0.0; pEdge->kPos = 1.0; diff --git a/src/ciderlib/twod/twoncont.c b/src/ciderlib/twod/twoncont.c index 572967d36..6eb832c56 100644 --- a/src/ciderlib/twod/twoncont.c +++ b/src/ciderlib/twod/twoncont.c @@ -162,7 +162,7 @@ void * Don't need these pointers if SurfaceMobility isn't set. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { @@ -392,7 +392,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -406,7 +406,7 @@ void TWONmobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -431,7 +431,7 @@ void double pConc; /* first compute the currents and derivatives */ - TWONcommonTerms( pDevice, FALSE, FALSE, NIL(TWOtranInfo) ); + TWONcommonTerms( pDevice, FALSE, FALSE, NULL ); /* zero the matrix */ spClear( pDevice->matrix ); @@ -530,7 +530,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -544,7 +544,7 @@ void TWONmobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -780,7 +780,7 @@ void /* DAG: calculate mobilities for channel elems */ if ( SurfaceMobility ) { for ( pCh = pDevice->pChannel; - pCh != NIL(TWOchannel); pCh = pCh->next ) { + pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { case 0: @@ -811,7 +811,7 @@ void TWONmobility( pElem, eSurf ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCH != NIL */ + } /* endfor pCH != NULL */ } /* endif SurfaceMobility */ /* calculate the current densities assuming mobility value depend on Ex,Ey*/ diff --git a/src/ciderlib/twod/twopcont.c b/src/ciderlib/twod/twopcont.c index e72b6f286..67e3bc22f 100644 --- a/src/ciderlib/twod/twopcont.c +++ b/src/ciderlib/twod/twopcont.c @@ -161,7 +161,7 @@ void * Don't need these pointers if SurfaceMobility isn't set. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { @@ -391,7 +391,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -405,7 +405,7 @@ void TWOPmobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -429,7 +429,7 @@ void double nConc; /* first compute the currents and derivatives */ - TWOPcommonTerms( pDevice, FALSE, FALSE, NIL(TWOtranInfo) ); + TWOPcommonTerms( pDevice, FALSE, FALSE, NULL ); /* zero the matrix */ spClear( pDevice->matrix ); @@ -528,7 +528,7 @@ void /* Calculate the Inversion-Layer Mobility Dependent Terms in Jac. */ if ( MobDeriv && SurfaceMobility ) { - for ( pCh = pDevice->pChannel; pCh != NIL(TWOchannel); + for ( pCh = pDevice->pChannel; pCh != NULL; pCh = pCh->next ) { /* Find effective height of oxide element at interface. */ if ( pCh->type%2 == 0 ) { /* Vertical slice */ @@ -542,7 +542,7 @@ void TWOPmobDeriv( pElem, pCh->type, ds ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCh != NIL */ + } /* endfor pCh != NULL */ } /* endif MobDeriv and SurfaceMobility */ } @@ -779,7 +779,7 @@ void /* DAG: calculate mobilities for channel elems */ if ( SurfaceMobility ) { for ( pCh = pDevice->pChannel; - pCh != NIL(TWOchannel); pCh = pCh->next ) { + pCh != NULL; pCh = pCh->next ) { pElem = pCh->pNElem; switch (pCh->type) { case 0: @@ -810,7 +810,7 @@ void TWOPmobility( pElem, eSurf ); pElem = pElem->pElems[ nextIndex ]; } - } /* endfor pCH != NIL */ + } /* endfor pCH != NULL */ } /* endif SurfaceMobility */ /* calculate the current densities assuming mobility value depend on Ex,Ey*/ diff --git a/src/ciderlib/twod/twoprint.c b/src/ciderlib/twod/twoprint.c index 52c88fe7e..20d517a08 100644 --- a/src/ciderlib/twod/twoprint.c +++ b/src/ciderlib/twod/twoprint.c @@ -107,7 +107,7 @@ TWOprnSolution(FILE *file, TWOdevice *pDevice, OUTPcard *output) for (xIndex = 1; xIndex < pDevice->numXNodes; xIndex++) { for (yIndex = 1; yIndex < pDevice->numYNodes; yIndex++) { TWOelem *pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { if (refPsi == 0.0 && pElem->matlInfo->type == SEMICON) { refPsi = pElem->matlInfo->refPsi; } @@ -210,12 +210,12 @@ TWOprnSolution(FILE *file, TWOdevice *pDevice, OUTPcard *output) for (xIndex = 1; xIndex <= pDevice->numXNodes; xIndex++) { for (yIndex = 1; yIndex <= pDevice->numYNodes; yIndex++) { pNode = nodeArray[xIndex][yIndex]; - if (pNode != NIL(TWOnode)) { + if (pNode != NULL) { TWOelem *pElem = NULL; /* Find the element to which this node belongs. */ for (index = 0; index < 4; index++) { pElem = pNode->pElems[index]; - if (pElem != NIL(TWOelem) && pElem->evalNodes[(index + 2) % 4]) + if (pElem != NULL && pElem->evalNodes[(index + 2) % 4]) break; } nodeFields(pElem, pNode, &ex, &ey); diff --git a/src/ciderlib/twod/twoproj.c b/src/ciderlib/twod/twoproj.c index 5eb89dfb9..a2a9c7c1a 100644 --- a/src/ciderlib/twod/twoproj.c +++ b/src/ciderlib/twod/twoproj.c @@ -52,7 +52,7 @@ void NUMD2project(TWOdevice *pDevice, double delV) } incVpn = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVpn, NIL(spREAL), NIL(spREAL) ); + spSolve( pDevice->matrix, pDevice->rhs, incVpn, NULL, NULL ); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -131,7 +131,7 @@ void NBJT2project(TWOdevice *pDevice, double delVce, double delVbe) if ( ABS( delVce ) > MIN_DELV ) { incVce = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pColContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVce, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVce, NULL, NULL); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -175,7 +175,7 @@ void NBJT2project(TWOdevice *pDevice, double delVce, double delVbe) if ( ABS( delVbe ) > MIN_DELV ) { incVbe = pDevice->copiedSolution; storeNewRhs( pDevice, pBaseContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVbe, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVbe, NULL, NULL); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -265,7 +265,7 @@ void NUMOSproject(TWOdevice *pDevice, double delVdb, double delVsb, incVdb = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pDContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVdb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVdb, NULL, NULL); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -310,7 +310,7 @@ void NUMOSproject(TWOdevice *pDevice, double delVdb, double delVsb, incVsb = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pSContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVsb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVsb, NULL, NULL); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -354,7 +354,7 @@ void NUMOSproject(TWOdevice *pDevice, double delVdb, double delVsb, incVgb = pDevice->dcDeltaSolution; storeNewRhs( pDevice, pGContact ); - spSolve( pDevice->matrix, pDevice->rhs, incVgb, NIL(spREAL), NIL(spREAL)); + spSolve( pDevice->matrix, pDevice->rhs, incVgb, NULL, NULL); for ( eIndex = 1; eIndex <= pDevice->numElems; eIndex++ ) { pElem = pDevice->elements[ eIndex ]; @@ -610,7 +610,7 @@ void storeNewRhs(TWOdevice *pDevice, TWOcontact *pContact) pNode = pContact->pNodes[ index ]; for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem)) { + if ( pElem != NULL) { /* found an element to which this node belongs */ switch ( i ) { case 0: diff --git a/src/ciderlib/twod/tworead.c b/src/ciderlib/twod/tworead.c index 30c9314c1..6590e3a04 100644 --- a/src/ciderlib/twod/tworead.c +++ b/src/ciderlib/twod/tworead.c @@ -76,7 +76,7 @@ TWOreadState(TWOdevice *pDevice, char *fileName, int numVolts, double *pV1, for (xIndex = 1; xIndex < pDevice->numXNodes; xIndex++) { for (yIndex = 1; yIndex < pDevice->numYNodes; yIndex++) { pElem = pDevice->elemArray[xIndex][yIndex]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { if (refPsi == 0.0 && pElem->matlInfo->type == SEMICON) { refPsi = pElem->matlInfo->refPsi; } @@ -94,7 +94,7 @@ TWOreadState(TWOdevice *pDevice, char *fileName, int numVolts, double *pV1, for (yIndex = 1; yIndex <= pDevice->numYNodes; yIndex++) { pNode = nodeArray[xIndex][yIndex]; index++; - if (pNode != NIL(TWOnode)) { + if (pNode != NULL) { pNode->psi = psiData[index-1]/VNorm + refPsi; pNode->nConc = nData[index-1]/NNorm; pNode->pConc = pData[index-1]/NNorm; diff --git a/src/ciderlib/twod/twosetbc.c b/src/ciderlib/twod/twosetbc.c index dd9186ec4..5be7e95ca 100644 --- a/src/ciderlib/twod/twosetbc.c +++ b/src/ciderlib/twod/twosetbc.c @@ -60,7 +60,7 @@ static void /* Find this node's owner element. */ for ( i = 0; i <= 3; i++ ) { pElem = pNode->pElems[ i ]; - if ( pElem != NIL(TWOelem) && pElem->evalNodes[ (i+2)%4 ] ) { + if ( pElem != NULL && pElem->evalNodes[ (i+2)%4 ] ) { break; /* got it */ } } diff --git a/src/ciderlib/twod/twosetup.c b/src/ciderlib/twod/twosetup.c index 3982f2267..9fe64f1c5 100644 --- a/src/ciderlib/twod/twosetup.c +++ b/src/ciderlib/twod/twosetup.c @@ -130,7 +130,7 @@ void TWOsetup(TWOdevice *pDevice) } } - for ( pC = pDevice->pFirstContact; pC != NIL(TWOcontact); pC = pC->next ) { + for ( pC = pDevice->pFirstContact; pC != NULL; pC = pC->next ) { numContactNodes = pC->numNodes; for ( index = 0; index < numContactNodes; index++ ) { pNode = pC->pNodes[ index ]; @@ -169,7 +169,7 @@ TWOcopyBCinfo(TWOdevice *pDevice, TWOelem *pElem, BDRYcard *card, int index ) area = 0.0; for (eIndex = 0; eIndex <= 3; eIndex++) { pNElem = pNode->pElems[eIndex]; - if (pNElem != NIL(TWOelem) && pElem->elemType == SEMICON) { + if (pNElem != NULL && pElem->elemType == SEMICON) { area += 0.25 * pElem->dx * pElem->dy; } } @@ -205,12 +205,12 @@ TWOcopyBCinfo(TWOdevice *pDevice, TWOelem *pElem, BDRYcard *card, int index ) newChannel->pSeed = pElem; newChannel->pNElem = pNElem; newChannel->type = index; - if (pDevice->pChannel != NIL(TWOchannel)) { + if (pDevice->pChannel != NULL) { newChannel->id = pDevice->pChannel->id + 1; newChannel->next = pDevice->pChannel; } else { newChannel->id = 1; - newChannel->next = NIL(TWOchannel); + newChannel->next = NULL; } pDevice->pChannel = newChannel; @@ -252,11 +252,11 @@ void TWOsetBCparams(TWOdevice *pDevice, BDRYcard *cardList) TWOelem *pElem, *pNElem; BDRYcard *card; - for ( card = cardList; card != NIL(BDRYcard); card = card->BDRYnextCard ) { + for ( card = cardList; card != NULL; card = card->BDRYnextCard ) { for (xIndex = card->BDRYixLow; xIndex < card->BDRYixHigh; xIndex++) { for (yIndex = card->BDRYiyLow; yIndex < card->BDRYiyHigh; yIndex++) { pElem = pDevice->elemArray[ xIndex ][ yIndex ]; - if (pElem != NIL(TWOelem)) { + if (pElem != NULL) { if (pElem->domain == card->BDRYdomain) { for (index = 0; index <= 3; index++) { if (pElem->evalEdges[index]) { diff --git a/src/ciderlib/twod/twosolve.c b/src/ciderlib/twod/twosolve.c index a08b290dc..1ea8c7730 100644 --- a/src/ciderlib/twod/twosolve.c +++ b/src/ciderlib/twod/twosolve.c @@ -122,7 +122,7 @@ TWOdcSolve(TWOdevice *pDevice, int iterationLimit, BOOLEAN newSolver, /* SOLVE */ startTime = SPfrontEnd->IFseconds(); - spSolve(pDevice->matrix, rhs, delta, NIL(spREAL), NIL(spREAL)); + spSolve(pDevice->matrix, rhs, delta, NULL, NULL); solveTime += SPfrontEnd->IFseconds() - startTime; /* UPDATE */ @@ -1120,7 +1120,7 @@ TWOnuNorm(TWOdevice *pDevice) /* the LU Decomposed matrix is available. use it to calculate x */ spSolve(pDevice->matrix, pDevice->rhs, pDevice->rhsImag, - NIL(spREAL), NIL(spREAL)); + NULL, NULL); /* the solution is in the rhsImag vector */ /* compute L2-norm of the rhsImag vector */ @@ -1179,7 +1179,7 @@ TWOjacCheck(TWOdevice *pDevice, BOOLEAN tranAnalysis, TWOtranInfo *info) for (rIndex = 1; rIndex <= pDevice->numEqns; rIndex++) { diff = (pDevice->rhsImag[rIndex] - pDevice->rhs[rIndex]) / del; dptr = spFindElement(pDevice->matrix, rIndex, index); - if (dptr != NIL(double)) { + if (dptr != NULL) { tol = (1e-4 * pDevice->abstol) + (1e-2 * MAX(ABS(diff), ABS(*dptr))); if ((diff != 0.0) && (ABS(diff - *dptr) > tol)) { fprintf(stderr, "Mismatch[%d][%d]: FD = %11.4e, AJ = %11.4e\n\t FD-AJ = %11.4e vs. %11.4e\n", diff --git a/src/include/ngspice/macros.h b/src/include/ngspice/macros.h index c485517cf..7cb17e1e9 100644 --- a/src/include/ngspice/macros.h +++ b/src/include/ngspice/macros.h @@ -40,7 +40,6 @@ #define SWAP(type, a, b) {type swapx; swapx = a; a = b; b = swapx;} -#define NIL(type) ((type *)0) #define ABORT() fflush(stderr);fflush(stdout);abort(); #define MERROR(CODE, MESSAGE) \ diff --git a/src/spicelib/devices/nbjt/nbjtset.c b/src/spicelib/devices/nbjt/nbjtset.c index 110a57a09..ab17c84bc 100644 --- a/src/spicelib/devices/nbjt/nbjtset.c +++ b/src/spicelib/devices/nbjt/nbjtset.c @@ -16,7 +16,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group #include "ngspice/suffix.h" #include "ngspice/meshext.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var =(type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ @@ -40,11 +39,11 @@ NBJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) int error; int xMeshSize; ONEdevice *pDevice; - ONEcoord *xCoordList = NIL(ONEcoord); - ONEdomain *domainList = NIL(ONEdomain); - DOPprofile *profileList = NIL(DOPprofile); - DOPtable *dopTableList = NIL(DOPtable); - ONEmaterial *pM, *pMaterial = NULL, *materialList = NIL(ONEmaterial); + ONEcoord *xCoordList = NULL; + ONEdomain *domainList = NULL; + DOPprofile *profileList = NULL; + DOPtable *dopTableList = NULL; + ONEmaterial *pM, *pMaterial = NULL, *materialList = NULL; double startTime; @@ -134,15 +133,15 @@ NBJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) if ((error = MESHsetup('x', model->NBJTxMeshes, &xCoordList, &xMeshSize)) != 0) return (error); if ((error = DOMNsetup(model->NBJTdomains, &domainList, - xCoordList, NIL(ONEcoord), materialList)) != 0) + xCoordList, NULL, materialList)) != 0) return (error); if ((error = BDRYsetup(model->NBJTboundaries, - xCoordList, NIL(ONEcoord), domainList)) != 0) + xCoordList, NULL, domainList)) != 0) return (error); if ((error = CONTsetup(model->NBJTcontacts, NULL)) != 0) return (error); if ((error = DOPsetup(model->NBJTdopings, &profileList, - &dopTableList, xCoordList, NIL(ONEcoord))) != 0) + &dopTableList, xCoordList, NULL)) != 0) return (error); model->NBJTmatlInfo = materialList; model->NBJTprofiles = profileList; @@ -187,13 +186,13 @@ NBJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) pDevice->numNodes = xMeshSize; pDevice->abstol = methods->METHdabstol; pDevice->reltol = methods->METHdreltol; - pDevice->rhsImag = NIL(double); + pDevice->rhsImag = NULL; TSCALLOC(pDevice->elemArray, pDevice->numNodes, ONEelem *); /* Create a copy of material data that can change with temperature. */ - pDevice->pMaterials = NIL(ONEmaterial); - for (pM = materialList; pM != NIL(ONEmaterial); pM = pM->next) { - if (pDevice->pMaterials == NIL(ONEmaterial)) { + pDevice->pMaterials = NULL; + for (pM = materialList; pM != NULL; pM = pM->next) { + if (pDevice->pMaterials == NULL) { TSCALLOC(pMaterial, 1, ONEmaterial); pDevice->pMaterials = pMaterial; } else { @@ -202,7 +201,7 @@ NBJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Copy everything, then fix the incorrect pointer. */ bcopy(pM, pMaterial, sizeof(ONEmaterial)); - pMaterial->next = NIL(ONEmaterial); + pMaterial->next = NULL; } /* generate the mesh structure for the device */ diff --git a/src/spicelib/devices/nbjt/nbjttemp.c b/src/spicelib/devices/nbjt/nbjttemp.c index ad7835402..13ed6717e 100644 --- a/src/spicelib/devices/nbjt/nbjttemp.c +++ b/src/spicelib/devices/nbjt/nbjttemp.c @@ -14,7 +14,6 @@ Author: 1992 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) extern int ONEdcDebug; int @@ -45,7 +44,7 @@ NBJTtemp(GENmodel *inModel, CKTcircuit *ckt) if (!options->OPTNtnomGiven) { options->OPTNtnom = ckt->CKTnomTemp; } - for (pM = model->NBJTmatlInfo; pM != NIL(ONEmaterial); pM = pM->next) { + for (pM = model->NBJTmatlInfo; pM != NULL; pM = pM->next) { pM->tnom = options->OPTNtnom; } diff --git a/src/spicelib/devices/nbjt2/nbt2set.c b/src/spicelib/devices/nbjt2/nbt2set.c index 231ee561d..882c05a61 100644 --- a/src/spicelib/devices/nbjt2/nbt2set.c +++ b/src/spicelib/devices/nbjt2/nbt2set.c @@ -17,7 +17,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var = (type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ @@ -41,13 +40,13 @@ NBJT2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) int error, xIndex; int xMeshSize, yMeshSize; TWOdevice *pDevice; - TWOcoord *xCoordList = NIL(TWOcoord); - TWOcoord *yCoordList = NIL(TWOcoord); - TWOdomain *domainList = NIL(TWOdomain); - TWOelectrode *electrodeList = NIL(TWOelectrode); - TWOmaterial *pM, *pMaterial = NIL(TWOmaterial), *materialList = NIL(TWOmaterial); - DOPprofile *profileList = NIL(DOPprofile); - DOPtable *dopTableList = NIL(DOPtable); + TWOcoord *xCoordList = NULL; + TWOcoord *yCoordList = NULL; + TWOdomain *domainList = NULL; + TWOelectrode *electrodeList = NULL; + TWOmaterial *pM, *pMaterial = NULL, *materialList = NULL; + DOPprofile *profileList = NULL; + DOPtable *dopTableList = NULL; double startTime; @@ -206,16 +205,16 @@ NBJT2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) pDevice->yScale = MESHmkArray(yCoordList, yMeshSize); pDevice->abstol = methods->METHdabstol; pDevice->reltol = methods->METHdreltol; - pDevice->rhsImag = NIL(double); + pDevice->rhsImag = NULL; TSCALLOC(pDevice->elemArray, pDevice->numXNodes, TWOelem **); for (xIndex = 1; xIndex < pDevice->numXNodes; xIndex++) { TSCALLOC(pDevice->elemArray[xIndex], pDevice->numYNodes, TWOelem *); } /* Create a copy of material data that can change with temperature. */ - pDevice->pMaterials = NIL(TWOmaterial); - for (pM = materialList; pM != NIL(TWOmaterial); pM = pM->next) { - if (pDevice->pMaterials == NIL(TWOmaterial)) { + pDevice->pMaterials = NULL; + for (pM = materialList; pM != NULL; pM = pM->next) { + if (pDevice->pMaterials == NULL) { TSCALLOC(pMaterial, 1, TWOmaterial); pDevice->pMaterials = pMaterial; } else { @@ -224,7 +223,7 @@ NBJT2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Copy everything, then fix the incorrect pointer. */ bcopy(pM, pMaterial, sizeof(TWOmaterial)); - pMaterial->next = NIL(TWOmaterial); + pMaterial->next = NULL; } /* Generate the mesh structure for the device. */ diff --git a/src/spicelib/devices/nbjt2/nbt2temp.c b/src/spicelib/devices/nbjt2/nbt2temp.c index d6e1d5a10..48bdbd572 100644 --- a/src/spicelib/devices/nbjt2/nbt2temp.c +++ b/src/spicelib/devices/nbjt2/nbt2temp.c @@ -15,7 +15,6 @@ Author: 1992 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) int NBJT2temp(GENmodel *inModel, CKTcircuit *ckt) @@ -43,7 +42,7 @@ NBJT2temp(GENmodel *inModel, CKTcircuit *ckt) if (!options->OPTNtnomGiven) { options->OPTNtnom = ckt->CKTnomTemp; } - for (pM = model->NBJT2matlInfo; pM != NIL(TWOmaterial); + for (pM = model->NBJT2matlInfo; pM != NULL; pM = pM->next) { pM->tnom = options->OPTNtnom; } diff --git a/src/spicelib/devices/ndev/ndevset.c b/src/spicelib/devices/ndev/ndevset.c index b6fe6b484..2b55ae89e 100644 --- a/src/spicelib/devices/ndev/ndevset.c +++ b/src/spicelib/devices/ndev/ndevset.c @@ -13,7 +13,6 @@ University of Science and Technology of China #include "ngspice/sperror.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var =(type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ diff --git a/src/spicelib/devices/ndev/ndevtemp.c b/src/spicelib/devices/ndev/ndevtemp.c index cea9a7f97..fa7c3c40b 100644 --- a/src/spicelib/devices/ndev/ndevtemp.c +++ b/src/spicelib/devices/ndev/ndevtemp.c @@ -12,7 +12,6 @@ Author: 1992 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/sperror.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) int NDEVtemp( diff --git a/src/spicelib/devices/numd/numdset.c b/src/spicelib/devices/numd/numdset.c index 027a68db7..86f16ccc0 100644 --- a/src/spicelib/devices/numd/numdset.c +++ b/src/spicelib/devices/numd/numdset.c @@ -16,7 +16,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group #include "ngspice/suffix.h" #include "ngspice/meshext.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var =(type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ @@ -41,11 +40,11 @@ NUMDsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) int error; int xMeshSize; ONEdevice *pDevice; - ONEcoord *xCoordList = NIL(ONEcoord); - ONEdomain *domainList = NIL(ONEdomain); - ONEmaterial *pM, *pMaterial = NIL(ONEmaterial), *materialList = NIL(ONEmaterial); - DOPprofile *profileList = NIL(DOPprofile); - DOPtable *dopTableList = NIL(DOPtable); + ONEcoord *xCoordList = NULL; + ONEdomain *domainList = NULL; + ONEmaterial *pM, *pMaterial = NULL, *materialList = NULL; + DOPprofile *profileList = NULL; + DOPtable *dopTableList = NULL; double startTime; @@ -129,15 +128,15 @@ NUMDsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) if ((error = MESHsetup('x', model->NUMDxMeshes, &xCoordList, &xMeshSize)) != 0) return (error); if ((error = DOMNsetup(model->NUMDdomains, &domainList, - xCoordList, NIL(ONEcoord), materialList)) != 0) + xCoordList, NULL, materialList)) != 0) return (error); if ((error = BDRYsetup(model->NUMDboundaries, - xCoordList, NIL(ONEcoord), domainList)) != 0) + xCoordList, NULL, domainList)) != 0) return (error); if ((error = CONTsetup(model->NUMDcontacts, NULL)) != 0) return (error); if ((error = DOPsetup(model->NUMDdopings, &profileList, - &dopTableList, xCoordList, NIL(ONEcoord))) != 0) + &dopTableList, xCoordList, NULL)) != 0) return (error); model->NUMDmatlInfo = materialList; model->NUMDprofiles = profileList; @@ -182,13 +181,13 @@ NUMDsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) pDevice->numNodes = xMeshSize; pDevice->abstol = methods->METHdabstol; pDevice->reltol = methods->METHdreltol; - pDevice->rhsImag = NIL(double); + pDevice->rhsImag = NULL; TSCALLOC(pDevice->elemArray, pDevice->numNodes, ONEelem *); /* Create a copy of material data that can change with temperature. */ - pDevice->pMaterials = NIL(ONEmaterial); - for (pM = materialList; pM != NIL(ONEmaterial); pM = pM->next) { - if (pDevice->pMaterials == NIL(ONEmaterial)) { + pDevice->pMaterials = NULL; + for (pM = materialList; pM != NULL; pM = pM->next) { + if (pDevice->pMaterials == NULL) { TSCALLOC(pMaterial, 1, ONEmaterial); pDevice->pMaterials = pMaterial; } else { @@ -197,7 +196,7 @@ NUMDsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Copy everything, then fix the incorrect pointer. */ bcopy(pM, pMaterial, sizeof(ONEmaterial)); - pMaterial->next = NIL(ONEmaterial); + pMaterial->next = NULL; } /* generate the mesh structure for the device */ diff --git a/src/spicelib/devices/numd/numdtemp.c b/src/spicelib/devices/numd/numdtemp.c index 8ace41d1d..fd3dff0f3 100644 --- a/src/spicelib/devices/numd/numdtemp.c +++ b/src/spicelib/devices/numd/numdtemp.c @@ -14,7 +14,6 @@ Author: 1992 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) int NUMDtemp(GENmodel *inModel, CKTcircuit *ckt) @@ -42,7 +41,7 @@ NUMDtemp(GENmodel *inModel, CKTcircuit *ckt) if (!options->OPTNtnomGiven) { options->OPTNtnom = ckt->CKTnomTemp; } - for (pM = model->NUMDmatlInfo; pM != NIL(ONEmaterial); pM = pM->next) { + for (pM = model->NUMDmatlInfo; pM != NULL; pM = pM->next) { pM->tnom = options->OPTNtnom; } diff --git a/src/spicelib/devices/numd2/nud2set.c b/src/spicelib/devices/numd2/nud2set.c index fde80d7ad..ae200715d 100644 --- a/src/spicelib/devices/numd2/nud2set.c +++ b/src/spicelib/devices/numd2/nud2set.c @@ -17,7 +17,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group #include "ngspice/ciderinp.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var =(type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ @@ -41,13 +40,13 @@ NUMD2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) int error, xIndex; int xMeshSize, yMeshSize; TWOdevice *pDevice; - TWOcoord *xCoordList = NIL(TWOcoord); - TWOcoord *yCoordList = NIL(TWOcoord); - TWOdomain *domainList = NIL(TWOdomain); - TWOelectrode *electrodeList = NIL(TWOelectrode); - TWOmaterial *pM, *pMaterial = NIL(TWOmaterial), *materialList = NIL(TWOmaterial); - DOPprofile *profileList = NIL(DOPprofile); - DOPtable *dopTableList = NIL(DOPtable); + TWOcoord *xCoordList = NULL; + TWOcoord *yCoordList = NULL; + TWOdomain *domainList = NULL; + TWOelectrode *electrodeList = NULL; + TWOmaterial *pM, *pMaterial = NULL, *materialList = NULL; + DOPprofile *profileList = NULL; + DOPtable *dopTableList = NULL; double startTime; @@ -211,9 +210,9 @@ NUMD2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Create a copy of material data that can change with temperature. */ - pDevice->pMaterials = NIL(TWOmaterial); - for (pM = materialList; pM != NIL(TWOmaterial); pM = pM->next) { - if (pDevice->pMaterials == NIL(TWOmaterial)) { + pDevice->pMaterials = NULL; + for (pM = materialList; pM != NULL; pM = pM->next) { + if (pDevice->pMaterials == NULL) { TSCALLOC(pMaterial, 1, TWOmaterial); pDevice->pMaterials = pMaterial; } else { @@ -222,7 +221,7 @@ NUMD2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Copy everything, then fix the incorrect pointer. */ bcopy(pM, pMaterial, sizeof(TWOmaterial)); - pMaterial->next = NIL(TWOmaterial); + pMaterial->next = NULL; } /* Generate the mesh structure for the device. */ diff --git a/src/spicelib/devices/numd2/nud2temp.c b/src/spicelib/devices/numd2/nud2temp.c index 39fad9c89..a0c416d97 100644 --- a/src/spicelib/devices/numd2/nud2temp.c +++ b/src/spicelib/devices/numd2/nud2temp.c @@ -15,7 +15,6 @@ Author: 1992 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) int NUMD2temp(GENmodel *inModel, CKTcircuit *ckt) @@ -42,7 +41,7 @@ NUMD2temp(GENmodel *inModel, CKTcircuit *ckt) if (!options->OPTNtnomGiven) { options->OPTNtnom = ckt->CKTnomTemp; } - for (pM = model->NUMD2matlInfo; pM != NIL(TWOmaterial); + for (pM = model->NUMD2matlInfo; pM != NULL; pM = pM->next) { pM->tnom = options->OPTNtnom; } diff --git a/src/spicelib/devices/numos/nummset.c b/src/spicelib/devices/numos/nummset.c index 4d1af7282..8ad6944d7 100644 --- a/src/spicelib/devices/numos/nummset.c +++ b/src/spicelib/devices/numos/nummset.c @@ -17,7 +17,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group #include "ngspice/ciderinp.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) #define TSCALLOC(var, size, type)\ if (size && (var = (type *)calloc(1, (unsigned)(size)*sizeof(type))) == NULL) {\ return(E_NOMEM);\ @@ -41,13 +40,13 @@ NUMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) int error, xIndex; int xMeshSize, yMeshSize; TWOdevice *pDevice; - TWOcoord *xCoordList = NIL(TWOcoord); - TWOcoord *yCoordList = NIL(TWOcoord); - TWOdomain *domainList = NIL(TWOdomain); - TWOelectrode *electrodeList = NIL(TWOelectrode); - TWOmaterial *pM, *pMaterial = NIL(TWOmaterial), *materialList = NIL(TWOmaterial); - DOPprofile *profileList = NIL(DOPprofile); - DOPtable *dopTableList = NIL(DOPtable); + TWOcoord *xCoordList = NULL; + TWOcoord *yCoordList = NULL; + TWOdomain *domainList = NULL; + TWOelectrode *electrodeList = NULL; + TWOmaterial *pM, *pMaterial = NULL, *materialList = NULL; + DOPprofile *profileList = NULL; + DOPtable *dopTableList = NULL; double startTime; /* loop through all the models */ @@ -210,9 +209,9 @@ NUMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Create a copy of material data that can change with temperature. */ - pDevice->pMaterials = NIL(TWOmaterial); - for (pM = materialList; pM != NIL(TWOmaterial); pM = pM->next) { - if (pDevice->pMaterials == NIL(TWOmaterial)) { + pDevice->pMaterials = NULL; + for (pM = materialList; pM != NULL; pM = pM->next) { + if (pDevice->pMaterials == NULL) { TSCALLOC(pMaterial, 1, TWOmaterial); pDevice->pMaterials = pMaterial; } else { @@ -221,7 +220,7 @@ NUMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) } /* Copy everything, then fix the incorrect pointer. */ bcopy(pM, pMaterial, sizeof(TWOmaterial)); - pMaterial->next = NIL(TWOmaterial); + pMaterial->next = NULL; } /* Generate the mesh structure for the device. */ diff --git a/src/spicelib/devices/numos/nummtemp.c b/src/spicelib/devices/numos/nummtemp.c index 15f6611f3..0a126fd0f 100644 --- a/src/spicelib/devices/numos/nummtemp.c +++ b/src/spicelib/devices/numos/nummtemp.c @@ -15,7 +15,6 @@ Author: 1991 David A. Gates, U. C. Berkeley CAD Group #include "ngspice/cidersupt.h" #include "ngspice/suffix.h" -#define NIL(type) ((type *)0) int NUMOStemp(GENmodel *inModel, CKTcircuit *ckt) @@ -43,7 +42,7 @@ NUMOStemp(GENmodel *inModel, CKTcircuit *ckt) if (!options->OPTNtnomGiven) { options->OPTNtnom = ckt->CKTnomTemp; } - for (pM = model->NUMOSmatlInfo; pM != NIL(TWOmaterial); + for (pM = model->NUMOSmatlInfo; pM != NULL; pM = pM->next) { pM->tnom = options->OPTNtnom; }