[ver]
	4
[sty]
	
[files]
[charset]
	82
	ANSI (Windows, IBM CP 1252)
[revisions]
	0
[sequence]
	106
	0
	0
	0
	12
	0
	Numbered List
	681
	bullet
	681
	indent bullet
	681
	Note
	681
	indent Note
	681
	tip
	681
	Caution
	681
	indentCaution
	681
	find
	0
	Footnote
	681
	indent Tip
	681
	indent Find
[prn]
	Apple LaserWriter II NTX
[port]
	LPT1:
[lang]
	1
[fldnames]
	Field1
	Field2
	Field3
	Field4
	Field5
	Field6
	Field7
	Field8
[desc]
	File ch09.rtf was converted from Rich Text Format on 4/7/94
	
	
	
	
	802475870
	63
	765737577
	432
	24
	0
	0
	0
	0
	
	
	
	
	
	
	1
[fopts]
	0
	1
	0
	0
	
	
[lnopts]
	2
	Body Text
	1
[docopts]
	5
	2
[GramStyle]
	
[ParaNum]
	1
[tag]
	Body Text
	2
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		200
		4
		120
		120
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	1Body Text
	3
	1
	600
	1
	1200
	1
	3720
	0
[tag]
	Ahead
	3
	[fnt]
		Helvetica
		280
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		300
		4
		360
		120
		4
		100
	[brk]
		80
	[line]
		9
		0
		4
		0
		1
		1
		1
		110
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Bhead
	4
	[fnt]
		Helvetica
		240
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		280
		4
		100
		90
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead
	5
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		0
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Numbered List
	6
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		744
		336
		336
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		<*:>.
		0
		3
		1
		1
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	bullet
	7
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		300
		300
	[spc]
		40
		240
		4
		80
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		<*1>
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	bulleted list
	0
	0
[tag]
	1st lev para
	8
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st lev para
	0
	0
[tag]
	mono
	9
	[fnt]
		Courier
		180
		0
		32769
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		220
		4
		120
		120
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	mono
	22
	1
	864
	1
	1209
	1
	1555
	1
	1900
	1
	2246
	1
	2592
	1
	2937
	1
	3283
	1
	3628
	1
	3974
	1
	4320
	1
	4665
	1
	5011
	1
	5356
	1
	5702
	1
	6048
	1
	6393
	1
	6739
	1
	7084
	1
	7430
	1
	7776
	1
	8121
	0
[tag]
	indent bullet
	11
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1104
		216
		216
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		<*1>
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent bullet
	0
	0
[tag]
	Note
	12
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		600
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Note
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Note
	0
	0
[tag]
	2nd lev para
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1320
		0
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	2nd lev para
	0
	0
[tag]
	Table Text
	0
	[fnt]
		Palatino
		180
		0
		49152
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		200
		4
		79
		0
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Table Text
	0
	0
[tag]
	Body Text1
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		20
		40
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text1
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[tag]
	indent Note
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		600
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Note
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent Note
	0
	0
[tag]
	tip
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		480
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Tip
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	tip
	0
	0
[tag]
	Caution
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		900
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Caution
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Caution
	0
	0
[tag]
	indentCaution
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		900
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Caution
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indentCaution
	0
	0
[tag]
	Term
	0
	[fnt]
		Palatino
		200
		0
		49153
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		240
		4
		0
		0
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	indent Term
	0
	[fnt]
		Palatino
		200
		0
		49153
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		24
		240
		4
		0
		0
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	indent Term
	0
	0
[tag]
	find
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		1800
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Finding Out More
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	find
	0
	0
[tag]
	procdure Bhd
	0
	[fnt]
		Helvetica
		220
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		260
		4
		100
		90
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	procdure Chd
	0
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		80
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	formula
	0
	[fnt]
		Helvetica
		180
		0
		16384
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		40
		220
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	formula
	0
	0
[tag]
	Table Title
	0
	[fnt]
		Helvetica
		180
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		220
		4
		40
		80
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Table Title
	0
	0
[tag]
	Column Head
	0
	[fnt]
		Palatino
		180
		0
		49154
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		220
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		11
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Column Head
	0
	0
[tag]
	call-out
	0
	[fnt]
		Helvetica
		160
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		180
		4
		0
		0
		1
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	call-out
	0
	0
[tag]
	chap number
	0
	[fnt]
		Helvetica
		720
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		520
		4
		0
		0
		4
		100
	[brk]
		0
	[line]
		17
		1680
		4
		0
		1
		1
		1
		420
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	chap number
	0
	0
[tag]
	Chapter Title
	0
	[fnt]
		Helvetica
		320
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		360
		4
		0
		480
		3
		100
	[brk]
		81
	[line]
		17
		8520
		3
		0
		1
		3
		1
		644
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	1st Pg Footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		2
		3
		0
		0
		0
	[spc]
		33
		273
		1
		0
		0
		1
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st Pg Footer
	0
	0
[tag]
	right footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		4
		1
		0
		0
		0
	[spc]
		33
		216
		1
		60
		0
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	right footer
	1
	3
	8640
	0
[tag]
	left footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		4
		1
		0
		0
		5212
	[spc]
		33
		216
		1
		60
		0
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	left footer
	1
	3
	8640
	0
[tag]
	Footnote
	0
	[fnt]
		Times New Roman
		180
		0
		49152
	[algn]
		1
		3
		0
		244
		0
	[spc]
		40
		2400
		3
		0
		0
		1
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		<*:>
		0
		1
		1
		256
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Footnote
	0
	0
[tag]
	Figure Title
	0
	[fnt]
		Helvetica
		180
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		220
		4
		40
		80
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	indent Tip
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		480
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Tip
		18944
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent tip
	0
	0
[tag]
	indent Find
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		1800
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Finding Out More
		18944
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent find
	0
	0
[tag]
	copyrt
	0
	[fnt]
		Palatino
		180
		0
		49152
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		220
		4
		0
		60
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	copyrt
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	1200
[tag]
	seealso
	0
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		0
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	seealso
	0
	0
[tag]
	crossref
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		0
		0
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	crossref
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[tag]
	popref
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		513
		3
		720
		0
		720
	[spc]
		40
		240
		4
		0
		0
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	popref
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[frm]
	8
	1572932
	1941
	960
	7984
	4374
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	17
	0
	0
	720 2
	[frmlay]
		4030
		6043
		3
		0
		0
		3
		960
		0
		0
		2
		0
		1
		1
		0
		1
		720
		6480
		0
	[tbl]
		 11 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 400 86 2 0 1 0
			 4 400 86 2 0 1 0
			 5 200 86 2 0 3 0
			 6 400 86 2 0 1 0
			 7 200 86 2 0 3 0
			 8 400 86 2 0 2 0
			 9 400 86 2 0 2 0
			 10 400 86 2 0 2 0
		[e]
		[w]
			 0 1680 120 6 0
			 1 1680 120 6 0
			 2 2400 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@oper1 data type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@oper2 data type

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@Operation

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><:f>Numeric

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Numeric

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Addition

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric

>
			 2 1 0 0 0 0 0 1 0 0 0 0
