On Thu, 20 Mar 2014 14:14:23 -0500, Tim Wescott
wrote:
On Thu, 20 Mar 2014 11:51:34 -0700, Jim Thompson wrote:
Anyone know how to interpret this IF (I think) statement...
PMI=(PM=0)?((PM==0)?1000:PM):PMC
it's in a notation-style I don't understand.
It looks like C-style conditional operator (whose use is frowned upon,
particularly in cascade like that).
In C and C++,
ANSWER = THING ? THIS : THAT;
means that if THING is true, ANSWER = THIS. Of THING is false, ANSWER =
THAT.
In more traditional if-else notation, your statement expands to:
if (PM = 0)
{
if (PM == 0)
{
PMI = 1000;
}
else
{
PMI = PM;
}
}
else
{
PMI = PMC;
In English, does this mean:
If PM is exactly 0, PMI=1000
If PM is greater than 0, PMI=PM
Otherwise (negative PM?) PMI=PMC
I'm confused by the stacking :-(
}
Which packs much less confusion per line, and is therefor much less
desirable from a geeky programmer point of view.
Those limp-wristed busybodies at MISRA have ruled out its use in mission-
critical software, if you can imagine that.
Thanks, Tim! C-notation fits... this is from an HSpice device
library.
...Jim Thompson
--
| James E.Thompson | mens |
| Analog Innovations | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| San Tan Valley, AZ 85142 Skype: Contacts Only | |
| Voice
480)460-2350 Fax: Available upon request | Brass Rat |
| E-mail Icon at
http://www.analog-innovations.com | 1962 |
I love to cook with wine. Sometimes I even put it in the food.