Mercurial > hg > graal-jvmci-8
view graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/FloatDivPrecisionTest.java @ 11200:380e0248f873
Truffle-DSL: Fixed a bug in the code writer when a line overflowed with an exact size of 200.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 05 Aug 2013 19:48:15 +0200 |
parents | 4ef92b67aeae |
children | d3b3c6e17d40 |
line wrap: on
line source
/* * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package com.oracle.graal.compiler.hsail.test; import com.oracle.graal.compiler.hsail.test.infra.GraalKernelTester; import org.junit.Test; /** * This test (originally derived from a discrepancy seen in Mandel) showed a difference in the * division answers when run on Bonaire hardware (compared to Java). */ public class FloatDivPrecisionTest extends GraalKernelTester { static final int width = 768; static final int height = width; static final int range = width * height; @Result private float[] floatResult = new float[range]; public static void run(float[] floatOut, int gid) { floatOut[gid] = gid / (float) width; } @Override public void runTest() { dispatchMethodKernel(range, floatResult); } /** * Allows subclass to override what FP equality means for this particular unit test. * */ @Override public boolean isEqualsFP(double first, double second) { return Math.abs(first - second) == 0; } @Test public void test() { testGeneratedHsail(); } }