String 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<:f>Type mismatch error occurs

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Variant (other than NULL)

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Addition

>
			 4 0 0 0 0 0 0 1 0 0 0 0
String 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Variant (other than NULL)

>
			 4 2 0 0 0 0 0 1 0 0 0 0
String concatenation

>
			 5 0 0 0 0 0 0 1 0 0 0 0
String 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
String 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
String concatenation

>
			 6 0 0 0 0 0 0 1 0 0 0 0
Any type

>
			 6 1 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<:f>Type mismatch error occurs

>
			 7 0 0 0 0 0 0 1 0 0 0 0
<:f>Any type

>
			 7 1 0 0 0 0 0 1 0 0 0 0
NULL

>
			 7 2 0 0 0 0 0 1 0 0 0 0
Returns NULL

>
			 8 0 0 0 0 0 0 1 0 0 0 0
Variant (Datatype values 2 to 7)

>
			 8 1 0 0 0 0 0 1 0 0 0 0
Variant (Datatype values 2 to 7)

>
			 8 2 0 0 0 0 0 1 0 0 0 0
<:f>Addition

>
			 9 0 0 0 0 0 0 1 0 0 0 0
Variant (Datatype values 2 to 7)

>
			 9 1 0 0 0 0 0 1 0 0 0 0
Variant (Datatype value 8)

>
			 9 2 0 0 0 0 0 1 0 0 0 0
<:f>Addition

>
			 10 0 0 0 0 0 0 1 0 0 0 0
Variant (Datatype value 8)

>
			 10 1 0 0 0 0 0 1 0 0 0 0
Variant (Datatype value 8)

>
			 10 2 0 0 0 0 0 1 0 0 0 0
<:f>String concatenation

>
		[e]
	[tble]
[frm]
	11
	1572932
	1881
	4930
	8044
	8215
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	19
	1
	17919
	0 9728
	[frmlay]
		3190
		6163
		3
		0
		0
		3
		4930
		0
		0
		2
		0
		156
		106
		28624
		1
		960
		8160
		0
	[tbl]
		 7 4 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 4 0
			 1 400 86 2 0 1 0
			 2 400 86 2 0 2 0
			 3 400 86 2 0 1 0
			 4 400 86 2 0 2 0
			 5 400 86 2 0 1 0
			 6 400 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 1440 120 6 0
			 2 1440 120 6 0
			 3 1440 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Operator

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@is TRUE if

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@is FALSE if

>
			 0 3 0 0 0 0 0 1 0 0 0 0
@Column Head@is NULL if

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><:f><+!><<<-!> (Less than)

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><< <-!>expr2

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><;>= <-!>expr2

>
			 1 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or<+"> expr2 <-">is NULL 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f><+!><<= <-!>(Less than or equal to)

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><<= <-!>expr2

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><< <-!>expr2

>
			 2 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or <+">expr2 <-">is<+"> <-"><-!>NULL 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<:f><+!><;> <-!>(Greater than)

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><;> <-!>expr2

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><<= <-!>expr2

>
			 3 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or <+">expr2<-"> is <-!>NULL 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<:f><+!><;>= <-!>(Greater than or equal to)

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><;>= <-!>expr2

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<+">expr<-"><+">1 <-"><+!><< <-!><+">expr2<-">

>
			 4 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or<+"> expr2 <-">is<+"> <-"><-!>NULL 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>= <-!>(Equal to)

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!>= <-!>expr2

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><<<;> <-!>expr2

>
			 5 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or <+">expr2<-"> is<+"> <-"><-!>NULL 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<:f><+!><<<;> <-!>(Not equal to)

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!><<<;> <-!>expr2

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<+">expr1 <+!>= <-!>expr2

>
			 6 3 0 0 0 0 0 1 0 0 0 0
<+">expr1 <-">or <+">expr2 <-">is<+"> <-"><-!>NULL 

>
		[e]
	[tble]
[frm]
	11
	1572932
	2181
	960
	8224
	7804
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	20
	2
	0
	19455 0
	[frmlay]
		7125
		6043
		3
		0
		0
		3
		960
		0
		0
		2
		0
		32
		0
		26008
		1
		960
		6720
		0
	[tbl]
		 15 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 800 86 2 0 1 0
			 3 600 86 2 0 1 0
			 4 600 86 2 0 1 0
			 5 400 86 2 0 1 0
			 6 200 86 2 0 3 0
			 7 400 86 2 0 1 0
			 8 200 86 2 0 3 0
			 9 800 86 2 0 1 0
			 10 200 86 2 0 3 0
			 11 600 86 2 0 1 0
			 12 800 86 2 0 1 0
			 13 400 86 2 0 2 0
			 14 200 86 2 0 3 0
		[e]
		[w]
			 0 1920 120 6 0
			 1 1920 120 6 0
			 2 1920 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@expr1 data type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@expr2 data type

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@Operation

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><:f>Numeric

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Numeric

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Numeric comparison

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Datatype value 2 to 7 or Datatype value 8<:f> that can be converted to a number

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Numeric comparison

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Datatype value 8 that cannot be converted to a number

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<:f>Type mismatch error occurs

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<:f>Numeric comparison, using 0 as the Empty expression

>
			 5 0 0 0 0 0 0 1 0 0 0 0
String 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Variant (other than NULL)

>
			 5 2 0 0 0 0 0 1 0 0 0 0
String comparison

>
			 6 0 0 0 0 0 0 1 0 0 0 0
String 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
String 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
String comparison

>
			 7 0 0 0 0 0 0 1 0 0 0 0
String 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty 

>
			 7 2 0 0 0 0 0 1 0 0 0 0
<:f>String comparison

>
			 8 0 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 8 1 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 8 2 0 0 0 0 0 1 0 0 0 0
<:f>String comparison

>
			 9 0 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 9 2 0 0 0 0 0 1 0 0 0 0
<:f>String comparison, using a zero-length String as the Empty expression

>
			 10 0 0 0 0 0 0 1 0 0 0 0
Datatype value 2 to 7

>
			 10 1 0 0 0 0 0 1 0 0 0 0
Datatype value 2 to 7

>
			 10 2 0 0 0 0 0 1 0 0 0 0
<:f>Numeric comparison

>
			 11 0 0 0 0 0 0 1 0 0 0 0
Variant that contains EMPTY

>
			 11 1 0 0 0 0 0 1 0 0 0 0
Datatype value 2 to 7

>
			 11 2 0 0 0 0 0 1 0 0 0 0
<:f>Numeric comparison, using 0 as the Empty expression

>
			 12 0 0 0 0 0 0 1 0 0 0 0
Datatype value 2 to 7

>
			 12 1 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 12 2 0 0 0 0 0 1 0 0 0 0
<:f>Numeric comparison. The numeric expression is less than the String expression.

>
			 13 0 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty 

>
			 13 1 0 0 0 0 0 1 0 0 0 0
Variant that contains Empty 

>
			 13 2 0 0 0 0 0 1 0 0 0 0
<:f>Expressions are equal.

>
			 14 0 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 14 1 0 0 0 0 0 1 0 0 0 0
Datatype value 8

>
			 14 2 0 0 0 0 0 1 0 0 0 0
