/* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { public static void floatTest() { float f = 0; float nf = -0; float fc = 1f; for (int i = 0; i < 2; i++) { f -= fc; f = -f; nf -= fc; nf = -nf; } System.out.println(f); System.out.println(nf); System.out.println(f + 0f); System.out.println(f - (-0f)); System.out.println(-f - (-nf)); System.out.println(-f + (-nf)); } public static void doubleTest() { double d = 0; double nd = -0; double dc = 1f; for (int i = 0; i < 2; i++) { d -= dc; d = -d; nd -= dc; nd = -nd; } System.out.println(d); System.out.println(nd); System.out.println(d + 0f); System.out.println(d - (-0f)); System.out.println(-d - (-nd)); System.out.println(-d + (-nd)); } public static void bug_1() { int i4=18, i3=-48959; float d; float f=-0.0f; float a=0.0f; d = -f + (-a); f += i4 * i3; System.out.println("d " + d); } public static void main(String[] args) { doubleTest(); floatTest(); bug_1(); } }