%description: Test operators in NED, with volatile parameters. %file: test.ned simple Test { parameters: @isNetwork(true); volatile double p00 = -3; // unary minus or negative constant volatile double p01 = -(4+1); // unary minus volatile double p02 = int(!true); // negation volatile double p03 = int(!false); // negation volatile double p06 = ~3; // bitwise complement (one's complement, yields -1*x-1 for x) volatile double p07 = 12^3; // power of volatile double p08 = 12*3; // multiply volatile double p09 = 12/3; // divide volatile double p10 = 12%5; // modulus volatile double p11 = 12+3; // add volatile double p12 = 12-3; // subtract volatile double p13 = 10<<2; // bitwise shifting volatile double p14 = 10>>2; // bitwise shifting volatile double p15 = 10&3; // bitwise and volatile double p16 = 10|3; // bitwise or volatile double p17 = 10#3; // bitwise xor volatile double p18 = int(8==3); // equal volatile double p19 = int(8==8); // equal volatile double p20 = int(8!=3); // not equal volatile double p21 = int(8!=8); // not equal volatile double p22 = int(8>3); // greater volatile double p23 = int(3>8); // greater volatile double p24 = int(8>8); // greater volatile double p25 = int(8>=3); // greater or equal volatile double p26 = int(3>=8); // greater or equal volatile double p27 = int(8>=8); // greater or equal volatile double p28 = int(8<3); // less volatile double p29 = int(3<8); // less volatile double p30 = int(8<8); // less volatile double p31 = int(8<=3); // less or equal volatile double p32 = int(3<=8); // less or equal volatile double p33 = int(8<=8); // less or equal volatile double p34 = int(true && true); // logical and volatile double p35 = int(true && false); // logical and volatile double p36 = int(false && true); // logical and volatile double p37 = int(false && false); // logical and volatile double p38 = int(true || true); // logical or volatile double p39 = int(true || false); // logical or volatile double p40 = int(false || true); // logical or volatile double p41 = int(false || false); // logical or volatile double p42 = int(true ## true); // logical xor volatile double p43 = int(true ## false); // logical xor volatile double p44 = int(false ## true); // logical xor volatile double p45 = int(false ## false); // logical xor volatile double p46 = (true ? 5 : 2); // the C/C++ ''inline if'' volatile double p47 = (false ? 5 : 2); // the C/C++ ''inline if'' volatile string p48 = "" + ""; // concatenation volatile string p49 = "Hello" + ""; // concatenation volatile string p50 = "" + "Hello"; // concatenation volatile string p51 = "He" + "llo"; // concatenation // divides with non integer results volatile double p52 = 7 / 4; // integer divide with non integer result volatile double p53 = 7.8 % 4.1; // non integer modulus volatile double p54 = 7.2 % 4.8; // non integer modulus volatile double p55 = (-7.8)%4.1; // non integer negative volatile double p56 = (-7.1)%4.8; // non integer negative } %file: test.cc #include using namespace omnetpp; namespace @TESTNAME@ { class Test : public cSimpleModule { public: Test() : cSimpleModule(16384) { } virtual void activity() override; }; Define_Module(Test); void Test::activity() { for (int i=0; i