<:f>String concatenation

>
		[e]
	[tble]
[frm]
	13
	1572932
	2001
	6210
	7924
	7437
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	21
	3
	0
	65280 20991
	[frmlay]
		2690
		5923
		3
		0
		0
		3
		6210
		0
		0
		2
		0
		92
		119
		12915
		1
		960
		5280
		0
	[tbl]
		 4 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 4560 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Then the result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL <-!><-!>

>
		[e]
	[tble]
[frm]
	13
	1572932
	2001
	8517
	7924
	9678
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	22
	4
	0
	65280 20991
	[frmlay]
		2870
		5923
		3
		0
		0
		3
		8517
		0
		0
		2
		0
		92
		119
		12915
		1
		1140
		5460
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 4560 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in <**>expr is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
		[e]
	[tble]
[frm]
	14
	1572932
	2121
	5610
	8284
	8553
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	23
	5
	0
	65280 20991
	[frmlay]
		1160
		6163
		3
		0
		0
		3
		5610
		0
		0
		2
		0
		92
		119
		12915
		1
		720
		6480
		0
	[tbl]
		 10 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 3 0
			 9 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 120 6 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@The result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 7 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 7 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 8 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 9 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
		[e]
	[tble]
[frm]
	14
	1572932
	2181
	9633
	8224
	11366
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	25
	6
	0
	65280 20991
	[frmlay]
		1340
		6043
		3
		0
		0
		3
		9633
		0
		0
		2
		0
		92
		119
		12915
		1
		900
		6660
		0
	[tbl]
		 5 3 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in oper1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And bit n in oper2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 4 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
		[e]
	[tble]
[frm]
	15
	1572932
	2181
	960
	8224
	3660
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	24
	7
	0
	65280 20991
	[frmlay]
		1340
		6043
		3
		0
		0
		3
		960
		0
		0
		2
		0
		92
		119
		12915
		1
		900
		6660
		0
	[tbl]
		 10 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 3 0
			 9 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@The result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f>TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 7 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 8 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 8 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
		[e]
	[tble]
[frm]
	15
	1572932
	2181
	4860
	8224
	6593
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	28
	8
	0
	65280 20991
	[frmlay]
		1520
		6043
		3
		0
		0
		3
		4860
		0
		0
		2
		0
		92
		119
		12915
		1
		1080
		6840
		0
	[tbl]
		 5 3 0 86 3360 0 5 43 43
		[h]
			 0 460 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in oper1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And bit n in oper2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 3 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
		[e]
	[tble]
[frm]
	16
	1572932
	1941
	5410
	7984
	8353
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	27
	9
	0
	65280 20991
	[frmlay]
		1520
		6043
		3
		0
		0
		3
		5410
		0
		0
		2
		0
		92
		119
		12915
		1
		1080
		6840
		0
	[tbl]
		 10 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 3 0
			 9 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@The result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 3 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 7 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 8 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
		[e]
	[tble]
[frm]
	17
	1572932
	1941
	9433
	7984
	11166
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	26
	10
	0
	65280 20991
	[frmlay]
		1700
		6043
		3
		0
		0
		3
		9433
		0
		0
		2
		0
		92
		119
		12915
		1
		1260
		7020
		0
	[tbl]
		 5 3 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in <**>expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And bit n in expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 3 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
		[e]
	[tble]
[frm]
	17
	1572932
	1941
	960
	7984
	3374
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	30
	11
	0
	65280 20991
	[frmlay]
		1520
		6043
		3
		0
		0
		3
		960
		0
		0
		2
		0
		92
		119
		12915
		1
		1080
		6840
		0
	[tbl]
		 10 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 3 0
			 9 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@The result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 7 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 8 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
		[e]
	[tble]
[frm]
	18
	1572932
	1941
	4334
	7984
	6067
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	29
	12
	0
	65280 20991
	[frmlay]
		1880
		6043
		3
		0
		0
		3
		4334
		0
		0
		2
		0
		92
		119
		12915
		1
		1440
		7200
		0
	[tbl]
		 5 3 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And bit n in expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 4 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
		[e]
	[tble]
[frm]
	19
	1572932
	2181
	3040
	8224
	5983
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	33
	13
	0
	65280 20991
	[frmlay]
		1700
		6043
		3
		0
		0
		3
		3040
		0
		0
		2
		0
		92
		119
		12915
		1
		1260
		7020
		0
	[tbl]
		 10 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 3 0
			 9 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@The result is

>
			 1 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 2 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 2 2 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 4 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 5 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 6 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 7 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 7 1 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 7 2 0 0 0 0 0 1 0 0 0 0
TRUE 

>
			 8 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 8 1 0 0 0 0 0 1 0 0 0 0
FALSE 

>
			 8 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 0 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 1 0 0 0 0 0 1 0 0 0 0
NULL 

>
			 9 2 0 0 0 0 0 1 0 0 0 0
NULL 

>
		[e]
	[tble]
[frm]
	19
	1572932
	2181
	7063
	8224
	8796
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	32
	14
	0
	65280 20991
	[frmlay]
		2060
		6043
		3
		0
		0
		3
		7063
		0
		0
		2
		0
		92
		119
		12915
		1
		1620
		7380
		0
	[tbl]
		 5 3 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If bit n in expr1 is

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@And bit n in expr2 is

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Then bit n in the result is

>
			 1 0 8 0 0 0 0 1 0 0 0 0
<+@><:f><:f>0.00

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 3 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 4 0 8 0 0 0 0 1 0 0 0 0
<+@><:f>1.00

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
		[e]
	[tble]
[frm]
	21
	1572932
	2241
	2480
	8164
	4679
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	31
	15
	4351
	2 2816
	[frmlay]
		7930
		5923
		3
		0
		0
		3
		2480
		0
		0
		2
		0
		255
		255
		0
		1
		960
		5280
		0
	[tbl]
		 6 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Wildcard

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Matches

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>?<-!>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Any one character

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+!>#<-!>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Any one digit from 0 through 9

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+!>*<-!>

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Any number of characters (zero or more)

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+!><[><-!><+">characters<-"><+!>]<-!>

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Any one of the <+">characters<-"> in the list or range specified here

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<:f><+!><[><-!><+!>!<-!><+">characters<-"><+!>]<-!>

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Any one character not included in the list or range of <+">characters<-"> specified here

>
		[e]
	[tble]
[lay]
	Standard
	3079
	[rght]
		12960
		10166
		1
		960
		1200
		3
		960
		720
		0
		1
		0
		1
		0
		2
		1
		960
		9446
		5
		1
		720
		1
		1440
		1
		2880
		1
		4320
		1
		5760
	[lft]
		12960
		10166
		1
		720
		1200
		3
		960
		960
		0
		1
		0
		1
		0
		2
		1
		720
		9206
		5
		1
		720
		1
		1440
		1
		2880
		1
		4320
		1
		5760
	[hlft]
	[lyfrm]
		1
		3008
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		1
	[frmlay]
		960
		10166
		1
		720
		180
		3
		480
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@right footer@LotusScript Language Reference	10/03/94

