# US 2014/0156689 A1 · Mechanism for comparison of disparate data in data structures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156689 A1
- Document ID: US20140156689A1
- Status: Published application
- Kind: A1
- Application number: 13/705,647
- Filed: 2012-12-05
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Assignees: The MathWorks, Inc.
- Applicants: The Mathworks, Inc.
- Inventors: Andrew T. CAMPBELL; Gerhard P. STOECKEL; David M. SAXE; Gregory V. ALOE; Ajay B. PUVVALA; David HRUSKA
- Web page: https://patentgrep.com/patent/US20140156689A1

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 16/90344: {by using string matching techniques}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device receives a first result that includes first data, and a second result that includes second data, and determines whether a comparator supports the first data and the second data. When the comparator supports the first data and the second data, the device utilizes the comparator to select comparison logic for the first data of the first result and for the second data of the second result, compares the first result and the second result, using the selected comparison logic, to determine whether the first result is equivalent to the second result, and outputs or stores the determination of whether the first result is equivalent to the second result.

## Claims

### Claim 1

A device comprising:
one or more processors to:
receive a first result generated by code, the first result including first data,
receive a second result generated by the code, the second result including second data,
determine whether a comparator supports the first data and the second data,
utilize, when the comparator supports the first data and the second data, the comparator to select comparison logic for the first data of the first result and for the second data of the second result,
compare, when the comparator supports the first data and the second data, the first result and the second result, using the selected comparison logic, to determine whether the first result is equivalent to the second result, and
output or store, when the comparator supports the first data and the second data, the determination of whether the first result is equivalent to the second result.

### Claim 2 (depends on 1)

The device of claim 1, where, when utilizing the comparator, the one or more processors are further to:
determine first comparison logic of a list, of the comparator, that matches the first data,
determine second comparison logic of the list that matches the second data, and
output the first comparison logic and the second comparison logic as the selected comparison logic for the first data of the first result and for the second data of the second result, respectively.

### Claim 3 (depends on 1)

The device of claim 1, where each of the first data and the second data include one or more of:
a floating point value,
a cell array,
a structure array,
simulation output data,
numeric data,
logical data,
string data, or
object data.

### Claim 4 (depends on 1)

The device of claim 1, where the selected comparison logic includes one or more of:
comparison logic for floating or fixed point values,
comparison logic for cell arrays,
comparison logic for structure arrays,
comparison logic for simulation output data,
comparison logic for numeric data,
comparison logic for logical data,
comparison logic for string data, or
comparison logic for object data.

### Claim 5 (depends on 1)

The device of claim 1, where the first result includes multiple data and the one or more processors are further to:
utilize the comparator recursively to select multiple comparison logic for the multiple data of the first result.

### Claim 6 (depends on 1)

The device of claim 1, where the second result includes multiple data and the one or more processors are further to:
utilize the comparator recursively to select multiple comparison logic for the multiple data of the second result.

### Claim 7 (depends on 1)

The device of claim 1, where the one or more processors are further to:
provide an indication of unsupported data when the comparator does not support the first data or the second data.

### Claim 8

A method, comprising:
receiving a first result generated by code, the first result including first data and the receiving the first result being performed by one or more devices;
receiving a second result generated by the code, the second result including second data and the receiving the second result being performed by the one or more devices;
determining whether a comparator supports the first data and the second data, the determining being performed by the one or more devices;
utilizing, when the comparator supports the first data and the second data, the comparator to select comparison logic for the first data of the first result and for the second data of the second result, the utilizing the comparator being performed by the one or more devices;
comparing, when the comparator supports the first data and the second data, the first result and the second result, using the selected comparison logic, to determine whether the first result is equivalent to the second result, the comparing the first result and the second result being performed by the one or more devices; and
outputting or storing, when the comparator supports the first data and the second data, the determination of whether the first result is equivalent to the second result, the outputting or storing the determination being performed by the one or more devices.

### Claim 9 (depends on 8)

The method of claim 8, where utilizing the comparator further comprises:
determining first comparison logic of a list, of the comparator, that matches the first data;
determining second comparison logic of the list that matches the second data; and
outputting the first comparison logic and the second comparison logic as the selected comparison logic for the first data of the first result and for the second data of the second result, respectively.

### Claim 10 (depends on 8)

The method of claim 8, where each of the first data and the second data include one or more of:
a floating point value,
a cell array,
a structure array,
simulation output data,
numeric data,
logical data,
string data, or
object data.

### Claim 11 (depends on 8)

The method of claim 8, where the selected comparison logic includes one or more of:
comparison logic for floating or fixed point values,
comparison logic for cell arrays,
comparison logic for structure arrays,
comparison logic for simulation output data,
comparison logic for numeric data,
comparison logic for logical data,
comparison logic for string data, or
comparison logic for object data.

### Claim 12 (depends on 8)

The method of claim 8, where the first result includes multiple data and the method further comprises:
utilizing the comparator recursively to select multiple comparison logic for the multiple data of the first result.

### Claim 13 (depends on 8)

The method of claim 8, where the second result includes multiple data and the method further comprises:
utilizing the comparator recursively to select multiple comparison logic for the multiple data of the second result.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
providing an indication of unsupported data when the comparator does not support the first data or the second data.

### Claim 15

One or more computer-readable media, comprising:
one or more instructions that, when executed by a processor of a device, cause the processor to:
receive a first result generated by code, the first result including first data,
receive a second result generated by the code, the second result including second data,
determine whether a comparator supports the first data and the second data,
provide an indication of unsupported data when the comparator does not support the first data or the second data,
utilize, when the comparator supports the first data and the second data, the comparator to select comparison logic for the first data of the first result and for the second data of the second result,
compare, when the comparator supports the first data and the second data, the first result and the second result, using the selected comparison logic, to determine whether the first result is equivalent to the second result, and
output or store, when the comparator supports the first data and the second data, the determination of whether the first result is equivalent to the second result.

### Claim 16 (depends on 15)

The media of claim 15, further comprising:
one or more instructions that, when executed by the processor, cause the processor to:
determine first comparison logic of a list, of the comparator, that matches the first data,
determine second comparison logic of the list that matches the second data, and
output the first comparison logic and the second comparison logic as the selected comparison logic for the first data of the first result and for the second data of the second result, respectively.

### Claim 17 (depends on 15)

The media of claim 15, where each of the first data and the second data include one or more of:
a floating point value,
a cell array,
a structure array,
simulation output data,
numeric data,
logical data,
string data, or
object data.

### Claim 18 (depends on 15)

The media of claim 15, where the selected comparison logic includes one or more of:
comparison logic for floating or fixed point values,
comparison logic for cell arrays,
comparison logic for structure arrays,
comparison logic for simulation output data,
comparison logic for numeric data,
comparison logic for logical data,
comparison logic for string data, or
comparison logic for object data.

### Claim 19 (depends on 15)

The media of claim 15, where the first result includes multiple data and the media further comprises:
one or more instructions that, when executed by the processor, cause the processor to:
utilize the comparator recursively to select multiple comparison logic for the multiple data of the first result.

### Claim 20 (depends on 15)

The media of claim 15, where the second result includes multiple data and the media further comprises:
one or more instructions that, when executed by the processor, cause the processor to:
utilize the comparator recursively to select multiple comparison logic for the multiple data of the second result.
