Example PcodeVector isIdentical 016

 

 

Description

This example sets two Vectors and makes copies of these Vectors using the setq and the copy function. It then uses the isIdentical function to compare the copies of the two Vectors.

 

Details

(setq A (new Vector: pcode: 5 4 )) Returns: #<PcodeVector 123456>
(setq B (new Vector: pcode: 5 4 )) Returns: #<PcodeVector 234567>

C has a different Object Id although the contents of C and A are the same.

(setq C (copy A )) Returns: #<PcodeVector 345678>

D and A have the same Object Id since the setq function assigns a pointer to the same memory location of the source object.

(setq D A) Returns: #<PcodeVector 123456>

A and B have different Object Ids.

(isIdentical A B) Returns: false

B and C have different Object Ids.

(isIdentical B C) Returns: false

D and A access the same memory location.

(isIdentical D A) Returns: true

Notes and Hints

When you use the setq function on a collection data type such as a Vector, a pointer to the data location (the object id) is copied to the target container (target). Therefore, the source and target container are pointing to the same data. The isIdentical function returns true for the source and target containers in the setq function.

However if the copy function was used, it produces a copy of the Vector (target) in a different memory location. Therefore, the isIdentical function returns false for the source and target containers in the copy function.

 

Related Examples

Here are examples of the isIdentical function at work.

BitVector isIdentical 017 Boolean isIdentical 007 Brick isIdentical 020 Character isIdentical 008
Date isIdentical 010 Dictionary isIdentical 002 Directory isIdentical 003 Error isIdentical 007
FltVector isIdentical 012 Function isIdentical 011 IntVector isIdentical 013 List isIdentical 018
Matrix isIdentical 005 NumMatrix isIdentical 020 NumVector isIdentical 014 Number isIdentical 009
ObjVector isIdentical 015 ObjectRepository isIdentical 019 Pair isIdentical 017 PcodeVector isIdentical 016
ShortVector isIdentical 014 Structure isIdentical 001 Vector isIdentical 004 Void isIdentical 006

 

Function Links

Here is the link to the current function used in this example.

isIdentical

Here are a number of links to other related functions.