>
	[hrght]
	[lyfrm]
		1
		11200
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		2
	[frmlay]
		960
		10166
		1
		960
		180
		3
		480
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@right footer@10/03/94<:f>	LotusScript Language Reference

>
	[flft]
	[lyfrm]
		1
		5056
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		3
	[frmlay]
		12960
		10166
		1
		720
		480
		3
		11940
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@right footer@page <:P10,0,>	Lotus Strictly Private

>
	[frght]
	[lyfrm]
		1
		13248
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		4
	[frmlay]
		12960
		10166
		1
		960
		480
		3
		11940
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@right footer@Lotus Strictly Private	page <:P10,0,>

>
[elay]
[l1]
	0
[pg]
	5
	28 0 30 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	51 88 71 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	75 251 76 0 0 0 0 240 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	98 68 39 0 1 1 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	119 138 8 0 1 0 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
[edoc]
@Chapter Title@<:#1364,8486><:f>Chapter 9  <**>Operators

<:#400,8486><:f>The LotusScript operators are described in detail in the sections below. The operators are grouped according to the kinds of operations they perform.

@Chead@<:#240,8486>Arithmetic operators

@popref@<:#240,8486>Exponentiation Operator

@popref@<:#240,8486>Negation Operator

@popref@<:#240,8486>Multiplication Operator

@popref@<:#240,8486>Division Operator

@popref@<:#240,8486>Integer Division Operator

@popref@<:#240,8486>Mod Operator

@popref@<:#240,8486>Addition Operator

@popref@<:#240,8486>Subtraction Operator

@Chead@<:#240,8486>Comparison operators (<<, <;>, =, etc.)

@Chead@<:#240,8486>Logical operators

@popref@<:#240,8486>Not Operator

@popref@<:#240,8486>And Operator

@popref@<:#240,8486>Or Operator

@popref@<:#240,8486>Xor Operator

@popref@<:#240,8486>Eqv Operator

@popref@<:#240,8486>Imp Operator

@Chead@<:#240,8486>String operators

@popref@<:#240,8486>String Concatenation Operator

@popref@<:#240,8486>Like Operator

@Chead@<:#240,8486>Object reference comparison operator

@popref@<:#240,8486>Is Operator

@Chead@<:#240,8486>Assignment operator

@popref@<:#240,8486>= (Assignment) Operator

@Ahead@<:#410,8486><:f><:f><:f><:f><:f>Exponentiation Operator<:X8,1;Index "^ operator" #><:X8,1;Index "Operators" # "exponentiation"><:X8,1;Index "Exponentiation operator" #>

@1st Paragraph@<:#200,8486><:f>Raises a number to a power.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>number <-"><+!>^<-!><+"> exponent

<:#400,8486>The operands <+">number<-"> and <+">exponent<-"> are any numeric expressions.  If 
<+">number<-"> is negative, <+">exponent<-"> must be an integer value.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#400,8486><:f>The resulting data type is a Double or a Variant of type Double (DataType 5<:f><:f>).  However, when at least one operand is a NULL, the result is a NULL.

@Chead@<:#240,8486><:f>Usage<:f>

@1st Paragraph@<:#200,8486><:f>Multiple ^ operators in a single expression are evaluated from left to right.

@Chead@<:#240,8486><:f>Example

@mono@<:#1760,8486>SUB RaiseToExp<**>  PRINT 4 ^ 3	'Prints 64<**>  PRINT 4.5 ^ 3		'Prints 91.125<**>  PRINT 2 ^ 3 ^ 2		'Prints 64<**>  PRINT 2 ^ (3 ^ 2)	'Prints 512 (parens alter usual order of<**>					'evaluation)<**>  PRINT -2 ^ 3		'Prints -8<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486>- Subtraction Operator: to find the difference between two numbers<:f>

@Ahead@<:#410,8486><:f><:f>Negation Operator<:X8,2;Index "- operator" #><:f><:X8,2;Index "Operators" # "negation"><:f,,><:X8,2;Index "Negation operator" #>

@1st Paragraph@<:#200,8486><:f>Returns the negative value of a number.

@Chead@<:#240,8486><:f><:f>Syntax

<:#200,8486><+"><:f><+!>-<-!>num_expr

<:#400,8486>Each <+">num_expr<-"> can be any numeric constant, variable, or expression; or any function that returns a number. An Empty operand (DataType 0) is considered a 0.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#200,8486><:f>The result is of the same data type as the <+">num_expr<-"><+">.<-">

@Chead@<:#240,8486><:f><:f>Example

@mono@<:#660,8486>SUB NegateNumber<**>  PRINT -56		'Prints -56<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486>- Subtraction Operator: to find the difference between two numbers

@Ahead@<:#410,8486>Multiplication Operator<:X8,3;Index "* operator" #><:X8,3;Index "Operators" # "multiplication"><:X8,3;Index "Multiplication operator" #>

@1st Paragraph@<:#200,8486><:f>Multiplies two numbers.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1 <-"><+!>*<-!> <+">num_expr2

<:#200,8486>The operands <+">num_expr1<-"> and <+">num_expr2<-"> are any numeric expressions.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#800,8486><:f>The result is a value whose data type in most cases is the same as that of the operand whose data type is latest in this ordering: Integer, Long, Single, Double, Currency.  For example, if one operand is a Double and the other is a Long, then the data t
ype of the result is Double.

<:#200,8486>The exceptions are:

@bullet@<:#240,8486>When <+">num_expr1 <-">and <+">num_expr2 <-">are a Single and a Long, the result is a Double.

@bullet@<:#480,8486>If <+">num_expr1, num_expr2,<-"> or both are NULL expressions, the result is a NULL.  An Empty operand (DataType 0) acts as a 0.

@bullet@<:#960,8486>When the result has a Variant data type of DataType 3 (Long), DataType 4 (Single), or DataType 7 (Date) that overflows its legal range,<+"> 
<-">it</R>s converted to a Variant of DataType 5 (Double). When the result has a Variant of DataType 2 (Integer) that overflows its legal range, it</R>s converted to a Variant of DataType 3 (Long).

@Chead@<:#240,8486><:f>Example

@mono@<:#1100,8486>SUB MultNumbs<**>  DIM X AS INTEGER<**>  X = 3.5 * (2 + 3)<**>  PRINT X		'Prints 17.5<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486><:f>- Subtraction Operator: to find the difference between two numbers

@Ahead@<:#410,8486><:f>Division Operator<:X8,4;Index "/ operator" #><:X8,4;Index "Operators" # "division"><:X8,4;Index "Division operator" #>

@1st Paragraph@<:#200,8486><:f>Divides two numbers and returns a floating-point result.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1<+!> <-"><-!><+!>/<-!><+!> <-!><+">num_expr2<-">

<:#400,8486>The operands <+">num_expr1 <-">and <+">num_expr2<-"> are any numeric expressions.  An Empty operand (data type 0) is considered a 0.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#400,8486><:f>The resulting data type is usually a Double or a Variant of DataType 5 (Double), unless:

@bullet@<:#480,8486>Both operands are Integer or Single expressions. In this case, the result is a Single (if it overflows its legal range, it</R>s converted to a Double).

