| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package io.v.v23.vdl; |
| |
| /** |
| * VdlComplex64 is a representation of a VDL complex64. |
| */ |
| public class VdlComplex64 extends VdlValue { |
| private static final long serialVersionUID = 1L; |
| |
| private final float real; |
| private final float imag; |
| |
| public VdlComplex64(VdlType type, float real, float imag) { |
| super(type); |
| assertKind(Kind.COMPLEX64); |
| this.real = real; |
| this.imag = imag; |
| } |
| |
| public VdlComplex64(float real, float imag) { |
| this(Types.COMPLEX64, real, imag); |
| } |
| |
| public VdlComplex64(float real) { |
| this(real, 0); |
| } |
| |
| public VdlComplex64() { |
| this(0, 0); |
| } |
| |
| public float getReal() { |
| return real; |
| } |
| |
| public float getImag() { |
| return imag; |
| } |
| |
| @Override |
| public boolean equals(Object obj) { |
| if (this == obj) return true; |
| if (!(obj instanceof VdlComplex64)) return false; |
| VdlComplex64 other = (VdlComplex64) obj; |
| return real == other.real && imag == other.imag; |
| } |
| |
| @Override |
| public int hashCode() { |
| return Float.valueOf(real).hashCode() ^ Float.valueOf(imag).hashCode(); |
| } |
| |
| @Override |
| public String toString() { |
| return "{real=" + Float.toString(real) + ", imag=" + Float.toString(imag) + "}"; |
| } |
| } |