1*ce099b40Smartin /* $NetBSD: testCases.h,v 1.4 2008/04/28 20:23:04 martin Exp $ */ 24d8829d5Sross 34d8829d5Sross /* This is a derivative work. */ 44d8829d5Sross 54d8829d5Sross /*- 64d8829d5Sross * Copyright (c) 2001 The NetBSD Foundation, Inc. 74d8829d5Sross * All rights reserved. 84d8829d5Sross * 94d8829d5Sross * This code is derived from software contributed to The NetBSD Foundation 104d8829d5Sross * by Ross Harvey. 114d8829d5Sross * 124d8829d5Sross * Redistribution and use in source and binary forms, with or without 134d8829d5Sross * modification, are permitted provided that the following conditions 144d8829d5Sross * are met: 154d8829d5Sross * 1. Redistributions of source code must retain the above copyright 164d8829d5Sross * notice, this list of conditions and the following disclaimer. 174d8829d5Sross * 2. Redistributions in binary form must reproduce the above copyright 184d8829d5Sross * notice, this list of conditions and the following disclaimer in the 194d8829d5Sross * documentation and/or other materials provided with the distribution. 204d8829d5Sross * 214d8829d5Sross * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 224d8829d5Sross * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 234d8829d5Sross * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 244d8829d5Sross * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 254d8829d5Sross * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 264d8829d5Sross * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 274d8829d5Sross * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 284d8829d5Sross * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 294d8829d5Sross * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 304d8829d5Sross * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 314d8829d5Sross * POSSIBILITY OF SUCH DAMAGE. 324d8829d5Sross */ 335a6cac71Sross 345a6cac71Sross /* 355a6cac71Sross =============================================================================== 365a6cac71Sross 375a6cac71Sross This C header file is part of TestFloat, Release 2a, a package of programs 385a6cac71Sross for testing the correctness of floating-point arithmetic complying to the 395a6cac71Sross IEC/IEEE Standard for Floating-Point. 405a6cac71Sross 415a6cac71Sross Written by John R. Hauser. More information is available through the Web 425a6cac71Sross page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. 435a6cac71Sross 445a6cac71Sross THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort 455a6cac71Sross has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT 465a6cac71Sross TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO 475a6cac71Sross PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY 485a6cac71Sross AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. 495a6cac71Sross 505a6cac71Sross Derivative works are acceptable, even for commercial purposes, so long as 515a6cac71Sross (1) they include prominent notice that the work is derivative, and (2) they 525a6cac71Sross include prominent notice akin to these four paragraphs for those parts of 535a6cac71Sross this code that are retained. 545a6cac71Sross 555a6cac71Sross =============================================================================== 565a6cac71Sross */ 575a6cac71Sross 585a6cac71Sross void testCases_setLevel( int8 ); 595a6cac71Sross 605a6cac71Sross void testCases_initSequence( int8 ); 615a6cac71Sross enum { 625a6cac71Sross testCases_sequence_a_int32, 635a6cac71Sross #ifdef BITS64 645a6cac71Sross testCases_sequence_a_int64, 655a6cac71Sross #endif 665a6cac71Sross testCases_sequence_a_float32, 675a6cac71Sross testCases_sequence_ab_float32, 685a6cac71Sross testCases_sequence_a_float64, 695a6cac71Sross testCases_sequence_ab_float64, 705a6cac71Sross #ifdef FLOATX80 715a6cac71Sross testCases_sequence_a_floatx80, 725a6cac71Sross testCases_sequence_ab_floatx80, 735a6cac71Sross #endif 745a6cac71Sross #ifdef FLOAT128 755a6cac71Sross testCases_sequence_a_float128, 765a6cac71Sross testCases_sequence_ab_float128, 775a6cac71Sross #endif 785a6cac71Sross }; 795a6cac71Sross 805a6cac71Sross extern uint32 testCases_total; 815a6cac71Sross extern flag testCases_done; 825a6cac71Sross 835a6cac71Sross void testCases_next( void ); 845a6cac71Sross 855a6cac71Sross extern int32 testCases_a_int32; 865a6cac71Sross #ifdef BITS64 875a6cac71Sross extern int64 testCases_a_int64; 885a6cac71Sross #endif 895a6cac71Sross extern float32 testCases_a_float32; 905a6cac71Sross extern float32 testCases_b_float32; 915a6cac71Sross extern float64 testCases_a_float64; 925a6cac71Sross extern float64 testCases_b_float64; 935a6cac71Sross #ifdef FLOATX80 945a6cac71Sross extern floatx80 testCases_a_floatx80; 955a6cac71Sross extern floatx80 testCases_b_floatx80; 965a6cac71Sross #endif 975a6cac71Sross #ifdef FLOAT128 985a6cac71Sross extern float128 testCases_a_float128; 995a6cac71Sross extern float128 testCases_b_float128; 1005a6cac71Sross #endif 1015a6cac71Sross 102