@bullet@<:#720,8486>Both operands are Variant expressions of DataType 2 (Integer) or DataType 4 (Single). In this case, the result is a Variant of DataType 4 (Single). If the result overflows its legal range, it</R>s converted to a Variant of DataType 5 (Double).

<:#200,8486><:f>If either or both operands are NULL expressions, the result is a NULL.

@Chead@<:#240,8486><:f>Example

@mono@<:#1320,8486>SUB CompareDiv<**>  PRINT 8 / 5			'Prints 1.6<**>  PRINT 8 \ 5			'Prints 1<**>  PRINT 16.9 / 5.6	'Prints 3.01785... 
<**>  PRINT 16.9 \ 5.6	'Prints 2<**>END SUB

<:#800,8486><:f>This example contrasts normal division with integer division.  Integer division rounds, divides, and then throws away the fractional portion.  Note that the initial rounding can result in a difference in the integer portion of the result from that of a 
normal division.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486><:f>- Subtraction Operator: to find the difference between two numbers

@Ahead@<:#410,8486><:f>Integer Division Operator<:X8,5;Index "\ operator" #><:X8,5;Index "Operators" # "integer division"><:X8,5;Index "Integer division operator" #>

@1st Paragraph@<:#200,8486><:f>Performs integer division on two numbers and returns the result.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1<+!> <-">\ <-!><+">num_expr2

<:#400,8486>The operands <+">num_expr1<-"> and <+">num_expr2 <-">are any numeric expressions. An Empty operand (data type 0) is considered a 0.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#600,8486><:f>The result is of data type Integer , Long, or Variant of type Integer (DataType 2) or Long (DataType 3).  However, when at least one operand is a NULL, the result is also a NULL.

@Chead@<:#240,8486><:f>Usage<:f>

@1st Paragraph@<:#400,8486><:f>The operands are rounded to Integer or Long expressions before the division takes place; fractional portions of the result are truncated.

@Chead@<:#240,8486><:f>Example

@mono@<:#1320,8486>SUB CompareDiv<**>  PRINT 8 / 5			'Prints 1.6<**>  PRINT 8 \ 5			'Prints 1  
<**>  PRINT 16.9 / 5.6	'Prints 3.01785... <**>  PRINT 16.9 \ 5.6	'Prints 2<**>END SUB

<:#800,8486><:f>This example contrasts normal division with integer division.  Integer division rounds, divides, and then throws away the fractional portion.  Note that the initial rounding can result in a difference in the integer portion of the result from that of a 
normal division.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Datatype Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486><:f>- Subtraction Operator: to find the difference between two numbers

@Ahead@<:#410,8486>Mod Operator<:X8,6;Index "MOD operator" #><:X8,6;Index "Operators" # "MOD">

@1st Paragraph@<:#200,8486><:f>Divides two numbers and returns the remainder.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1 <:f,BHelvetica,><-"><+!>Mod<-!><:f> <+">num_expr2

<:#400,8486>The operands <+">num_expr1<-"> and <+">num_expr2<-"> are any numeric expressions. An Empty expression (DataType 0) 
<:f><:f>is considered a 0.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#600,8486><:f>The result is of data type Integer, Long, or Variant of type Integer (<:f>DataType 2) or Long (<:f>DataType 3).  However, when at least one operand is a NULL, the result is also a NULL.

@Chead@<:#240,8486><:f>Usage<:f>

@1st Paragraph@<:#400,8486><:f>The expressions <+">num_expr1<-"> and <+">num_expr2<-"> are rounded to Integer expressions before the division takes place. 

<:#400,8486>The remainder operator (<:f>Mod) divides <+">num_expr1 <-">by <+">num_expr2<-"> and returns the remainder.

@Chead@<:#240,8486><:f>Example

@mono@<:#880,8486>SUB ReturnRemainder<**>  PRINT 17 MOD 3		'Prints 2<**>  PRINT 16.9 \ 5.6	'Prints 5<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@popref@<:#240,8486><:f>- Subtraction Operator: to find the difference between two numbers

@Ahead@<:#410,8486><:f>Addition Operator<:X8,7;Index "+ operator" #><:X8,7;Index "Operators" # "addition"><:X8,7;Index "Addition operator" #><:X8,7;Index "String concatenation operator" #><:X8,7;Index "Operators" # "string concatenation">

@1st Paragraph@<:#200,8486><:f>Adds two numbers.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1 <-"><+!>+<-!> <+">num_expr2

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#800,8486><:f>When adding expressions of numeric data types, the result is a value whose data type in most cases is the same as that of the operand whose data type is latest in this ordering: Integer, Long, Single, Double, Currency.  For example, if one operand is a 
Double and the other is an Integer, then the data type of the result is Double.

<:#200,8486><:f>The exceptions are:

@bullet@<:#480,8486>When the resulting data type is a Variant of DataType 2 (<:f>Integer) that overflows its legal range, the result gets converted to a Variant of DataType 3 (<:f>Long).

@bullet@<:#240,8486>When adding together a Single and a Long, the result gets converted to a Double.

@bullet@<:#720,8486>When the resulting data type is a Variant of DataType 3 (<:f>Long), DataType 4 (<:f>Single), or DataType 7 (Date) that overflows its legal range, the result is converted to a Variant of DataType 5 (Double).

@Chead@<:#240,8486><:f>Usage<:f>

@1st Paragraph@<:#600,8486><:f>In an expression that uses the + operator, it can be unclear whether addition or string concatenation should take place.  The following table shows what operation occurs if at least one operand is not a Variant.

<:t0>

<:#400,8486><:f><:f><:f>The + operator also serves to concatenate two character strings, but you should use the & operator for string concatenation to avoid confusion.

@Chead@<:#240,8486><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3780,><:#3300,8486>SUB AddData<**>  DIM A AS VARIANT<**>  DIM B AS INTEGER<**><**>  PRINT 8 + 7		'Prints 15 (addition) 
<**>  PRINT "Hello " + "there"	'Prints "Hello there" (string<**>				'concatenation)<**><**>  A = "8"<**>  B = 7<**>  PRINT A + "7"	'Prints "87" (string concatenation)<**>  PRINT A + 7		'Prints 15 (addition)<**>  PRINT 8 + B		'Prints 15 (addition)<**>  PRINT
 A + B		'Prints 15 (addition)<**>END SUB

@Chead@<:R><:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486><:f>- Subtraction Operator: to find the difference between two numbers

@popref@<:#240,8486>& String Concatenation Operator: to concatenate two strings

@Ahead@<:#410,8486><:f>Subtraction Operator<:X8,9;Index "- operator" #><:X8,9;Index "Operators" # "subtraction"><:f><:X8,9;Index "Subtraction operator" #>

@1st Paragraph@<:#200,8486><:f>Finds the difference between two numbers.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>num_expr1<-"> - <+">num_expr2

<:#400,8486><:f>Each <+">num_expr<-"> can be any numeric constant, variable, or expression; or any function that returns a number. An Empty operand (DataType 0) is considered a 0.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#800,8486><:f>The result is a value whose data type in most cases is the same as that of the operand whose data type is latest in this ordering: Integer, Long, Single, Double, Currency.  For example, if one operand is a Long and the other is a Currency, then the data
 type of the result is Currency.

