1466-2-3

if (isInverted()) { result = axisMax - ((java2DValue - min) / (max - min) * (axisMax - axisMin)); } else { result = axisMin + ((java2DValue - min) / (max - min) * (axisMax - axisMin)); }
if (isInverted()) { result = maxX + ((value - axisMin) / (axisMax - axisMin)) * (minX - maxX); } else { result = minX + ((value - axisMin) / (axisMax - axisMin)) * (maxX - minX); }

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/axis/DateAxis.java |  | File path: /jfreechart-1.0.10/src/org/jfree/chart/axis/PeriodAxis.java
Method name: `double java2DToValue(double, Rectangle2D, RectangleEdge)` |  | Method name: `double valueToJava2D(double, Rectangle2D, RectangleEdge)`
Number of AST nodes: 3 |  | Number of AST nodes: 3

1

    if (isInverted()) {↵

1

    if (isInverted()) {↵

2

                 result = axisMax - ((java2DValue - min) / (max - min)↵

2

                    result = maxX + ((value - axisMin) / (↵

3

    axisMax - axisMin)) ↵

3

                          * (axisMax - axisMin));↵

4

                             * (minX - max↵

5

    X);↵

4

            }↵

6

                }↵

5

            else {↵

7

                else {↵

6

                 result = axisMin + ((java2DValue - min) / (max - min)↵

8

                    result = minX + ((value - axisMin) / (↵

9

    axisMax - axisMin)) ↵

7

                          * (axisMax - axisMin));↵

10

                             * (maxX - minX);↵

8

            }

11

                }

See real code fragment |  | See real code fragment

Summary
Number of common nesting structure subtrees | 1
Number of refactorable cases | 1
Number of non-refactorable cases | 0
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.1
Clones location | Clones are in different classes having the same super class
Number of node comparisons | 9

1. {Refactorable}

   Mapping Summary
   Number of mapped statements | 2
   Number of unmapped statements in the first code fragment | 1
   Number of unmapped statements in the second code fragment | 1
   Time elapsed for statement mapping (ms) | 0.9
   Clone type | Type 2

   Mapped Statements
   ID | Statement |  | ID | Statement
   --- | --- | --- | --- | ---

   13

       if (isInverted())

   7

       if (isInverted())

   8

       result = maxX + ((value - axisMin) / (axisMax - axisMin)) * (minX - maxX);

   14

       result = axisMax - ((java2DValue - min) / (max - min) * (axisMax - axisMin));

       else

       else

   15

       result = axisMin + ((java2DValue - min) / (max - min) * (axisMax - axisMin));

   15 | result = axisMin + ((java2DValue - min) / (max - min) * (axisMax - axisMin));
   9 | result = minX + ((value - axisMin) / (axisMax - axisMin)) * (maxX - minX);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   axisMin | minX | VARIABLE_NAME_MISMATCH
   ((java2DValue - min) / (max - min) * (axisMax - axisMin)) | ((value - axisMin) / (axisMax - axisMin)) * (maxX - minX) | INFIX_RIGHT_OPERAND_MISMATCH

   9

       result = minX + ((value - axisMin) / (axisMax - axisMin)) * (maxX - minX);

   Precondition Violations (0)
   Row | Violation
   --- | ---