(saveFormat "7.0") (date "Fri 19/Aug/2011 22:18:27 ") (veerev "9.22.14609.1") (platform "PC") (execMode v6) (prefExecMode v9) (filterNAN 0) (workspaceStackingOrder M) (sysconfig (iodevice "Example34401DMM" (type ASRL) (channel 0) (readTerm "\n") (fs ",") (eol "\n") (multiField dataOnly) (arrayFormat linear) (timeout 5) (byteOrder 0) (isLive 0) (idFileName "hp34401a.cid") (ppAddr "") (model "") (eoiEnabled 1) (model "" (standard 488.2)) (baudRate 9600) (charSize 8) (stopBits 1) (parity off) (handshake off) (recvBufferSize 4096))) (SaveCF no) (device 0 ROOTCONTEXT (properties (variableName Main) (variableScope glob) (trigMode deg) (nextID 37) (popupTitleText "Untitled") (popupMoveable 1) (deleteGlobals 0)) (deviceList (UserFunctions (nextID 2) (context 0 (properties (name "VEE_Unique") (variableName VEE_Unique) (variableScope glob) (trigMode deg) (nextID 19) (popupTitleText "UserFunction1") (popupMoveable 1)) (interface (input 1 (name "A") (optional yes)) (output 1 (type data) (name "X") (lock constraints) (optional yes))) (deviceList (device 1 COLLECTOR (properties (variableScope cont) (output1D 0)) (interface (input 1 (name "Data") (tag "Data")) (input 2 (type trigger) (name "XEQ") (lock name constraints)) (output 1 (name "Array") (tag "Array")))) (device 2 ALLOCATEARRAY (properties (name "Alloc Int32") (variableScope cont)) (interface (input 1 (name "Dim Size 1") (tag "Dim Size 1") (requires (datatype Int32) (shape "Scalar")) (lock constraints) (optional yes) (buffer YES)) (output 1 (name "Array") (tag "Array"))) (implementation (numDims 1) (dimSizes "21") (type "Int32") (initEnum "Init Value") (initialValue (data 0)) (from 1) (thru 10))) (device 4 FORMULA (properties (name "totSize(x)") (variableScope cont) (expr 1 "totSize(x)")) (interface (input 1 (name "x") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 5 DECLVAR (properties (name "Declare chk") (scope con) (globalName "chk")) (implementation (value Int32 (numDims 1) (size 1) (data [ 0 ])))) (device 6 TOGLOBAL (properties (name "Set chk") (variableScope cont) (globalName "chk")) (interface (input 1 (name "Data") (tag "Data") (lock name)))) (device 7 FORCOUNT (properties (variableScope cont) (count 21)) (interface (input 1 (name "Count") (tag "Count") (requires (datatype Int32) (shape "Scalar")) (lock constraints) (optional yes) (buffer YES)) (output 1 (name "Count") (lock name constraints)))) (device 8 FORMULA (properties (name "A[idx];") (variableScope cont) (expr 1 "A[idx];")) (interface (input 1 (name "A") (optional yes)) (input 2 (name "idx") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 9 FORRANGE (properties (variableScope cont) (from 21) (thru 20) (step 1)) (interface (input 1 (name "From") (tag "From") (requires (datatype Real64) (shape "Scalar")) (lock constraints) (optional yes) (buffer YES)) (input 2 (name "Thru") (tag "Thru") (requires (datatype Real64) (shape "Scalar")) (lock constraints) (optional yes) (buffer YES)) (output 1 (name "Data") (lock name constraints)))) (device 10 FORMULA (properties (name "A+1") (variableScope cont) (expr 1 "A+1")) (interface (input 1 (name "A") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 11 FORMULA (properties (name "A-1") (variableScope cont) (expr 1 "A-1")) (interface (input 1 (name "A") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 12 FORMULA (properties (name "check dups") (variableScope cont) (expr 1 "chk[idx]=(A[idx]==B?1:chk[idx]);")) (interface (input 1 (name "B") (optional yes)) (input 2 (name "A") (optional yes)) (input 3 (name "idx") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 14 IFTHENELSE (properties (name "Not a dup?") (variableScope cont) (cases 1 "chk[idx]==0")) (interface (input 1 (name "idx") (optional yes)) (output 1 (name "Then") (lock name constraints)) (output 2 (name "Else") (lock name constraints)))) (device 15 GATE (properties (variableScope cont)) (interface (input 1 (name "A") (tag "InData")) (output 1 (name "X")))) (device 16 NEXT (properties (variableScope cont))) (device 17 DO (properties (variableScope cont)) (interface (output 1 (name "Do")))) (device 18 NOTE (properties (name "Description") (variableScope cont) (text2 1 "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Times New Roman;}}\r\n{\\colortbl ;\\red0\\green0\\blue0;}\r\n\\viewkind4\\uc1\\pard\\cf1\\f0\\fs24 VEE_Unique()\\par\r\n\\par\r\nTakes an input array and filters out all duplicate entries.\\par\r\nIt leaves them in the order originally found.\\par\r\n\\par\r\nIt runs like lightning (slighlty biased opinion)\\par\r\nI can\'t explain the algorithm without a page or two of space.\\par\r\n\\par\r\nSuffice it to say this does the same thing as MATLAB Unique() but runs 88% faster and can handle integers, strings and who knows what else.\\par\r\n\\par\r\nRob Marquardt\\par\r\nhttp://mtestsystems.com\\par\r\n}\r\n" ))) (configuration (connect D12:1 D0:1) (connect D14:1 D0:2) (connect D2:1 D1:1) (connect I1:1 D2:1) (connect D1:1 D4:1) (connect D4:0 D5:0) (connect D2:1 D5:1) (connect I1:1 D6:1) (connect D5:1 D6:2) (connect D12:0 D7:0) (connect D8:1 D7:1) (connect D9:1 D7:2) (connect D5:1 D8:1) (connect D2:1 D9:1) (connect D6:1 D10:1) (connect I1:1 D10:2) (connect D7:1 D10:3) (connect D6:0 D11:0) (connect D5:1 D11:1) (connect D11:1 D12:0) (connect D6:1 D12:1) (connect D11:2 D13:0) (connect D5:0 D14:0) (connect D0:1 O1:1))) (contextCarrier (active detail) (detail (extent 517 348) (anchorPt 341 258) (configuration (devCarrierFor 1 (active icon) (icon (extent 53 25)) (open) (terminals on) (pinCenter 510 230)) (devCarrierFor 2 (active icon) (icon (extent 61 15)) (open (extent 194 121)) (terminals on) (pinCenter 110 100)) (devCarrierFor 4 (active icon) (icon (extent 53 15)) (open (extent 84 50)) (terminals on) (pinCenter 20 100)) (devCarrierFor 5 (active icon) (icon (extent 71 15)) (open (extent 199 115)) (pinCenter 330 100)) (devCarrierFor 6 (active icon) (icon (extent 44 15)) (open (extent 73 51)) (terminals on) (pinCenter 200 100)) (devCarrierFor 7 (active icon) (icon (extent 68 51) (iconImage "loop.icn")) (open (extent 95 31)) (pinCenter 110 210)) (devCarrierFor 8 (active icon) (icon (extent 35 25)) (open (extent 145 50)) (terminals on) (pinCenter 230 200)) (devCarrierFor 9 (active icon) (icon (extent 68 51) (iconImage "loop.icn")) (open (extent 99 79)) (pinCenter 230 410)) (devCarrierFor 10 (active icon) (icon (extent 25 15)) (open (extent 145 50)) (terminals on) (pinCenter 140 390)) (devCarrierFor 11 (active icon) (icon (extent 24 15)) (open (extent 145 50)) (terminals on) (pinCenter 140 430)) (devCarrierFor 12 (active icon) (icon (extent 69 34)) (open (extent 204 56)) (terminals on) (pinCenter 380 400)) (devCarrierFor 14 (active icon) (icon (extent 66 25)) (open (extent 91 51)) (terminals on) (pinCenter 230 250)) (devCarrierFor 15 (active icon) (icon (extent 30 15)) (open) (terminals on) (pinCenter 360 270)) (devCarrierFor 16 (active icon) (icon (extent 28 15)) (open) (terminals on) (pinCenter 280 290)) (devCarrierFor 17 (active icon) (icon (extent 24 15)) (open) (terminals on) (pinCenter 80 290)) (devCarrierFor 18 (active open) (icon (extent 69 0) (iconImage "notepad.icn")) (open (extent 514 261) (editing enabled)) (titleBg "Light Violet Purple") (titleFont "Arial" 18 bold) (pinCenter 310 -90)) (connect D12:1 D0:1 (points 4 377 270 400 270 400 220 481 220)) (connect D14:1 D0:2 (points 6 94 290 120 290 120 320 410 320 410 240 481 240)) (connect D2:1 D1:1 (points 2 49 100 77 100)) (connect I1:1 D2:1 (points 4 -341 -85 -30 -85 -30 100 -9 100)) (connect D1:1 D4:1 (points 2 143 100 175 100)) (connect D4:0 D5:0 (points 4 200 110 200 130 110 130 110 182)) (connect D2:1 D5:1 (points 4 49 100 60 100 60 210 73 210)) (connect I1:1 D6:1 (points 6 -341 -85 -30 -85 -30 160 170 160 170 190 210 190)) (connect D5:1 D6:2 (points 2 146 210 210 210)) (connect D12:0 D7:0 (points 4 360 280 360 300 230 300 230 382)) (connect D8:1 D7:1 (points 4 155 390 170 390 170 400 193 400)) (connect D9:1 D7:2 (points 4 154 430 170 430 170 420 193 420)) (connect D5:1 D8:1 (points 6 146 210 170 210 170 260 110 260 110 390 125 390)) (connect D2:1 D9:1 (points 6 49 100 60 100 60 210 30 210 30 430 125 430)) (connect D6:1 D10:1 (points 6 250 200 300 200 300 270 310 270 310 390 343 390)) (connect I1:1 D10:2 (points 6 -341 -85 50 -85 50 330 290 330 290 400 343 400)) (connect D7:1 D10:3 (points 2 266 410 343 410)) (connect D6:0 D11:0 (points 2 230 215 230 235)) (connect D5:1 D11:1 (points 4 146 210 170 210 170 250 194 250)) (connect D11:1 D12:0 (points 3 265 240 360 240 360 260)) (connect D6:1 D12:1 (points 4 250 200 300 200 300 270 342 270)) (connect D11:2 D13:0 (points 3 265 260 280 260 280 280)) (connect D5:0 D14:0 (points 4 110 238 110 250 80 250 80 280)) (connect D0:1 O1:1 (points 4 539 230 610 230 610 -85 175 -85))) (stackingOrder 0 2 3 9 7 8 12 14 6 4 1 11 10 5 13 15))))) (device 5 DO (properties (variableScope cont)) (interface (output 1 (name "Do")))) (device 6 DO (properties (variableScope cont)) (interface (output 1 (name "Do")))) (device 8 TIMER (properties (variableScope cont)) (interface (input 1 (name "Time1") (lock name constraints)) (input 2 (name "Time2") (lock name constraints)) (output 1 (name "T2 - T1") (tag "dTime") (lock name constraints)))) (device 9 CALL (properties (name "Call VEE_Unique") (variableScope cont) (callFunc "VEE_Unique") (parmMode rev30)) (interface (input 1 (name "A") (optional yes)) (output 1 (name "X") (lock name constraints) (optional yes)))) (device 10 TEXTDISPLAY (properties (name "Output") (variableScope cont)) (interface (input 1 (name "Data")))) (device 11 FORMULA (properties (name "sort(x)") (variableScope cont) (expr 1 "sort(x)")) (interface (input 1 (name "x") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 18 TEXTDISPLAY (properties (name "Sorted Output") (variableScope cont)) (interface (input 1 (name "Data")))) (device 19 LITERALCONSTANT (properties (name "Input Array") (variableScope cont) (enableEditing 1)) (interface (output 1 (name "Text") (lock name constraints))) (implementation (value Text (numDims 1) (size 21) (data [ "create vdisk level raid5 disks 1.1-7 vd01" "create vdisk level raid5 disks 1.1-7 vd01" "create vdisk level raid5 disks 1.1-7 vd01" "create vdisk level raid5 disks 1.1-7 vd01" "create vdisk level raid5 disks 1.1-7 vd01" "set spare disks 1.23-24" "create volume vdisk vd01 size 80GB c6v1_boot_m" "create volume vdisk vd01 size 80GB c6v1_swap_m" "create volume vdisk vd01 size 80GB c6v1_drd_m" "create volume vdisk vd01 size 80GB c6v2_boot_m" "create volume vdisk vd01 size 80GB c6v2_swap_m" "set host-name id 123123123123864a profile hp-ux c6v1_mirror" "set host-name id 123123123123864a profile hp-ux c6v1_mirror" "set host-name id 123123123123864a profile hp-ux c6v1_mirror" "set host-name id 1231231231238602 profile hp-ux c6v2_mirror" "set host-name id 1231231231238602 profile hp-ux c6v2_mirror" "map volume c6v1_boot_m lun 0 host 123123123123864a" "map volume c6v1_swap_m lun 1 host 123123123123864a" "map volume c6v1_drd_m lun 2 host 123123123123864a" "map volume c6v2_boot_m lun 3 host 1231231231238602" "map volume c6v2_swap_m lun 4 host 1231231231238602 " ])) (initValue Text (data "")))) (device 20 LITERALCONSTANT (properties (name "Desired Output Array") (variableScope cont) (enableEditing 1)) (interface (output 1 (name "Text") (lock name constraints))) (implementation (value Text (numDims 1) (size 14) (data [ "create vdisk level raid5 disks 1.1-7 vd01" "set spare disks 1.23-24" "create volume vdisk vd01 size 80GB c6v1_boot_m" "create volume vdisk vd01 size 80GB c6v1_swap_m" "create volume vdisk vd01 size 80GB c6v1_drd_m" "create volume vdisk vd01 size 80GB c6v2_boot_m" "create volume vdisk vd01 size 80GB c6v2_swap_m" "set host-name id 123123123123864a profile hp-ux c6v1_mirror" "set host-name id 1231231231238602 profile hp-ux c6v2_mirror" "map volume c6v1_boot_m lun 0 host 123123123123864a" "map volume c6v1_swap_m lun 1 host 123123123123864a" "map volume c6v1_drd_m lun 2 host 123123123123864a" "map volume c6v2_boot_m lun 3 host 1231231231238602" "map volume c6v2_swap_m lun 4 host 1231231231238602 " ])) (initValue Text (data "")))) (device 21 NOTE (properties (name "Description") (variableScope cont) (text2 1 "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Times New Roman;}}\r\n{\\colortbl ;\\red0\\green0\\blue0;}\r\n\\viewkind4\\uc1\\pard\\cf1\\f0\\fs24 VEE_Unique()\\par\r\n\\par\r\nTakes an input array and filters out all duplicate entries.\\par\r\nIt leaves them in the order originally found.\\par\r\n\\par\r\nIt runs like lightning (slighlty biased opinion)\\par\r\nI can\'t explain the algorithm without a page or two of space.\\par\r\n\\par\r\nPure VEE.\\par\r\n\\par\r\nSuffice it to say this does the same thing as MATLAB Unique() but runs 88% faster and can handle integers, strings and who knows what else.\\par\r\n\\par\r\nRob Marquardt\\par\r\nhttp://mtestsystems.com\\par\r\n}\r\n" ))) (device 22 NOTE (properties (name "Description") (variableScope cont) (text2 1 "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Times New Roman;}}\r\n{\\colortbl ;\\red0\\green0\\blue0;}\r\n\\viewkind4\\uc1\\pard\\cf1\\f0\\fs24 I am using David Mair\'s sample input and expected output which I cut and pasted from his VRF E-mail.\\par\r\n}\r\n" ))) (device 25 FORMULA (properties (name "A == B ?") (variableScope cont) (expr 1 "(A==B?\"They Match\":\"Oh pooh\");")) (interface (input 1 (name "A") (optional yes)) (input 2 (name "B") (optional yes)) (output 1 (name "Result") (tag "Result") (lock name constraints) (optional yes)))) (device 26 TEXTDISPLAY (properties (variableScope cont)) (interface (input 1 (name "Data")))) (configuration (connect D3:0 D1:0) (connect D0:1 D2:1) (connect D1:1 D2:2) (connect D0:0 D3:0) (connect D7:1 D3:1) (connect D3:1 D4:1) (connect D1:0 D5:0) (connect D3:1 D5:1) (connect D5:1 D6:1) (connect D5:0 D11:0) (connect D3:1 D11:1) (connect D8:1 D11:2) (connect D11:1 D12:1))) (contextCarrier (wndRestoredOrigin 2 2) (wndRestoredExtent 577 348) (wndState max) (active detail) (detail (extent 1677 870) (anchorPt 556 305) (configuration (devCarrierFor 5 (active icon) (icon (extent 24 15)) (open) (terminals on) (pinCenter 350 360)) (devCarrierFor 6 (active icon) (icon (extent 24 15)) (open) (terminals on) (pinCenter 350 460)) (devCarrierFor 8 (active open) (icon (iconImage "timer.icn")) (open (extent 72 31)) (titleBg "Green") (pinCenter 520 370)) (devCarrierFor 9 (active icon) (icon (extent 104 15)) (open (extent 176 51)) (terminals on) (pinCenter 350 410)) (devCarrierFor 10 (active open) (icon (extent 40 0)) (open (extent 424 376)) (pinCenter 830 450)) (devCarrierFor 11 (active icon) (icon (extent 38 15)) (open (extent 75 50)) (terminals on) (pinCenter 350 610)) (devCarrierFor 18 (active icon) (icon (extent 82 15)) (open (extent 464 266)) (pinCenter 480 610)) (devCarrierFor 19 (active open) (icon (extent 61 0)) (open (extent 474 376)) (pinCenter -140 320)) (devCarrierFor 20 (active open) (icon (extent 123 0)) (open (extent 554 266)) (pinCenter 1060 90)) (devCarrierFor 21 (active open) (icon (extent 69 0) (iconImage "notepad.icn")) (open (extent 534 331) (editing enabled)) (titleBg "Light Violet Purple") (titleFont "Arial" 18 bold) (pinCenter 450 -170)) (devCarrierFor 22 (active open) (icon (extent 69 0) (iconImage "notepad.icn")) (open (extent 544 91) (editing enabled)) (titleBg "Light Violet Purple") (titleFont "Arial" 18 bold) (pinCenter -160 -50)) (devCarrierFor 25 (active icon) (icon (extent 48 25)) (open (extent 145 50)) (terminals on) (pinCenter 350 680)) (devCarrierFor 26 (active open) (icon) (open (extent 264 54) (scFont "Arial" 24 bold)) (title off) (bg "Med Light Teal") (pinCenter 560 700)) (connect D3:0 D1:0 (points 2 350 420 350 450)) (connect D0:1 D2:1 (points 2 364 360 481 360)) (connect D1:1 D2:2 (points 4 364 460 420 460 420 380 481 380)) (connect D0:0 D3:0 (points 2 350 370 350 400)) (connect D7:1 D3:1 (points 4 99 320 120 320 120 410 295 410)) (connect D3:1 D4:1 (points 4 404 410 430 410 430 450 615 450)) (connect D1:0 D5:0 (points 2 350 470 350 600)) (connect D3:1 D5:1 (points 6 404 410 430 410 430 490 310 490 310 610 328 610)) (connect D5:1 D6:1 (points 2 371 610 436 610)) (connect D5:0 D11:0 (points 2 350 620 350 665)) (connect D3:1 D11:1 (points 8 404 410 430 410 430 490 310 490 310 610 300 610 300 670 323 670)) (connect D8:1 D11:2 (points 6 1339 90 1360 90 1360 750 300 750 300 690 323 690)) (connect D11:1 D12:1 (points 4 376 680 400 680 400 700 425 700))) (stackingOrder 0 1 3 9 10 8 5 6 4 11 12 7 2)) (numberFormats (realFormat standard) (realSigDigits 4) (realRadixSpec 4) (integerBase decimal))))