<:#200,8486>The exceptions are:

@bullet@<:#480,8486>When the result is a Variant of DataType 2 (Integer) that overflows its legal range, the result gets converted to a Variant of DataType 3 (Long).

@bullet@<:#240,8486>When subtracting a Single and a Long, the result gets converted to a Double.

@bullet@<:#720,8486>When the result is a Variant of DataType 3 (Long), DataType 4 (Single), or  DataType 7 (Date) that overflows its legal range, the result gets converted to a Variant of DataType 5 (Double).

@bullet@<:#240,8486>If either or both operands are NULL expressions, the result is a NULL.

@Chead@<:#240,8486><:f><:f>Example

@mono@<:#660,8486>SUB Subtract<**>  PRINT 5 - 3.4		'Prints 1.6<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@popref@<:#240,8486><:f>- Negation Operator: to return the negative value of a number

@popref@<:#240,8486>^ Exponentiation Operator: to add two numbers

@popref@<:#240,8486><:f>* Multiplication Operator: to multiply two numbers

@popref@<:#240,8486><:f>/ Division Operator: to divide two numbers and return a floating point result

@popref@<:#240,8486>\ Integer Division Operator: to divide two numbers and return an integer result

@popref@<:#240,8486>Mod Operator: to divide two numbers and return the remainder

@popref@<:#240,8486>+ Addition Operator: to add two numbers

@Ahead@<:#410,8486><:f>Comparison Operators<:X8,10;Index "Comparison operators" #><:X8,10;Index "Operators" # "comparison"><:X8,10;Index "<< operator" #><:X8,10;Index "<<= operator" #><:X8,10;Index "=<< operator" #><:X8,10;Index "<;> operator" #><:X8,10;Index "<;>= operator" #>
<:X8,10;Index "=<;> operator" #><:X8,10;Index "= operator" #><:X8,10;Index "<<<;> operator" #><:X8,10;Index "<;><< operator" #>

<:#200,8486><:f>Compare two expressions.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1<-"> <+">operator <-"><+">expr2

<:#400,8486>The operands <+">expr1<-"> and <+">expr2<-"> are any expressions. The operators are: <<,  <;>,  <<=,  =<<,  <;>=,  =<;>,  <<<;>,  <;><<,  and =.

@Chead@<:#240,8486><:f>Return value<:f>

@1st Paragraph@<:#400,8486><:f>The result of a comparison is TRUE or FALSE.<+!><:f,QCourier,> 
<-!><:f>However, when at least one operand is a NULL, the result is a NULL.

<:#400,8486>The following table lists the results of comparing two expressions, neither of which is a NULL.

<:t1>

@Chead@<:#240,8486><:f><:f><:f>Usage<:f>

@1st Paragraph@<:#200,8486><:f>Comparison operators are also called relational operators. 

<:#400,8486>Expressions can be compared either as numbers or as strings. The following table explains how LotusScript compares expressions, based on data type.  

<:t2>

@Chead@<:#240,8486><:f><:f><:f>Example

@mono@<:#3740,8486>SUB CompExpr<**>  DIM MyNum AS VARIANT, MyStr AS VARIANT<**><**>  PRINT 1 << 2				'Prints -1 (TRUE)<**>  PRINT 2 <;> 1				'Prints -1 (TRUE)<**>  PRINT 1 <<<;> 2			'Prints -1 (TRUE)<**>  PRINT 2 <;>= 2			'Prints -1 (TRUE)<**>  PRINT 2 <<= 2			'Prints -1 (TRU
E)<**>  PRINT 2 = 2				'Prints -1 (TRUE)<**>  PRINT "hello" << "hellp"	'Prints -1 (TRUE)<**><**>  MyStr = "34"<**>  MyNum = 34<**>  PRINT MyNum << MyStr	'Prints -1 (TRUE)<**>  PRINT 45 <;> MyStr		'Prints -1 (TRUE)<**>  PRINT "45" <;> MyNum		'Prints -1 (TRUE
)<**>END SUB

<:#200,8486><:f>This sub prints nothing but -1 (TRUE).

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>DataType Function: to return the data type of an expression

@Ahead@<:#410,8486><:f>Not Operator<:X8,12;Index "NOT" #><:X8,12;Index "Operators" # "NOT">

@1st Paragraph@<:#400,8486><:f>Performs logical negation on an expression.  The Not operator has the effect of rounding its argument to the nearest integer, changing the sign, and subtracting 1.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f,BHelvetica,><+!>Not<-!><:f> <+">expr

<:#200,8486>The operand <+">expr<-"> is any expression.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result of the Not operation.

<:t3>

<:#600,8486><:f><:f>In addition to performing logical negation, the Not operator reverses the bit values of any variable and sets the corresponding bit in the result according to the following table.

<:t4>

@Chead@<:#240,8486><:f><:f>Example

@mono@<:#880,8486>SUB LogNegate<**>  PRINT NOT TRUE	'Prints 0 (FALSE)<**>  PRINT NOT 12.4	'Prints -13<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>And Operator: to perform a logical conjunction on two operands

@popref@<:#240,8486>Or Operator: to perform a logical disjunction on two expressions

@popref@<:#240,8486>Xor Operator: to perform a logical exclusion on two expressions

@Ahead@<:#410,8486>And Operator<:X8,13;Index "AND" #><:X8,13;Index "Operators" # "AND">

<:#400,8486><:f>Performs a logical conjunction on two expressions. LotusScript rounds to the nearest integer before performing the And operation.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1<-"> <:f,BHelvetica,>AND<+"><:f> expr2

<:#200,8486>The operands <+">expr1<-"> and <+">expr2 <-">are any expressions.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result when the And operator is used.

<:t5>

<:#600,8486><:f><:f><:f>In addition to performing a logical conjunction, the And operator compares identically positioned bits in two numeric expressions (known as a bit-wise comparison) and sets the corresponding bit in the result as follows.

<:t6>

@Chead@<:#240,8486><:f><:f><:f>Examples

@1st Paragraph@<:#200,8486><:f>(Boolean usage):

@mono@<:#1980,8486>SUB BoolAnd<**>  DIM JohnIsHere AS INTEGER, JimIsHere AS INTEGER, _<**>  BothAreHere AS INTEGER<**>  JohnIsHere = TRUE<**>  JimIsHere = FALSE<**><**>  BothAreHere = JohnIsHere AND JimIsHere<**>  PRINT BothAreHere		'Prints 0 (FALSE)<**>END SUB

<:#200,8486><:f>(Bit-wise usage):

@mono@<:#1100,8486>SUB BitAnd<**>  DIM X AS INTEGER, Y AS INTEGER<**>  X = &b11110000<**>  Y = &b11001100<**>  PRINT BIN$(X AND Y)		'Prints "11000000"

@mono@<:#220,8486>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Or Operator: to perform a logical disjunction on two expressions

@popref@<:#240,8486>Not Operator: to perform logical negation on an expression

@popref@<:#240,8486>Xor Operator: to perform a logical exclusion on two expressions