compareEQ(#void) isIdentical(#void) comparison(#void) isEqual(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

PcodeVector Boolean

Here are a number of links to examples having similar argument types.

BitVector compareEQ 014 BitVector compareGE 014 BitVector compareGT 014 BitVector compareLE 014
BitVector compareLT 014 BitVector compareNE 014 BitVector comparison 014 BitVector inside 007
BitVector isAtom 010 BitVector isEqual 017 BitVector isIdentical 017 BitVector isObject 012
BitVector isType 020 BitVector member 008 BitVector sort 017 Boolean addMethod 011
Boolean addMethod 012 Boolean bcompareEQ 001 Boolean bcompareGE 001 Boolean bcompareGT 001
Boolean bcompareLE 001 Boolean bcompareLT 001 Boolean bcompareNE 001 Boolean boolean 001
Boolean compare 009 Boolean compareEQ 009 Boolean compareGE 009 Boolean compareGT 009
Boolean compareLE 009 Boolean compareLT 009 Boolean compareNE 009 Boolean comparison functions 009
Boolean isBoolean 001 Boolean isEqual 007 Boolean isIdentical 007 Boolean isType 011
Boolean ref 018 Boolean setq 016 Boolean sizeof 009 Boolean type 011
ByteVector isObject 013 ByteVector new 015 Character ccompareEQ 001 Character ccompareGE 001
Character ccompareGT 001 Character ccompareLE 001 Character ccompareLT 001 Character ccompareNE 001
Character compare 010 Character isCharacter 001 Complex compare 021 Complex isComplex 001
Context clear 001 Context debug 001 Date compare 012 Dictionary compareEQ 004
Dictionary compareGE 004 Dictionary compareGT 004 Dictionary compareLE 004 Dictionary compareLT 004
Dictionary compareNE 004 Dictionary comparison functions 004 Dictionary isAtom 002 Dictionary isBound 002
Dictionary isEqual 002 Dictionary isIdentical 002 Dictionary isInside 002 Dictionary isMember 002
Dictionary isObject 004 Dictionary isType 006 Directory compareEQ 005 Directory compareGE 005
Directory compareGT 005 Directory compareLE 005 Directory compareLT 005 Directory compareNE 005
Directory comparison functions 005 Directory isAtom 003 Directory isBound 003 Directory isDirectory 001
Directory isEqual 003 Directory isIdentical 003 Directory isObject 005 Directory isType 007
Directory member 002 Directory member 003 Directory sort 008 Directory sort 009
Error isIdentical 007 FltVector binarySearch 005 FltVector compareEQ 014 FltVector compareGE 014
FltVector compareGT 014 FltVector compareLE 014 FltVector compareLT 014 FltVector compareNE 014
FltVector comparison functions 014 FltVector isAtom 005 FltVector isEqual 013 FltVector isIdentical 012
FltVector isObject 007 FltVector isType 016 FltVector sort 013 Function compare 013
IntVector binarySearch 006 IntVector compareEQ 014 IntVector compareGE 014 IntVector compareGT 014
IntVector compareLE 014 IntVector compareLT 014 IntVector compareNE 014 IntVector comparison functions 014
IntVector inside 005 IntVector isAtom 006 IntVector isEqual 014 IntVector isIdentical 013
IntVector isObject 008 IntVector isType 017 IntVector member 005 IntVector sort 014
Integer icompareGE 001 Integer icompareGT 001 Integer icompareLE 001 Integer icompareLT 001
Integer icompareNE 001 Lambda balance 001 Lambda compare 008 Lambda compareEQ 008
Lambda compareGE 008 Lambda compareGT 008 Lambda compareLE 008 Lambda compareLT 008
Lambda compareNE 004 Lambda compile 001 Lambda debug 001 Lambda onError 001
List compare 020 List compareEQ 020 List compareGE 020 List compareGT 020
List compareLE 020 List compareLT 020 List compareNE 020 List comparison 020
List isObject 015 Matrix binarySearch 005 Matrix binarySearch 006 Matrix compareEQ 007
Matrix compareGE 007 Matrix compareGT 007 Matrix compareLE 007 Matrix compareLT 007
Matrix compareNE 007 Matrix comparison functions 007 Matrix inside 005 Matrix isAtom 005
Matrix isEqual 005 Matrix isIdentical 005 Matrix isObject 007 Matrix isType 009
Matrix member 005 NumMatrix binarySearch 007 NumMatrix compareEQ 023 NumMatrix compareGE 023
NumMatrix compareGT 023 NumMatrix compareLE 023 NumMatrix compareLT 023 NumMatrix compareNE 023
NumMatrix comparison functions 023 NumMatrix inside 009 NumMatrix isAtom 012 NumMatrix isEqual 020
NumMatrix isIdentical 020 NumMatrix isObject 014 NumMatrix isType 022 NumMatrix member 009
NumVector binarySearch 007 NumVector compareEQ 014 NumVector compareGE 014 NumVector compareGT 014
NumVector compareLE 014 NumVector compareLT 014 NumVector compareNE 014 NumVector comparison 014
NumVector inside 006 NumVector isAtom 007 NumVector isEqual 015 NumVector isIdentical 014
NumVector isObject 009 NumVector isType 018 NumVector member 006 NumVector sort 015
Number compare 011 Number nadd 001 Number ncompareGE 001 Number ncompareGT 001
Number ncompareLE 001 Number ncompareLT 001 Number ndiv 001 Number nmod 001
Number nmul 001 Number nsub 001 ObjVector compareEQ 014 ObjVector compareGE 014
ObjVector compareGT 014 ObjVector compareLE 014 ObjVector compareLT 014 ObjVector compareNE 014
ObjVector comparison functions 014 ObjVector isAtom 008 ObjVector isEqual 016 ObjVector isIdentical 015
ObjVector isObject 010 ObjVector isType 019 ObjVector member 007 ObjVector sort 016
ObjectRepository clear 002 ObjectRepository compare 021 ObjectRepository compare 022 ObjectRepository compareEQ 021
ObjectRepository compareEQ 022 ObjectRepository compareGE 021 ObjectRepository compareGE 022 ObjectRepository compareGT 021
ObjectRepository compareGT 022 ObjectRepository compareLE 021 ObjectRepository compareLE 022 ObjectRepository compareLT 021
ObjectRepository compareLT 022 ObjectRepository compareNE 021 ObjectRepository compareNE 022 ObjectRepository comparison 021
ObjectRepository comparison 022 ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository saveImmediate 001
Pair isObject 014 PcodeVector copy 010 PcodeVector isAtom 009 PcodeVector isIdentical 016
PcodeVector isObject 011 PcodeVector isPcodeVector 001 PcodeVector length 012 PcodeVector methodsOf 020
PcodeVector new 014 PcodeVector ref 026 PcodeVector setq 023 PcodeVector sizeof 018
PcodeVector type 020 ShortVector binarySearch 007 ShortVector compareEQ 015 ShortVector compareGE 015
ShortVector compareGT 015 ShortVector compareLE 015 ShortVector compareLT 015 ShortVector compareNE 015
ShortVector comparison functions 015 ShortVector inside 006 ShortVector isAtom 007 ShortVector isEqual 015
ShortVector isIdentical 014 ShortVector isObject 009 ShortVector isType 018 ShortVector member 006
ShortVector sort 015 String comparison functions 001 Structure binarySearch 001 Structure compareEQ 003
Structure comparison functions 003 Structure defstruct 001 Structure defstruct 002 Structure isAtom 001
Structure isBound 001 Structure isEqual 001 Structure isIdentical 001 Structure isInside 001
Structure isMember 001 Structure isObject 003 Structure isStructure 001 Structure isType 005
Structure member 001 Symbol comparison functions 002 Vector binarySearch 003 Vector binarySearch 004
Vector compareEQ 006 Vector compareGE 006 Vector compareGT 006 Vector compareLE 006
Vector compareLT 006 Vector compareNE 006 Vector comparison functions 006 Vector inside 004
Vector isAtom 004 Vector isEqual 004 Vector isIdentical 004 Vector isObject 006
Vector isType 008 Vector member 004 Vector sort 011 Void compareEQ 008
Void compareGE 008 Void compareGT 008 Void compareLE 008 Void compareLT 008
Void compareNE 008 Void comparison functions 008 Void isEqual 006 Void isIdentical 006
Void isType 010

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE