From 29f162db02a37f7969489f4fc21c78d4697a61b7 Mon Sep 17 00:00:00 2001 From: Pierre Nguyen Tuong Date: Fri, 16 Aug 2002 19:19:49 +0000 Subject: [PATCH] Ajout de trois fonctions pour positionner les valeurs des capacites, resistances et inductances apres leur creation. --- alliance/src/genlib/man3/GENLIB_LOCAP.3 | 6 +- alliance/src/genlib/man3/GENLIB_LORES.3 | 6 +- alliance/src/genlib/man3/GENLIB_LOSELF.3 | 6 +- alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 | 98 ++++++++++++++++++++ alliance/src/genlib/man3/GENLIB_SET_LORES.3 | 98 ++++++++++++++++++++ alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 | 98 ++++++++++++++++++++ alliance/src/genlib/man3/Makefile.am | 3 + alliance/src/mbk/man3/getlocap.3 | 4 +- alliance/src/mbk/man3/getlores.3 | 4 +- alliance/src/mbk/man3/getloself.3 | 4 +- alliance/src/mbk/man3/setlocap.3 | 4 +- alliance/src/mbk/man3/setlores.3 | 4 +- alliance/src/mbk/man3/setloself.3 | 4 +- alliance/src/mbk/src/mbk_lo.c | 89 +++++++++++++++++- alliance/src/mbk/src/mbk_lo.h | 5 +- alliance/src/mbk/src/mlo.h | 8 +- 16 files changed, 417 insertions(+), 24 deletions(-) create mode 100644 alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 create mode 100644 alliance/src/genlib/man3/GENLIB_SET_LORES.3 create mode 100644 alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 diff --git a/alliance/src/genlib/man3/GENLIB_LOCAP.3 b/alliance/src/genlib/man3/GENLIB_LOCAP.3 index cb05689d..9f676349 100644 --- a/alliance/src/genlib/man3/GENLIB_LOCAP.3 +++ b/alliance/src/genlib/man3/GENLIB_LOCAP.3 @@ -1,4 +1,4 @@ -.\" $Id: GENLIB_LOCAP.3,v 1.1 2002/08/16 13:35:20 pnt Exp $ +.\" $Id: GENLIB_LOCAP.3,v 1.2 2002/08/16 19:15:02 pnt Exp $ .\" @(#)GENLIB_LOCAP.3 2.11 2002/08/16; Labo LIP6/ASIM; Author : Pierre Nguyen TUong .if t \{\ .so man1/alc_contents.mac @@ -78,8 +78,8 @@ int main(int argc,char \(**argv[]) GENLIB_DEF_LOFIG("parallel_cap") ; /\(** Define interface \(**/ - GENLIB_LOCON("i", IN, "input") ; - GENLIB_LOCON("f", OUT, "output") ; + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; /\(** Add capacitors \(**/ GENLIB_LOCAP(CAPMIM,5.1,"input","output","cap1") ; diff --git a/alliance/src/genlib/man3/GENLIB_LORES.3 b/alliance/src/genlib/man3/GENLIB_LORES.3 index 44d6449c..58d5c5f3 100644 --- a/alliance/src/genlib/man3/GENLIB_LORES.3 +++ b/alliance/src/genlib/man3/GENLIB_LORES.3 @@ -1,4 +1,4 @@ -.\" $Id: GENLIB_LORES.3,v 1.1 2002/08/16 13:35:20 pnt Exp $ +.\" $Id: GENLIB_LORES.3,v 1.2 2002/08/16 19:15:02 pnt Exp $ .\" @(#)GENLIB_LORES.3 2.11 2002/08/16; Labo LIP6/ASIM; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -72,8 +72,8 @@ int main(int argc,char \(**argv[]) GENLIB_DEF_LOFIG("parallel_res") ; /\(** Define interface \(**/ - GENLIB_LOCON("i", IN, "input") ; - GENLIB_LOCON("f", OUT, "output") ; + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; /\(** Add resistors \(**/ GENLIB_LORES(RESMIM,5.1,"input","output","res1") ; diff --git a/alliance/src/genlib/man3/GENLIB_LOSELF.3 b/alliance/src/genlib/man3/GENLIB_LOSELF.3 index 53aac538..b42cf82f 100644 --- a/alliance/src/genlib/man3/GENLIB_LOSELF.3 +++ b/alliance/src/genlib/man3/GENLIB_LOSELF.3 @@ -1,4 +1,4 @@ -.\" $Id: GENLIB_LOSELF.3,v 1.1 2002/08/16 13:35:20 pnt Exp $ +.\" $Id: GENLIB_LOSELF.3,v 1.2 2002/08/16 19:15:02 pnt Exp $ .\" @(#)GENLIB_LOSELF.3 2.11 2002/08/16; Labo LIP6/ASIM; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -72,8 +72,8 @@ int main(int argc,char \(**argv[]) GENLIB_DEF_LOFIG("parallel_self") ; /\(** Define interface \(**/ - GENLIB_LOCON("i", IN, "input") ; - GENLIB_LOCON("f", OUT, "output") ; + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; /\(** Add inductors \(**/ GENLIB_LOSELF(SELFMIM,5.1,"input","output","self1") ; diff --git a/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 b/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 new file mode 100644 index 00000000..0e036579 --- /dev/null +++ b/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 @@ -0,0 +1,98 @@ +.\" $Id: GENLIB_SET_LOCAP.3,v 1.1 2002/08/16 19:15:02 pnt Exp $ +.\" @(#)GENLIB_SET_LOCAP.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong +.if t \{\ +.so man1/alc_contents.mac +.XS \n% +.ti 0.2i +GENLIB_SET_LOCAP +.XE +.XS2 \n% +.ti 0.2i +GENLIB_SET_LOCAP +.XE2 \} +.TH GENLIB_SET_LOCAP 3 "August 14, 2002" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" +.SH NAME +GENLIB_SET_LOCAP \- set the capacitance value of a logical capacitor, after its creation. +.so man1/alc_origin.1 +.SH SYNOPSYS +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include "mlo.h" + +void GENLIB_SET_LOCAP(figname,capname,newcapa) +char \(**figname ; +char \(**capname ; +double newcapa ; +.ft R +.fi +.SH PARAMETERS +.TP 20 +\fIfigname\fP +Name of the logical figure +.TP +\fIcapname\fP +Instance name of the capacitor +.TP +\fInewcapa\fP +New capacitance value +.SH DESCRIPTION +\fBGENLIB_SET_LOCAP\fP looks in the list of capacitors of the logical model \fIfigname\fP +for a capacitor identified by its instance \fIcapname\fP and set +the CAPA field to the newcapa value. +.SH RETURN VALUE +None +.SH ERRORS +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +"\(**\(**\(** mbk error \(**\(**\(** getlocap impossible : +capacitor \fIname\fP doesn't exist in figure \fIptfig \-> NAME\fP" +.ft R +.RS +No capacitor matches the name. +.RE +.SH EXAMPLE +.ta 3n 6n 9n 12n 15n 18n 21n +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include + +int main(int argc,char \(**argv[]) +{ + /\(** Create a figure to work on, a parallel capacitor \(**/ + GENLIB_DEF_LOFIG("parallel_cap") ; + + /\(** Define interface \(**/ + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; + + /\(** Add capacitors \(**/ + GENLIB_LOCAP(CAPMIM,5.1,"input","output","cap1") ; + GENLIB_LOCAP(CAPMIM,5.2,"input","output","cap2") ; + + /* Modify capacitors value */ + GENLIB_SET_LOCAP("parallel_cap","cap1",6.2) ; + GENLIB_SET_LOCAP("parallel_cap","cap2",6.3) ; + + /\(** Save all that on disk \(**/ + GENLIB_SAVE_LOFIG() ; + + return 0 ; +} +.ft R +.fi +.SH SEE ALSO +.BR mbk (1), +.BR GENLIB_DEF_LOFIG (3), +.BR GENLIB_LOCAP(3) + + +.so man1/alc_bug_report.1 + diff --git a/alliance/src/genlib/man3/GENLIB_SET_LORES.3 b/alliance/src/genlib/man3/GENLIB_SET_LORES.3 new file mode 100644 index 00000000..933b8ad7 --- /dev/null +++ b/alliance/src/genlib/man3/GENLIB_SET_LORES.3 @@ -0,0 +1,98 @@ +.\" $Id: GENLIB_SET_LORES.3,v 1.1 2002/08/16 19:15:02 pnt Exp $ +.\" @(#)GENLIB_SET_LORES.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong +.if t \{\ +.so man1/alc_contents.mac +.XS \n% +.ti 0.2i +GENLIB_SET_LORES +.XE +.XS2 \n% +.ti 0.2i +GENLIB_SET_LORES +.XE2 \} +.TH GENLIB_SET_LORES 3 "August 14, 2002" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" +.SH NAME +GENLIB_SET_LORES \- set the resistance value of a logical resistor, after its creation. +.so man1/alc_origin.1 +.SH SYNOPSYS +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include "mlo.h" + +void GENLIB_SET_LORES(figname,resname,newresi) +char \(**figname ; +char \(**resname ; +double newresi ; +.ft R +.fi +.SH PARAMETERS +.TP 20 +\fIfigname\fP +Name of the logical figure +.TP +\fIresname\fP +Instance name of the resistor +.TP +\fInewresi\fP +New resistance value +.SH DESCRIPTION +\fBGENLIB_SET_LORES\fP looks in the list of resistors of the logical model \fIfigname\fP +for a resistor identified by its instance \fIresname\fP and set +the RESI field to the newresi value. +.SH RETURN VALUE +None +.SH ERRORS +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +"\(**\(**\(** mbk error \(**\(**\(** getlores impossible : +resistor \fIname\fP doesn't exist in figure \fIptfig \-> NAME\fP" +.ft R +.RS +No resistor matches the name. +.RE +.SH EXAMPLE +.ta 3n 6n 9n 12n 15n 18n 21n +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include + +int main(int argc,char \(**argv[]) +{ + /\(** Create a figure to work on, a parallel resistor \(**/ + GENLIB_DEF_LOFIG("parallel_res") ; + + /\(** Define interface \(**/ + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; + + /\(** Add resistors \(**/ + GENLIB_LORES(RESMIM,5.1,"input","output","res1") ; + GENLIB_LORES(RESMIM,5.2,"input","output","res2") ; + + /* Modify resistors value */ + GENLIB_SET_LORES("parallel_res","res1",6.2) ; + GENLIB_SET_LORES("parallel_res","res2",6.3) ; + + /\(** Save all that on disk \(**/ + GENLIB_SAVE_LOFIG() ; + + return 0 ; +} +.ft R +.fi +.SH SEE ALSO +.BR mbk (1), +.BR GENLIB_DEF_LOFIG (3), +.BR GENLIB_LORES(3) + + +.so man1/alc_bug_report.1 + diff --git a/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 b/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 new file mode 100644 index 00000000..57d037cb --- /dev/null +++ b/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 @@ -0,0 +1,98 @@ +.\" $Id: GENLIB_SET_LOSELF.3,v 1.1 2002/08/16 19:15:02 pnt Exp $ +.\" @(#)GENLIB_SET_LOSELF.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong +.if t \{\ +.so man1/alc_contents.mac +.XS \n% +.ti 0.2i +GENLIB_SET_LOSELF +.XE +.XS2 \n% +.ti 0.2i +GENLIB_SET_LOSELF +.XE2 \} +.TH GENLIB_SET_LOSELF 3 "August 14, 2002" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" +.SH NAME +GENLIB_SET_LOSELF \- set the inductance value of a logical inductor, after its creation. +.so man1/alc_origin.1 +.SH SYNOPSYS +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include "mlo.h" + +void GENLIB_SET_LOSELF(figname,selfname,newself) +char \(**figname ; +char \(**selfname ; +double newself ; +.ft R +.fi +.SH PARAMETERS +.TP 20 +\fIfigname\fP +Name of the logical figure +.TP +\fIselfname\fP +Instance name of the inductor +.TP +\fInewself\fP +New inductance value +.SH DESCRIPTION +\fBGENLIB_SET_LOSELF\fP looks in the list of inductors of the logical model \fIfigname\fP +for a inductor identified by its instance \fIselfname\fP and set +the SELF field to the newself value. +.SH RETURN VALUE +None +.SH ERRORS +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +"\(**\(**\(** mbk error \(**\(**\(** getloself impossible : +inductor \fIname\fP doesn't exist in figure \fIptfig \-> NAME\fP" +.ft R +.RS +No inductor matches the name. +.RE +.SH EXAMPLE +.ta 3n 6n 9n 12n 15n 18n 21n +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include + +int main(int argc,char \(**argv[]) +{ + /\(** Create a figure to work on, a parallel inductor \(**/ + GENLIB_DEF_LOFIG("parallel_self") ; + + /\(** Define interface \(**/ + GENLIB_LOCON("i",IN,"input") ; + GENLIB_LOCON("f",OUT,"output") ; + + /\(** Add inductors \(**/ + GENLIB_LOSELF(SELFMIM,5.1,"input","output","self1") ; + GENLIB_LOSELF(SELFMIM,5.2,"input","output","self2") ; + + /* Modify inductors value */ + GENLIB_SET_LOSELF("parallel_self","self1",6.2) ; + GENLIB_SET_LOSELF("parallel_self","self2",6.3) ; + + /\(** Save all that on disk \(**/ + GENLIB_SAVE_LOFIG() ; + + return 0 ; +} +.ft R +.fi +.SH SEE ALSO +.BR mbk (1), +.BR GENLIB_DEF_LOFIG (3), +.BR GENLIB_LOSELF(3) + + +.so man1/alc_bug_report.1 + diff --git a/alliance/src/genlib/man3/Makefile.am b/alliance/src/genlib/man3/Makefile.am index fadf62cb..884f010f 100644 --- a/alliance/src/genlib/man3/Makefile.am +++ b/alliance/src/genlib/man3/Makefile.am @@ -33,6 +33,9 @@ man_MANS = GENLIB_BUS.3 \ GENLIB_LOCAP.3 \ GENLIB_LORES.3 \ GENLIB_LOSELF.3 \ + GENLIB_SET_LOCAP.3 \ + GENLIB_SET_LORES.3 \ + GENLIB_SET_LOSELF.3 \ GENLIB_OUTLINE.3 \ GENLIB_PHCON.3 \ GENLIB_PHREF.3 \ diff --git a/alliance/src/mbk/man3/getlocap.3 b/alliance/src/mbk/man3/getlocap.3 index b7ae00cb..2a2d56aa 100644 --- a/alliance/src/mbk/man3/getlocap.3 +++ b/alliance/src/mbk/man3/getlocap.3 @@ -1,4 +1,4 @@ -.\" $Id: getlocap.3,v 1.2 2002/08/16 18:40:24 pnt Exp $ +.\" $Id: getlocap.3,v 1.3 2002/08/16 19:19:41 pnt Exp $ .\" @(#)getlocap.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -61,7 +61,7 @@ No capacitor matches the name. locap_list \(**exist(char \(**figname,char \(**capname) { - return getlocap(getlofig(figname),capname) ; + return getlocap(getlofig(figname,'A'),capname) ; } .ft R .fi diff --git a/alliance/src/mbk/man3/getlores.3 b/alliance/src/mbk/man3/getlores.3 index a75b0900..54fa6bfd 100644 --- a/alliance/src/mbk/man3/getlores.3 +++ b/alliance/src/mbk/man3/getlores.3 @@ -1,4 +1,4 @@ -.\" $Id: getlores.3,v 1.1 2002/08/14 21:56:40 pnt Exp $ +.\" $Id: getlores.3,v 1.2 2002/08/16 19:19:41 pnt Exp $ .\" @(#)getlores.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -61,7 +61,7 @@ No resistor matches the name. lores_list \(**exist(char \(**figname,char \(**resname) { - return getlores(getlofig(figname),resname) ; + return getlores(getlofig(figname,'A'),resname) ; } .ft R .fi diff --git a/alliance/src/mbk/man3/getloself.3 b/alliance/src/mbk/man3/getloself.3 index 3d85f1f8..afb45084 100644 --- a/alliance/src/mbk/man3/getloself.3 +++ b/alliance/src/mbk/man3/getloself.3 @@ -1,4 +1,4 @@ -.\" $Id: getloself.3,v 1.1 2002/08/14 21:56:40 pnt Exp $ +.\" $Id: getloself.3,v 1.2 2002/08/16 19:19:41 pnt Exp $ .\" @(#)getloself.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -61,7 +61,7 @@ No inductor matches the name. loself_list \(**exist(char \(**figname,char \(**selfname) { - return getloself(getlofig(figname),selfname) ; + return getloself(getlofig(figname,'A'),selfname) ; } .ft R .fi diff --git a/alliance/src/mbk/man3/setlocap.3 b/alliance/src/mbk/man3/setlocap.3 index 3edd47c0..39ab7704 100644 --- a/alliance/src/mbk/man3/setlocap.3 +++ b/alliance/src/mbk/man3/setlocap.3 @@ -1,4 +1,4 @@ -.\" $Id: setlocap.3,v 1.1 2002/08/16 18:40:25 pnt Exp $ +.\" $Id: setlocap.3,v 1.2 2002/08/16 19:19:41 pnt Exp $ .\" @(#)setlocap.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -66,7 +66,7 @@ No capacitor matches the name. void set_locap_value(char \(**figname,char \(**capname,double newcapa) { - setlocap(getlofig(figname),capname,newcapa) ; + setlocap(getlofig(figname,'A'),capname,newcapa) ; } .ft R .fi diff --git a/alliance/src/mbk/man3/setlores.3 b/alliance/src/mbk/man3/setlores.3 index 7256bba7..4fa64d66 100644 --- a/alliance/src/mbk/man3/setlores.3 +++ b/alliance/src/mbk/man3/setlores.3 @@ -1,4 +1,4 @@ -.\" $Id: setlores.3,v 1.1 2002/08/16 18:40:25 pnt Exp $ +.\" $Id: setlores.3,v 1.2 2002/08/16 19:19:41 pnt Exp $ .\" @(#)setlores.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -66,7 +66,7 @@ No resistor matches the name. void set_lores_value(char \(**figname,char \(**resname,double newresi) { - setlores(getlofig(figname),resname,newresi) ; + setlores(getlofig(figname,'A'),resname,newresi) ; } .ft R .fi diff --git a/alliance/src/mbk/man3/setloself.3 b/alliance/src/mbk/man3/setloself.3 index a5ee662d..82994c67 100644 --- a/alliance/src/mbk/man3/setloself.3 +++ b/alliance/src/mbk/man3/setloself.3 @@ -1,4 +1,4 @@ -.\" $Id: setloself.3,v 1.1 2002/08/16 18:40:25 pnt Exp $ +.\" $Id: setloself.3,v 1.2 2002/08/16 19:19:41 pnt Exp $ .\" @(#)setloself.2 2.11 2002/08/14 ; Labo LIP6/ASIM cao-vlsi; Author : Pierre Nguyen Tuong .if t \{\ .so man1/alc_contents.mac @@ -66,7 +66,7 @@ No inductor matches the name. void set_loself_value(char \(**figname,char \(**selfname,double newself) { - setloself(getlofig(figname),selfname,newself) ; + setloself(getlofig(figname,'A'),selfname,newself) ; } .ft R .fi diff --git a/alliance/src/mbk/src/mbk_lo.c b/alliance/src/mbk/src/mbk_lo.c index 9cc552ab..b050debd 100644 --- a/alliance/src/mbk/src/mbk_lo.c +++ b/alliance/src/mbk/src/mbk_lo.c @@ -30,7 +30,7 @@ * Modified by pnt 2002 */ -#ident "$Id: mbk_lo.c,v 1.4 2002/08/14 19:04:14 pnt Exp $" +#ident "$Id: mbk_lo.c,v 1.5 2002/08/16 19:19:49 pnt Exp $" #include #include @@ -1873,6 +1873,35 @@ locap_list *getlocap(lofig_list *ptfig, const char *cname) return NULL ; /* never reached */ } +/*********************************** Capacitor : setlocap **************************************/ + +void setlocap(lofig_list *ptfig, const char *cname,double capa) +{ + locap_list *ptcap = NULL ; + locap_list *cap = NULL ; + char *name = namealloc(cname) ; + + for(ptcap = ptfig -> LOCAP ; ptcap != NULL ; ptcap = ptcap -> NEXT) + { + if(ptcap -> NAME == name) + { + cap = ptcap ; + break ; + } + } + + if(cap == NULL) + { + (void)fflush(stdout) ; + (void)fprintf(stderr,"*** mbk error ***\n") ; + (void)fprintf(stderr,"setlocap impossible :\n") ; + (void)fprintf(stderr,"capacitor %s doesn't exist in figure %s\n",name,ptfig -> NAME) ; + EXIT(1) ; + } + + cap -> CAPA = capa ; +} + /*********************************** Capacitor : viewlocap *************************************/ void viewlocap(locap_list *ptcap) @@ -2106,6 +2135,35 @@ lores_list *getlores(lofig_list *ptfig, const char *cname) return NULL ; /* never reached */ } +/*********************************** Resistor : setlores **************************************/ + +void setlores(lofig_list *ptfig, const char *cname,double resi) +{ + lores_list *ptres = NULL ; + lores_list *res = NULL ; + char *name = namealloc(cname) ; + + for(ptres = ptfig -> LORES ; ptres != NULL ; ptres = ptres -> NEXT) + { + if(ptres -> NAME == name) + { + res = ptres ; + break ; + } + } + + if(res == NULL) + { + (void)fflush(stdout) ; + (void)fprintf(stderr,"*** mbk error ***\n") ; + (void)fprintf(stderr,"setlores impossible :\n") ; + (void)fprintf(stderr,"resistor %s doesn't exist in figure %s\n",name,ptfig -> NAME) ; + EXIT(1) ; + } + + res -> RESI = resi ; +} + /*********************************** Resistor : viewlores ***************************************/ void viewlores(lores_list *ptres) @@ -2339,6 +2397,35 @@ loself_list *getloself(lofig_list *ptfig, const char *cname) return NULL ; /* never reached */ } +/*********************************** Inductor : setloself **************************************/ + +void setloself(lofig_list *ptfig, const char *cname,double self) +{ + loself_list *ptself = NULL ; + loself_list *theself = NULL ; + char *name = namealloc(cname) ; + + for(ptself = ptfig -> LOSELF ; ptself != NULL ; ptself = ptself -> NEXT) + { + if(ptself -> NAME == name) + { + theself = ptself ; + break ; + } + } + + if(theself == NULL) + { + (void)fflush(stdout) ; + (void)fprintf(stderr,"*** mbk error ***\n") ; + (void)fprintf(stderr,"setloself impossible :\n") ; + (void)fprintf(stderr,"inductor %s doesn't exist in figure %s\n",name,ptfig -> NAME) ; + EXIT(1) ; + } + + theself -> SELF = self ; +} + /*********************************** Inductor : viewloself ***************************************/ void viewloself(loself_list *ptself) diff --git a/alliance/src/mbk/src/mbk_lo.h b/alliance/src/mbk/src/mbk_lo.h index 5b3fc4d5..18ebc110 100644 --- a/alliance/src/mbk/src/mbk_lo.h +++ b/alliance/src/mbk/src/mbk_lo.h @@ -27,7 +27,7 @@ * Author : Frederic Petrot * Modified by Czo 1997,98 * Modified by pnt 2002 - * $Id: mbk_lo.h,v 1.2 2002/08/08 19:47:37 pnt Exp $ + * $Id: mbk_lo.h,v 1.3 2002/08/16 19:19:49 pnt Exp $ */ #ifndef _MBK_LO_H_ @@ -75,6 +75,7 @@ extern locap_list *addlocap __P((lofig_list *ptfig,char type,double capa,losig_l losig_list *ptbplate,char *name)) ; extern int dellocap __P((lofig_list *ptfig,locap_list *ptcap)) ; extern locap_list *getlocap __P((lofig_list *ptfig,const char *name)) ; +extern void setlocap __P((lofig_list *ptfig,const char *name,double capa)) ; extern void dellocapuser __P((locap_list *)) ; extern void viewlocap __P((locap_list *ptcap)) ; @@ -82,6 +83,7 @@ extern lores_list *addlores __P((lofig_list *ptfig,char type,double resi,losig_l losig_list *ptrcon2,char *name)) ; extern int dellores __P((lofig_list *ptfig,lores_list *ptres)) ; extern lores_list *getlores __P((lofig_list *ptfig,const char *name)) ; +extern void setlores __P((lofig_list *ptfig,const char *name,double resi)) ; extern void delloresuser __P((lores_list *)) ; extern void viewlores __P((lores_list *ptres)) ; @@ -89,6 +91,7 @@ extern loself_list *addloself __P((lofig_list *ptfig,char type,double self,losig losig_list *ptscon2,char *name)) ; extern int delloself __P((lofig_list *ptfig,loself_list *ptself)) ; extern loself_list *getloself __P((lofig_list *ptfig,const char *name)) ; +extern void setloself __P((lofig_list *ptfig,const char *name,double self)) ; extern void delloselfuser __P((loself_list *)) ; extern void viewloself __P((loself_list *ptself)) ; diff --git a/alliance/src/mbk/src/mlo.h b/alliance/src/mbk/src/mlo.h index c9568b42..85cb1621 100644 --- a/alliance/src/mbk/src/mlo.h +++ b/alliance/src/mbk/src/mlo.h @@ -27,7 +27,7 @@ * Author : Frederic Petrot * Modified by Czo 1997,98 * Modified by pnt 2002 - * $Id: mlo.h,v 1.5 2002/08/13 16:51:36 pnt Exp $ + * $Id: mlo.h,v 1.6 2002/08/16 19:19:49 pnt Exp $ */ #ifndef _MLO_H_ @@ -312,19 +312,25 @@ extern locap_list *addlocap __P((lofig_list *ptfig,char type,double capa,losig_l losig_list *ptbplate,char *name)) ; extern int dellocap __P((lofig_list *ptfig,locap_list *ptcap)) ; extern locap_list *getlocap __P((lofig_list *ptfig,const char *name)) ; +extern void setlocap __P((lofig_list *ptfig,const char *name,double capa)) ; extern void dellocapuser __P((locap_list *)) ; +extern void viewlocap __P((locap_list *ptcap)) ; extern lores_list *addlores __P((lofig_list *ptfig,char type,double resi,losig_list *ptrcon1, losig_list *ptrcon2,char *name)) ; extern int dellores __P((lofig_list *ptfig,lores_list *ptres)) ; extern lores_list *getlores __P((lofig_list *ptfig,const char *name)) ; +extern void setlores __P((lofig_list *ptfig,const char *name,double resi)) ; extern void delloresuser __P((lores_list *)) ; +extern void viewlores __P((lores_list *ptres)) ; extern loself_list *addloself __P((lofig_list *ptfig,char type,double self,losig_list *ptscon1, losig_list *ptscon2,char *name)) ; extern int delloself __P((lofig_list *ptfig,loself_list *ptself)) ; extern loself_list *getloself __P((lofig_list *ptfig,const char *name)) ; +extern void setloself __P((lofig_list *ptfig,const char *name,double self)) ; extern void delloselfuser __P((loself_list *)) ; +extern void viewloself __P((loself_list *ptself)) ; /************************************************************************************/