@Ahead@<:#410,8486>Or Operator<:X8,14;Index "OR" #><:X8,14;Index "Operators" # "OR">

@1st Paragraph@<:#200,8486><:f>Performs a logical disjunction on two expressions.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1 <:f,BHelvetica,><-"><+!>Or<-!><:f> <+">expr2<-">

<:#200,8486>The operands <+">expr1<-"> and <+">expr2<-"> are any expressions.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result of the Or operation.

<:t7>

<:#600,8486><:f><:f><:f>In addition to performing a logical disjunction, the Or operator compares identically positioned bits in two numeric expressions (known as a bit-wise comparison) and sets the corresponding bit in the result according to the following table.

<:S+120><:f><:t8>

@Chead@<:#240,8486><:f><:f>Examples

@1st Paragraph@<:#200,8486><:f>(Boolean usage):

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3780,><:#1980,8486>SUB LogDisjBool<**>  DIM JohnIsHere AS INTEGER, JimIsHere AS INTEGER, _<**>    OneOrMoreIsHere AS INTEGER<**>  JohnIsHere = TRUE<**>  JimIsHere = FALSE<**><**>  OneOrMoreIsHere = JohnIsHere OR JimIsHere<**>  PRINT OneOrMoreIsHere	'Prints -1 (TRUE)<**>END SU
B

<:R1,4,1,1200,1,1680,1,2160,1,3780,><:#200,8486><:f>(Bit-wise usage):

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3780,><:#1320,8486>SUB LogDisjBit<**>  DIM X AS INTEGER, Y AS INTEGER<**>  X = &b11110000<**>  Y = &b11001100<**>  PRINT BIN$(X OR Y)	'Prints "11111100"<**>END SUB

@Chead@<:R><:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>And Operator: to perform a logical conjunction on two operands

@popref@<:#240,8486>Not Operator: to perform logical negation on an expression

@popref@<:#240,8486>Xor Operator: to perform a logical exclusion on two expressions

@Ahead@<:#410,8486>Xor Operator<:X8,16;Index "XOR" #><:X8,16;Index "Operators" # "XOR">

@1st Paragraph@<:#200,8486><:f>Performs a logical exclusion on two expressions.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1 <:f,BHelvetica,><-"><+!>Xor<-!> <:f><+">expr2

<:#200,8486>The operands <+">expr1<-"> and <+">expr2<-"> are any expressions.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result of the Xor operation.

<:t9>

<:#600,8486><:f><:f>In addition to performing a logical exclusion, the Xor operator compares identically positioned bits in two numeric expressions (known as a bit-wise comparison) and sets the corresponding bit in the result according to the following table.

<:t10>

@Chead@<:#240,8486><:f><:f><:f>Examples

@1st Paragraph@<:#200,8486><:f>(Boolean usage):

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4080,><:#1980,8486>SUB LogExclusBool<**>  DIM JohnIsHere AS INTEGER, JimIsHere AS INTEGER, _<**>    OneButNotBothIsHere AS INTEGER<**>  JohnIsHere = TRUE<**>  JimIsHere = FALSE<**><**>  OneButNotBothIsHere = JohnIsHere XOR JimIsHere<**>  PRINT OneButNotBothIsHere	'Prints -1 (
TRUE)<**>END SUB

<:R><:#200,8486><:f>(Bit-wise usage):

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3990,><:#1320,8486>SUB LogExclusBit<**>  DIM Z AS INTEGER, Y AS INTEGER<**>  Z = &b11110000<**>  Y = &b11001100<**>  PRINT BIN$(Z XOR Y)	'Prints "00111100"<**>END SUB

@Chead@<:R><:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>And Operator: to perform a logical conjunction on two operands

@popref@<:#240,8486>Not Operator: to perform logical negation on an expression

@popref@<:#240,8486>Or Operator: to perform a logical disjunction on two expressions

@Ahead@<:#410,8486>Eqv Operator<:X8,17;Index "EQV" #><:X8,17;Index "Operators" # "EQV">

@1st Paragraph@<:#200,8486><:f>Performs a logical equivalence on two expressions.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1<-"> <:f,BHelvetica,><+!>Eqv<-!><:f> <+">expr2

<:#200,8486>The operands <+">expr1<-"> and <+">expr2<-"> are any expressions.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result of the Eqv operation.

<:t11>

<:#600,8486><:f><:f><:f>In addition to performing a logical equivalence, the Eqv operator compares identically positioned bits in two numeric expressions (known as a bit-wise comparison) and sets the corresponding bit in the result according to the following table.

<:t12>

@Chead@<:#240,8486><:f><:f><:f>Example

@mono@<:#2860,8486>SUB LogEquiv<**>  DIM A AS VARIANT, B AS VARIANT, C AS VARIANT<**>  A = &HF<**>  B = &HF0<**>  C = &H33<**><**>  PRINT TRUE EQV TRUE		'Prints -1 (TRUE)<**>  PRINT FALSE EQV FALSE		'Prints -1 (TRUE)<**>  PRINT TRUE EQV FALSE		'Prints 0 (FALSE)<**>  PRINT HEX
$(A EQV B)		'Prints "FFFFFF00"<**>  PRINT HEX$(A EQV C)		'Prints "FFFFFFC3"<**>  PRINT HEX$(B EQV C)		'Prints "FFFFFF3C"<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Imp Operator: to perform a logical implication on two operands

@Ahead@<:#410,8486>Imp Operator<:X8,18;Index "IMP" #><:X8,18;Index "Operators" # "IMP">

@1st Paragraph@<:#200,8486><:f>Performs a logical implication on two operands.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1<:f,BHelvetica,><-"> <+!>Imp<-!> <:f><+">expr2

<:#200,8486>The operands <+">expr1<-"> and <+">expr2<-"> are any expressions.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table explains how LotusScript determines the result of the Imp operation.

<:t13>

<:#600,8486><:f><:f><:f>In addition to performing a logical implication, the Imp operator compares identically positioned bits in two numeric expressions (known as a bit-wise comparison) and sets the corresponding bit in the result according to the following table.

<:t14>

@Chead@<:#240,8486><:f><:f><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#2640,8486>SUB LogImp<**>  DIM YouCanSee AS INTEGER, LightIsOn AS INTEGER<**>  YouCanSee = TRUE<**>  LightIsOn = FALSE<**><**>  PRINT YouCanSee IMP LightIsOn	'Prints 0 (FALSE)<**>				'(you don't need the light to see)<**>  YouCanSee = FALSE<**>  LightIsOn = FALSE<**> 
 PRINT YouCanSee IMP LightIsOn	'Prints -1 (TRUE)<**>				(you need the light to see)<**>END SUB

@Chead@<:R><:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Eqv Operator: to perform a logical equivalence on two expressions

@Ahead@<:#410,8486><:f>String Concatenation Operator<:X8,20;Index "& operator" #><:X8,20;Index "Operators" # "string concatenation"><:X8,20;Index "String concatenation operator" #>

@1st Paragraph@<:#200,8486><:f>Concatenates two expressions as strings.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>expr1 <-"><+!>&<+"> <-!>expr2<-">

<:#200,8486>If an expression is:

@bullet@<:#240,8486>Numeric, it is converted to a Variant of DataType 8 (String).

