From: Rui T. <rm...@un...> - 2012-02-08 16:09:54
|
Hi all, As I tried to use the 'CKTfndMod(.)' in the source file '../src/spicelib/analysis/cktfndm.c' I may have found . some bug(s). Correct me if I'm wrong. At line 31 'if (mods->GENmodName == modName)', it wasn't supposed to be something more like 'if (!strcmp(mods->GENmodName, modName)' ? Thanks in advance, Rui Santos-Tavares |
From: Rui T. <rm...@un...> - 2012-02-09 09:11:24
|
Hi Robert, I see your point (regarding the second pattern), and I also thought about that... At certain point I agree: it is a more elegant form, and, I may add, a faster form of comparison. Nevertheless, when I looked for the function prototype I imagined it as a search (also) by name, and I'm referring to the actual name of the model. The fresh/plain string, not the pointer to the structure that keeps the plain string. Now the disagree point and the argument :) In my perspective, if I already have the pointer to the name (string structure) of the model, I (almost) certainly, have the pointer to the model structure ... Furthermore, the comparison is TRUE when the two pointer have the same value. I mean, when the two pointers address the same piece of memory. That's only my point of view ... Let's keep the discussion alive. Thanks. Best regards, Rui PS: I have created a new function to search my way ... :) | -----Original Message----- | From: Robert Larice [mailto:Rob...@t-...] | Sent: quarta-feira, 8 de Fevereiro de 2012 7:48 | To: rm...@un... | Cc: Ngspice developers mailing list. | Subject: Re: [Ngspice-devel] String comparison | | Hello Rui, | | This might be, but is not necessarily a bug. | It depends on the source of `modName'. | | If modName is a fresh string coming from somewhere | then you'd certainly have to strcmp. | But if it is something internally, then a | pointer comparison will do and is even more elegant | from a certain point of view. | | If you want to use this function, and if it is | indeed programmed according to the second pattern, | then you will need to `unify' your string | before you use it as an argument for this function. | That means, you would have to search for another | function which really searches via strcmp, | and which then returns the `unified' internal | representation of the given string. | (searching a known dictionary of modNames...) | | Do you have a simple testcase of a failing | piece of spice deck ? | | We will have to look more closely, | and this will need some time. | | In any case, | Thank you very much for your watchfulness | | Robert | | | "Rui Tavares" <rm...@un...> writes: | | > Hi all, | > | > | > | > As I tried to use the ?CKTfndMod(?)? in the source file | > ?../src/spicelib/ analysis/cktfndm.c? I may have found ? some bug(s)? | > Correct me if I?m wrong. At line 31 ?if (mods->GENmodName == | > modName)?, it wasn?t supposed to be something more like ?if | (!strcmp(mods->GENmodName, modName)? ? | > | > | > | > Thanks in advance, | > | > Rui Santos-Tavares | > | > ---------------------------------------------------------------------- | > -------- Keep Your Developer Skills Current with LearnDevNow! | > The most comprehensive online learning library for Microsoft | > developers is just $99.99! Visual Studio, SharePoint, SQL - plus | > HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when | you subscribe now! | > http://p.sf.net/sfu/learndevnow- | d2d___________________________________ | > ____________ | > Ngspice-devel mailing list | > Ngs...@li... | > https://lists.sourceforge.net/lists/listinfo/ngspice-devel |
From: Robert L. <Rob...@t-...> - 2012-02-09 18:10:56
|
Hello, sorry my mail got lost, but you've already included a copy. sourceforge doesn't seem to particularly honor my email provider. I've grep'ed the usage of CKTfndMod, aka findModel CKTmodCrt, aka newModel The first three are all consistently using the functions IFnewUid and INPretrieve to unify the strings. For newModel I've been too lazy, sorry. Note, those functions don't work with char*, but with typedef IFuid, and if you grep around a bit, you will see this is indeed an abbreviation for "uniq" Identifier. And there is a description in ifsim.h /* * datatype: IFuid * * unique identifier for all name-type data in the simulator. * this permits the front end to use something other than * a unique, fully qualified character string to identify * an object. * */ Thank you very much, really, but no, thats no bug. Robert ng-spice-rework/src/include/ngspice/"Rui Tavares" <rm...@un...> writes: > Hi Robert, > > I see your point (regarding the second pattern), and I also thought about > that... At certain point I agree: it is a more elegant form, and, I may add, > a faster form of comparison. Nevertheless, when I looked for the function > prototype I imagined it as a search (also) by name, and I'm referring to the > actual name of the model. The fresh/plain string, not the pointer to the > structure that keeps the plain string. > > Now the disagree point and the argument :) > In my perspective, if I already have the pointer to the name (string > structure) of the model, I (almost) certainly, have the pointer to the model > structure ... Furthermore, the comparison is TRUE when the two pointer have > the same value. I mean, when the two pointers address the same piece of > memory. > > That's only my point of view ... Let's keep the discussion alive. > > Thanks. > > Best regards, > Rui > PS: I have created a new function to search my way ... :) > | -----Original Message----- > | From: Robert Larice [mailto:Rob...@t-...] > | Sent: quarta-feira, 8 de Fevereiro de 2012 7:48 > | To: rm...@un... > | Cc: Ngspice developers mailing list. > | Subject: Re: [Ngspice-devel] String comparison > | > | Hello Rui, > | > | This might be, but is not necessarily a bug. > | It depends on the source of `modName'. > | > | If modName is a fresh string coming from somewhere > | then you'd certainly have to strcmp. > | But if it is something internally, then a > | pointer comparison will do and is even more elegant > | from a certain point of view. > | > | If you want to use this function, and if it is > | indeed programmed according to the second pattern, > | then you will need to `unify' your string > | before you use it as an argument for this function. > | That means, you would have to search for another > | function which really searches via strcmp, > | and which then returns the `unified' internal > | representation of the given string. > | (searching a known dictionary of modNames...) > | > | Do you have a simple testcase of a failing > | piece of spice deck ? > | > | We will have to look more closely, > | and this will need some time. > | > | In any case, > | Thank you very much for your watchfulness > | > | Robert > | > | > | "Rui Tavares" <rm...@un...> writes: > | > | > Hi all, > | > > | > > | > > | > As I tried to use the ?CKTfndMod(?)? in the source file > | > ?../src/spicelib/ analysis/cktfndm.c? I may have found ? some bug(s)? > | > Correct me if I?m wrong. At line 31 ?if (mods->GENmodName == > | > modName)?, it wasn?t supposed to be something more like ?if > | (!strcmp(mods->GENmodName, modName)? ? > | > > | > > | > > | > Thanks in advance, > | > > | > Rui Santos-Tavares > | > > | > ---------------------------------------------------------------------- > | > -------- Keep Your Developer Skills Current with LearnDevNow! > | > The most comprehensive online learning library for Microsoft > | > developers is just $99.99! Visual Studio, SharePoint, SQL - plus > | > HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when > | you subscribe now! > | > http://p.sf.net/sfu/learndevnow- > | d2d___________________________________ > | > ____________ > | > Ngspice-devel mailing list > | > Ngs...@li... > | > https://lists.sourceforge.net/lists/listinfo/ngspice-devel > > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > Ngspice-devel mailing list > Ngs...@li... > https://lists.sourceforge.net/lists/listinfo/ngspice-devel |