Mercurial > hg > truffle
diff truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/ComplexNumber.java @ 22495:aeba89e1d8da
Add ComplexNumber sequence tests
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Fri, 11 Dec 2015 15:20:27 +0100 |
parents | fa7b15454c66 |
children | b3569a53c24c |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/ComplexNumber.java Thu Dec 10 15:00:16 2015 +0100 +++ b/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/ComplexNumber.java Fri Dec 11 15:20:27 2015 +0100 @@ -33,39 +33,45 @@ import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.nodes.RootNode; -public class ComplexNumber implements TruffleObject { +public final class ComplexNumber implements TruffleObject { public static final String REAL_IDENTIFIER = "real"; public static final String IMAGINARY_IDENTIFIER = "imaginary"; - private final double[] data = new double[2]; + private double real; + private double imag; public ComplexNumber(double real, double imaginary) { - data[0] = real; - data[1] = imaginary; + this.real = real; + this.imag = imaginary; } public ForeignAccess getForeignAccess() { return ForeignAccess.create(new ComplexForeignAccessFactory()); } - private static int identifierToIndex(String identifier) { + public void set(String identifier, double value) { switch (identifier) { case REAL_IDENTIFIER: - return 0; + this.real = value; + break; case IMAGINARY_IDENTIFIER: - return 1; + this.imag = value; + break; default: throw new IllegalArgumentException(); } } - public void set(String identifier, double value) { - data[identifierToIndex(identifier)] = value; - } - public double get(String identifier) { - return data[identifierToIndex(identifier)]; + switch (identifier) { + case REAL_IDENTIFIER: + return this.real; + case IMAGINARY_IDENTIFIER: + return this.imag; + default: + throw new IllegalArgumentException(); + } } private static class ComplexForeignAccessFactory implements Factory {