@bullet@<:#480,8486>NULL (DataType 1), it acts as a zero-length String when concatenated with the other expression. If both expressions are NULL, the result is NULL.

@bullet@<:#240,8486>Empty (DataType 0), it acts as a zero-length String.

@Chead@<:#240,8486><:f><:f>Return value

@1st Paragraph@<:#200,8486><:f>The result is a Variant of DataType 8 (String).

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The + operator also concatenates two character strings, but you should use the & operator for string concatenation to avoid confusion.

@Chead@<:#240,8486><:f>Example

@mono@<:#1100,8486>SUB PrintAddress<**>  DIM X AS VARIANT<**>  X = 56 & " Baker St."<**>  PRINT X			'Prints "56 Baker St."<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>+ Addition Operator: to add two numbers

@popref@<:#240,8486>Like Operator: to compare two string expressions

@Ahead@<:#410,8486>Like Operator<:X8,20;Index "LIKE" #><:X8,20;Index "Operators" # "LIKE">

@1st Paragraph@<:#200,8486><:f>Determines whether a string expression matches a pattern string.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>string_expr<+!><-"> <:f,BHelvetica,><-!><+!>Like<-!><+!><:f> 
<-!><+">pattern_string

<:#600,8486>The <+">pattern_string<-"> can include any individual ANSI characters and any of the wildcard characters or collections that follow; you can use as many wildcards as you need within a single 
<+">pattern_string<-">.

<:t15>

@Chead@<:#240,8486><:f><:f><:f>Matching characters in a list

@1st Paragraph@<:#1000,8486><-!>For a list, just type the characters; don</R>t use any type of separator, not even a space (the separator would be considered part of the list).  For example, <[>1 2 3 4 5] represents the characters 1, space, 2, 3, 4, and 5 (the redundant occurrences of
 the space would be ignored). But <[>12345] represents the characters 1, 2, 3, 4, and 5 (with no space character).

@Chead@<:#240,8486><:f>Matching characters in a range

@1st Paragraph@<:#800,8486><:f>For a range, separate the lower and upper bounds with a hyphen, as in <[>1-5]. Always specify the range in ascending ANSI collating sequence order (for example, <[>5-1] is invalid). When you specify multiple ranges, you don</R>t have to separate them wi
th anything; for example, <[>1-5A-C] contains the ranges 1-5 and uppercase A-C.

@Chead@<:#240,8486><:f>Matching special characters

@1st Paragraph@<:#200,8486><:f>To match one of these characters, include it in a <+">characters<-"> list:

@bullet@<:#240,8486><:f>Hyphen ( <+!>-<-!> )

@bullet@<:#240,8486>Question mark ( <+!>?<-!> )

@bullet@<:#240,8486>Asterisk ( <+!>*<-!> )

@bullet@<:#240,8486>Number sign ( <+!>#<-!> )

@bullet@<:#240,8486>Open bracket ( <+!><[><-!> )

<:#800,8486><:f>Be sure to place the hyphen at the beginning of the list; if you</R>re using the <[>!<+">characters<-">] format, the hyphen immediately follows the exclamation point, as in 
<+!><[>!-123]<-!>. The other characters can appear anywhere in the 
<+">characters<-"> list. For example, <+!><[>-?A-Z]<-!> matches the hyphen, the question mark, and any uppercase letter from A through Z.

<:#400,8486>To match one of these characters, place the character anywhere within your wildcard specification except in a 
<+">characters<-"> list or range:

@bullet@<:#240,8486><:f>Comma ( <+!>,<-!> )

@bullet@<:#240,8486>Close bracket ( <+!>] <-!>)

@bullet@<:#240,8486>Exclamation mark ( <+!>!<-!> )

<:#400,8486><:f>For example, <+!>!,<[>1-6]<-!> matches the exclamation point, the comma, and any digit from 1 through 6.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#400,8486><:f>If <+">string_expr<-"> matches <+">pattern_string<-">, the result is TRUE; if not, the result is FALSE. If either 
<+">string_expr<-"> or <+">pattern_string <-">is NULL, the result is NULL.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>By default, the comparison is case sensitive; you can modify case sensitivity with the Option Compare statement.

@Chead@<:#240,8486><:f>Example

@mono@<:#2640,8486>SUB CompString<**>  'Print the numbers from 1 to 100 that include the digit 5<**>  FOR X = 1 TO 100<**>    IF CSTR(X) LIKE "*5*" THEN PRINT X<**>  NEXT X<**><**>  'Print the numbers from 1 to 100 that end with 3 and don't begin<**>  'with 2<**>  FOR X = 1 T
O 100<**>    IF CSTR(X) LIKE "<[>!2]3" THEN PRINT X<**>  NEXT X<**>END SUB

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>& String Concatenation Operator: to concatenate two strings

@popref@<:#240,8486>Option Compare Statement: to specify case sensitivity in string comparisons

@Ahead@<:#410,8486><:f>Is Operator<:X8,22;Index "IS" #><:X8,22;Index "Operators" # "IS">

@1st Paragraph@<:#200,8486><:f>Compares two object reference variables.

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><+"><:f>obj1<+!><-"> <:f,BHelvetica,><-!><+!>Is <-!><:f><+">obj2<-">

<:#200,8486>The operands <+">obj1<-"> and <+">obj2<-"> are each an expression whose value is an object reference. 

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#200,8486><:f>The result of the Is operator is TRUE only if <+">obj1<-"> and 
<+">obj2<-"> refer to the same object.

<:#600,8486>The operands <+">obj1<-"> and <+">obj2<-"> may be Variant variables, object reference variables, or any variable elements that accept an object reference, such as an element of an array, list, or user-defined type.

<:#400,8486>You can make two variables refer to the same object in the following ways. In the following example, X is set to refer to the same object as Y:

@mono@<:#220,8486>SET X = Y

<:#200,8486><:f>In this example, X and Y are set to refer to the same object as Z:

@mono@<:#440,8486>SET X = Z<**>SET Y = Z

@Chead@<:#240,8486><:f>Example

@mono@<:#3080,8486>CLASS MyClass<**>  '... Class definition here...<**>END CLASS<**>SUB CompVar<**>  DIM X AS MyClass<**>  DIM Y AS MyClass<**><**>  SET X = NEW MyClass<**>  SET Y = NEW MyClass<**>  PRINT X IS Y		'Prints 0 (FALSE)<**><**>  SET X = Y			'X now refers to the sam
e object as Y<**>  PRINT X IS Y		'Prints -1 (TRUE)<**>END SUB<-!>

@Chead@<:#240,8486>Related topics

@popref@<:#240,8486>IsObject Function

@Ahead@<:#410,8486>= (Assignment) Operator

<:#200,8486>Assigns a value to a variable in the Let and Set statements.

<:#600,8486>Use the Set statement to assign an object reference to a variable or to associate a Lotus product object with a variable. Use the Let statement for all other types of variable assignment.

@Chead@<:#240,8486>Related topics

@popref@<:#240,8486>Let Statement

@popref@<:#240,8486>Set Statement

@popref@<:#240,8486>

>

[Embedded]
00081796
