1*2be1a816SJohn Birrell /* 2*2be1a816SJohn Birrell * CDDL HEADER START 3*2be1a816SJohn Birrell * 4*2be1a816SJohn Birrell * The contents of this file are subject to the terms of the 5*2be1a816SJohn Birrell * Common Development and Distribution License (the "License"). 6*2be1a816SJohn Birrell * You may not use this file except in compliance with the License. 7*2be1a816SJohn Birrell * 8*2be1a816SJohn Birrell * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*2be1a816SJohn Birrell * or http://www.opensolaris.org/os/licensing. 10*2be1a816SJohn Birrell * See the License for the specific language governing permissions 11*2be1a816SJohn Birrell * and limitations under the License. 12*2be1a816SJohn Birrell * 13*2be1a816SJohn Birrell * When distributing Covered Code, include this CDDL HEADER in each 14*2be1a816SJohn Birrell * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*2be1a816SJohn Birrell * If applicable, add the following below this CDDL HEADER, with the 16*2be1a816SJohn Birrell * fields enclosed by brackets "[]" replaced with your own identifying 17*2be1a816SJohn Birrell * information: Portions Copyright [yyyy] [name of copyright owner] 18*2be1a816SJohn Birrell * 19*2be1a816SJohn Birrell * CDDL HEADER END 20*2be1a816SJohn Birrell */ 21*2be1a816SJohn Birrell 22*2be1a816SJohn Birrell /* 23*2be1a816SJohn Birrell * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24*2be1a816SJohn Birrell * Use is subject to license terms. 25*2be1a816SJohn Birrell */ 26*2be1a816SJohn Birrell 27*2be1a816SJohn Birrell #pragma ident "%Z%%M% %I% %E% SMI" 28*2be1a816SJohn Birrell 29*2be1a816SJohn Birrell /* 30*2be1a816SJohn Birrell * ASSERTION: 31*2be1a816SJohn Birrell * Complex operations and if,then test. 32*2be1a816SJohn Birrell * Call 'n' permutation and combination of operations over if,then. 33*2be1a816SJohn Birrell * Match expected output in tst.complex.d.out 34*2be1a816SJohn Birrell * 35*2be1a816SJohn Birrell * SECTION: Program Structure/Predicates 36*2be1a816SJohn Birrell * 37*2be1a816SJohn Birrell */ 38*2be1a816SJohn Birrell 39*2be1a816SJohn Birrell #pragma D option quiet 40*2be1a816SJohn Birrell 41*2be1a816SJohn Birrell BEGIN 42*2be1a816SJohn Birrell { 43*2be1a816SJohn Birrell i = 0; 44*2be1a816SJohn Birrell j = 0; 45*2be1a816SJohn Birrell } 46*2be1a816SJohn Birrell 47*2be1a816SJohn Birrell tick-10ms 48*2be1a816SJohn Birrell /i < 10/ 49*2be1a816SJohn Birrell { 50*2be1a816SJohn Birrell i++; 51*2be1a816SJohn Birrell j++; 52*2be1a816SJohn Birrell printf("\n\n%d\n------\n", i); 53*2be1a816SJohn Birrell } 54*2be1a816SJohn Birrell 55*2be1a816SJohn Birrell tick-10ms 56*2be1a816SJohn Birrell /i == 5 || i == 10/ 57*2be1a816SJohn Birrell { 58*2be1a816SJohn Birrell printf("i == 5 (or) i == 10\n"); 59*2be1a816SJohn Birrell } 60*2be1a816SJohn Birrell 61*2be1a816SJohn Birrell tick-10ms 62*2be1a816SJohn Birrell /i <= 5/ 63*2be1a816SJohn Birrell { 64*2be1a816SJohn Birrell printf("i <= 5\n"); 65*2be1a816SJohn Birrell } 66*2be1a816SJohn Birrell 67*2be1a816SJohn Birrell tick-10ms 68*2be1a816SJohn Birrell /j >= 5/ 69*2be1a816SJohn Birrell { 70*2be1a816SJohn Birrell printf("j >= 5\n"); 71*2be1a816SJohn Birrell } 72*2be1a816SJohn Birrell 73*2be1a816SJohn Birrell tick-10ms 74*2be1a816SJohn Birrell /j >= 5 || i <= 5/ 75*2be1a816SJohn Birrell { 76*2be1a816SJohn Birrell printf("i >= 5 || j >= 5\n"); 77*2be1a816SJohn Birrell } 78*2be1a816SJohn Birrell 79*2be1a816SJohn Birrell tick-10ms 80*2be1a816SJohn Birrell /j >= 5 && i <= 5/ 81*2be1a816SJohn Birrell { 82*2be1a816SJohn Birrell printf("j >= 5 && i <= 55\n"); 83*2be1a816SJohn Birrell } 84*2be1a816SJohn Birrell 85*2be1a816SJohn Birrell tick-10ms 86*2be1a816SJohn Birrell /i < 5/ 87*2be1a816SJohn Birrell { 88*2be1a816SJohn Birrell printf("i < 5\n"); 89*2be1a816SJohn Birrell } 90*2be1a816SJohn Birrell 91*2be1a816SJohn Birrell tick-10ms 92*2be1a816SJohn Birrell /i == 2 || j == 2/ 93*2be1a816SJohn Birrell { 94*2be1a816SJohn Birrell printf("i == 2 (or) j == 2\n"); 95*2be1a816SJohn Birrell } 96*2be1a816SJohn Birrell 97*2be1a816SJohn Birrell tick-10ms 98*2be1a816SJohn Birrell /i == 2 && j == 2/ 99*2be1a816SJohn Birrell { 100*2be1a816SJohn Birrell printf("i == 2 (and) j == 2\n"); 101*2be1a816SJohn Birrell } 102*2be1a816SJohn Birrell 103*2be1a816SJohn Birrell tick-10ms 104*2be1a816SJohn Birrell /j != 10/ 105*2be1a816SJohn Birrell { 106*2be1a816SJohn Birrell printf("j != 10\n"); 107*2be1a816SJohn Birrell } 108*2be1a816SJohn Birrell 109*2be1a816SJohn Birrell tick-10ms 110*2be1a816SJohn Birrell /j == 5 || i == 2/ 111*2be1a816SJohn Birrell { 112*2be1a816SJohn Birrell printf("j == 5 || i == 2\n"); 113*2be1a816SJohn Birrell } 114*2be1a816SJohn Birrell 115*2be1a816SJohn Birrell tick-10ms 116*2be1a816SJohn Birrell /j == 5 && i == 2/ 117*2be1a816SJohn Birrell { 118*2be1a816SJohn Birrell printf("j == 5 && i == 2\n"); 119*2be1a816SJohn Birrell } 120*2be1a816SJohn Birrell 121*2be1a816SJohn Birrell tick-10ms 122*2be1a816SJohn Birrell /i == 10/ 123*2be1a816SJohn Birrell { 124*2be1a816SJohn Birrell printf("i == 10\n"); 125*2be1a816SJohn Birrell exit(0); 126*2be1a816SJohn Birrell } 127