Back to home page

LXR

 
 

    


Warning, /testsuites/ada/sptests/sp19/sptest.adb is written in an unsupported language. File is not indexed.

0001 -- SPDX-License-Identifier: BSD-2-Clause
0002 
0003 --
0004 --  SPTEST / BODY
0005 --
0006 --  DESCRIPTION:
0007 --
0008 --  This package is the implementation of Test 19 of the RTEMS
0009 --  Single Processor Test Suite.
0010 --
0011 --  DEPENDENCIES: 
0012 --
0013 --  
0014 --
0015 --  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
0016 --  On-Line Applications Research Corporation (OAR).
0017 --
0018 
0019 with INTERFACES; use INTERFACES;
0020 with FLOAT_IO;
0021 with TEST_SUPPORT;
0022 with TEXT_IO;
0023 with UNSIGNED32_IO;
0024 with RTEMS.CLOCK;
0025 
0026 --
0027 --  fp.inc
0028 --
0029 --  Macros to produce a large number of LOCAL floating point variables.  This
0030 --  preprocessing is necessary to insure that the variables are
0031 --  scoped properly and to avoid duplicating hundreds of lines
0032 --  of code.
0033 --
0034 --
0035 -- DEFICIENCIES:  
0036 --
0037 -- 1.  This currently does not address whether or not the CPU
0038 --     actually has hardware floating point.  It just does the work.
0039 --
0040 --  COPYRIGHT (c) 1989-1997.
0041 --  On-Line Applications Research Corporation (OAR). 
0042 --
0043 --  Redistribution and use in source and binary forms, with or without
0044 --  modification, are permitted provided that the following conditions
0045 --  are met:
0046 --  1. Redistributions of source code must retain the above copyright
0047 --     notice, this list of conditions and the following disclaimer.
0048 --  2. Redistributions in binary form must reproduce the above copyright
0049 --     notice, this list of conditions and the following disclaimer in the
0050 --     documentation and/or other materials provided with the distribution.
0051 --
0052 --  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0053 --  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0054 --  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0055 --  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0056 --  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0057 --  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0058 --  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0059 --  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0060 --  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0061 --  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0062 --  POSSIBILITY OF SUCH DAMAGE.
0063 
0064 --
0065 -- private definitions for macro use
0066 --
0067 
0068 -- macro usage EPSILON()
0069 
0070 
0071 -- macro usage FP_CHECK_ONE( value, base, factor )
0072 
0073 
0074 -- macro usage FP_DECLARE
0075 
0076 
0077 
0078 -- macro usage FP_LOAD( factor )
0079 
0080 
0081 -- macro usage FP_CHECK( factor )
0082 
0083 
0084 --
0085 --  integer.inc
0086 --
0087 --  Macros to produce a large number of LOCAL integer variables.  This
0088 --  preprocessing is necessary to insure that the variables are
0089 --  scoped properly and to avoid duplicating hundreds of lines
0090 --  of code.
0091 --
0092 --  COPYRIGHT (c) 1989-1997.
0093 --  On-Line Applications Research Corporation (OAR). 
0094 --
0095 --  Redistribution and use in source and binary forms, with or without
0096 --  modification, are permitted provided that the following conditions
0097 --  are met:
0098 --  1. Redistributions of source code must retain the above copyright
0099 --     notice, this list of conditions and the following disclaimer.
0100 --  2. Redistributions in binary form must reproduce the above copyright
0101 --     notice, this list of conditions and the following disclaimer in the
0102 --     documentation and/or other materials provided with the distribution.
0103 --
0104 --  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0105 --  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0106 --  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0107 --  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0108 --  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0109 --  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0110 --  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0111 --  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0112 --  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0113 --  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0114 --  POSSIBILITY OF SUCH DAMAGE.
0115 
0116 --
0117 -- private definitions for macro use
0118 --
0119 
0120 -- macro usage INTEGER_CHECK_ONE( value, base, factor )
0121 
0122 
0123 -- macro usage INTEGER_DECLARE
0124 
0125 
0126 
0127 -- macro usage INTEGER_LOAD( factor )
0128 
0129 
0130 -- macro usage INTEGER_CHECK( factor )
0131 
0132 
0133 
0134 package body SPTEST is
0135 
0136 -- 
0137 --  INIT
0138 --
0139 
0140    procedure INIT (
0141       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0142    ) is
0143       pragma Unreferenced(ARGUMENT);
0144       STATUS : RTEMS.STATUS_CODES;
0145    begin
0146 
0147       TEXT_IO.NEW_LINE( 2 );
0148       TEST_SUPPORT.ADA_TEST_BEGIN;
0149 
0150       SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME(  'T', 'A', '1', ' ' );
0151       SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME(  'T', 'A', '2', ' ' );
0152       SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME(  'T', 'A', '3', ' ' );
0153       SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME(  'T', 'A', '4', ' ' );
0154       SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME(  'T', 'A', '5', ' ' );
0155       SPTEST.TASK_NAME( 6 ) := RTEMS.BUILD_NAME(  'F', 'P', '1', ' ' );
0156 
0157       RTEMS.TASKS.CREATE( 
0158          SPTEST.TASK_NAME( 1 ), 
0159          2, 
0160          2048, 
0161          RTEMS.DEFAULT_MODES,
0162          RTEMS.FLOATING_POINT,
0163          SPTEST.TASK_ID( 1 ),
0164          STATUS
0165       );
0166       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" );
0167 
0168       RTEMS.TASKS.CREATE( 
0169          SPTEST.TASK_NAME( 2 ), 
0170          2, 
0171          2048, 
0172          RTEMS.DEFAULT_MODES,
0173          RTEMS.FLOATING_POINT,
0174          SPTEST.TASK_ID( 2 ),
0175          STATUS
0176       );
0177       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" );
0178 
0179       RTEMS.TASKS.CREATE( 
0180          SPTEST.TASK_NAME( 3 ), 
0181          2, 
0182          2048, 
0183          RTEMS.DEFAULT_MODES,
0184          RTEMS.FLOATING_POINT,
0185          SPTEST.TASK_ID( 3 ),
0186          STATUS
0187       );
0188       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" );
0189 
0190       RTEMS.TASKS.CREATE( 
0191          SPTEST.TASK_NAME( 4 ), 
0192          2, 
0193          2048, 
0194          RTEMS.DEFAULT_MODES,
0195          RTEMS.FLOATING_POINT,
0196          SPTEST.TASK_ID( 4 ),
0197          STATUS
0198       );
0199       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" );
0200 
0201       RTEMS.TASKS.CREATE( 
0202          SPTEST.TASK_NAME( 5 ), 
0203          2, 
0204          2048, 
0205          RTEMS.DEFAULT_MODES,
0206          RTEMS.FLOATING_POINT,
0207          SPTEST.TASK_ID( 5 ),
0208          STATUS
0209       );
0210       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" );
0211 
0212       RTEMS.TASKS.CREATE( 
0213          SPTEST.TASK_NAME( 6 ), 
0214          1, 
0215          2048, 
0216          RTEMS.DEFAULT_MODES,
0217          RTEMS.FLOATING_POINT,
0218          SPTEST.TASK_ID( 6 ),
0219          STATUS
0220       );
0221       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF FP1" );
0222 
0223       RTEMS.TASKS.START(
0224          SPTEST.TASK_ID( 6 ),
0225          SPTEST.FIRST_FP_TASK'ACCESS,
0226          0,
0227          STATUS
0228       );
0229       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF FP1" );
0230 
0231       RTEMS.TASKS.START(
0232          SPTEST.TASK_ID( 1 ),
0233          SPTEST.TASK_1'ACCESS,
0234          0,
0235          STATUS
0236       );
0237       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" );
0238 
0239       RTEMS.TASKS.START(
0240          SPTEST.TASK_ID( 2 ),
0241          SPTEST.TASK_1'ACCESS,
0242          0,
0243          STATUS
0244       );
0245       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" );
0246 
0247       RTEMS.TASKS.START(
0248          SPTEST.TASK_ID( 3 ),
0249          SPTEST.TASK_1'ACCESS,
0250          0,
0251          STATUS
0252       );
0253       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" );
0254 
0255       RTEMS.TASKS.START(
0256          SPTEST.TASK_ID( 4 ),
0257          SPTEST.FP_TASK'ACCESS,
0258          0,
0259          STATUS
0260       );
0261       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" );
0262 
0263       RTEMS.TASKS.START(
0264          SPTEST.TASK_ID( 5 ),
0265          SPTEST.FP_TASK'ACCESS,
0266          0,
0267          STATUS
0268       );
0269       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" );
0270 
0271       --
0272       --  Load "task dependent factors" in the context areas
0273       --
0274 
0275       SPTEST.FP_FACTORS( 0 ) :=    0.0;
0276       SPTEST.FP_FACTORS( 1 ) := 1000.1;
0277       SPTEST.FP_FACTORS( 2 ) := 2000.2;
0278       SPTEST.FP_FACTORS( 3 ) := 3000.3;
0279       SPTEST.FP_FACTORS( 4 ) := 4000.4;
0280       SPTEST.FP_FACTORS( 5 ) := 5000.5;
0281       SPTEST.FP_FACTORS( 6 ) := 6000.6;
0282       SPTEST.FP_FACTORS( 7 ) := 7000.7;
0283       SPTEST.FP_FACTORS( 8 ) := 8000.8;
0284       SPTEST.FP_FACTORS( 9 ) := 9000.9;
0285 
0286       SPTEST.INTEGER_FACTORS( 0 ) := 16#0000#;
0287       SPTEST.INTEGER_FACTORS( 1 ) := 16#1000#;
0288       SPTEST.INTEGER_FACTORS( 2 ) := 16#2000#;
0289       SPTEST.INTEGER_FACTORS( 3 ) := 16#3000#;
0290       SPTEST.INTEGER_FACTORS( 4 ) := 16#4000#;
0291       SPTEST.INTEGER_FACTORS( 5 ) := 16#5000#;
0292       SPTEST.INTEGER_FACTORS( 6 ) := 16#6000#;
0293       SPTEST.INTEGER_FACTORS( 7 ) := 16#7000#;
0294       SPTEST.INTEGER_FACTORS( 8 ) := 16#8000#;
0295       SPTEST.INTEGER_FACTORS( 9 ) := 16#9000#;
0296 
0297       RTEMS.TASKS.DELETE( RTEMS.SELF, STATUS );
0298       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" );
0299 
0300    end INIT;
0301 
0302 -- 
0303 --  FIRST_FP_TASK
0304 --
0305 
0306    procedure FIRST_FP_TASK (
0307       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0308    ) is
0309       STATUS     : RTEMS.STATUS_CODES;
0310       TID        : RTEMS.ID;
0311       TIME       : RTEMS.TIME_OF_DAY;
0312       TASK_INDEX : RTEMS.UNSIGNED32;
0313       
0314   INT01 : RTEMS.UNSIGNED32 :=  1;
0315   INT02 : RTEMS.UNSIGNED32 :=  2;
0316   INT03 : RTEMS.UNSIGNED32 :=  3;
0317   INT04 : RTEMS.UNSIGNED32 :=  4;
0318   INT05 : RTEMS.UNSIGNED32 :=  5;
0319   INT06 : RTEMS.UNSIGNED32 :=  6;
0320   INT07 : RTEMS.UNSIGNED32 :=  7;
0321   INT08 : RTEMS.UNSIGNED32 :=  8;
0322   INT09 : RTEMS.UNSIGNED32 :=  9;
0323   INT10 : RTEMS.UNSIGNED32 := 10;
0324   INT11 : RTEMS.UNSIGNED32 := 11;
0325   INT12 : RTEMS.UNSIGNED32 := 12;
0326   INT13 : RTEMS.UNSIGNED32 := 13;
0327   INT14 : RTEMS.UNSIGNED32 := 14;
0328   INT15 : RTEMS.UNSIGNED32 := 15;
0329   INT16 : RTEMS.UNSIGNED32 := 16;
0330   INT17 : RTEMS.UNSIGNED32 := 17;
0331   INT18 : RTEMS.UNSIGNED32 := 18;
0332   INT19 : RTEMS.UNSIGNED32 := 19;
0333   INT20 : RTEMS.UNSIGNED32 := 20;
0334   INT21 : RTEMS.UNSIGNED32 := 21;
0335   INT22 : RTEMS.UNSIGNED32 := 22;
0336   INT23 : RTEMS.UNSIGNED32 := 23;
0337   INT24 : RTEMS.UNSIGNED32 := 24;
0338   INT25 : RTEMS.UNSIGNED32 := 25;
0339   INT26 : RTEMS.UNSIGNED32 := 26;
0340   INT27 : RTEMS.UNSIGNED32 := 27;
0341   INT28 : RTEMS.UNSIGNED32 := 28;
0342   INT29 : RTEMS.UNSIGNED32 := 29;
0343   INT30 : RTEMS.UNSIGNED32 := 30;
0344   INT31 : RTEMS.UNSIGNED32 := 31;
0345   INT32 : RTEMS.UNSIGNED32 := 32
0346 
0347 ;
0348       
0349   FP01 : FLOAT :=  1.0;
0350   FP02 : FLOAT :=  2.0;
0351   FP03 : FLOAT :=  3.0;
0352   FP04 : FLOAT :=  4.0;
0353   FP05 : FLOAT :=  5.0;
0354   FP06 : FLOAT :=  6.0;
0355   FP07 : FLOAT :=  7.0;
0356   FP08 : FLOAT :=  8.0;
0357   FP09 : FLOAT :=  9.0;
0358   FP10 : FLOAT := 10.0;
0359   FP11 : FLOAT := 11.0;
0360   FP12 : FLOAT := 12.0;
0361   FP13 : FLOAT := 13.0;
0362   FP14 : FLOAT := 14.0;
0363   FP15 : FLOAT := 15.0;
0364   FP16 : FLOAT := 16.0;
0365   FP17 : FLOAT := 17.0;
0366   FP18 : FLOAT := 18.0;
0367   FP19 : FLOAT := 19.0;
0368   FP20 : FLOAT := 20.0;
0369   FP21 : FLOAT := 21.0;
0370   FP22 : FLOAT := 22.0;
0371   FP23 : FLOAT := 23.0;
0372   FP24 : FLOAT := 24.0;
0373   FP25 : FLOAT := 25.0;
0374   FP26 : FLOAT := 26.0;
0375   FP27 : FLOAT := 27.0;
0376   FP28 : FLOAT := 28.0;
0377   FP29 : FLOAT := 29.0;
0378   FP30 : FLOAT := 30.0;
0379   FP31 : FLOAT := 31.0;
0380   FP32 : FLOAT := 32.0
0381 
0382 ;
0383    begin
0384 
0385       RTEMS.TASKS.IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS );
0386       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" );
0387 
0388       TASK_INDEX := TEST_SUPPORT.TASK_NUMBER( TID );
0389    
0390       
0391   INT01 := INT01 + INTEGER_FACTORS( TASK_INDEX ) ;
0392   INT02 := INT02 + INTEGER_FACTORS( TASK_INDEX ) ;
0393   INT03 := INT03 + INTEGER_FACTORS( TASK_INDEX ) ;
0394   INT04 := INT04 + INTEGER_FACTORS( TASK_INDEX ) ;
0395   INT05 := INT05 + INTEGER_FACTORS( TASK_INDEX ) ;
0396   INT06 := INT06 + INTEGER_FACTORS( TASK_INDEX ) ;
0397   INT07 := INT07 + INTEGER_FACTORS( TASK_INDEX ) ;
0398   INT08 := INT08 + INTEGER_FACTORS( TASK_INDEX ) ;
0399   INT09 := INT09 + INTEGER_FACTORS( TASK_INDEX ) ;
0400   INT10 := INT10 + INTEGER_FACTORS( TASK_INDEX ) ;
0401   INT11 := INT11 + INTEGER_FACTORS( TASK_INDEX ) ;
0402   INT12 := INT12 + INTEGER_FACTORS( TASK_INDEX ) ;
0403   INT13 := INT13 + INTEGER_FACTORS( TASK_INDEX ) ;
0404   INT14 := INT14 + INTEGER_FACTORS( TASK_INDEX ) ;
0405   INT15 := INT15 + INTEGER_FACTORS( TASK_INDEX ) ;
0406   INT16 := INT16 + INTEGER_FACTORS( TASK_INDEX ) ;
0407   INT17 := INT17 + INTEGER_FACTORS( TASK_INDEX ) ;
0408   INT18 := INT18 + INTEGER_FACTORS( TASK_INDEX ) ;
0409   INT19 := INT19 + INTEGER_FACTORS( TASK_INDEX ) ;
0410   INT20 := INT20 + INTEGER_FACTORS( TASK_INDEX ) ;
0411   INT21 := INT21 + INTEGER_FACTORS( TASK_INDEX ) ;
0412   INT22 := INT22 + INTEGER_FACTORS( TASK_INDEX ) ;
0413   INT23 := INT23 + INTEGER_FACTORS( TASK_INDEX ) ;
0414   INT24 := INT24 + INTEGER_FACTORS( TASK_INDEX ) ;
0415   INT25 := INT25 + INTEGER_FACTORS( TASK_INDEX ) ;
0416   INT26 := INT26 + INTEGER_FACTORS( TASK_INDEX ) ;
0417   INT27 := INT27 + INTEGER_FACTORS( TASK_INDEX ) ;
0418   INT28 := INT28 + INTEGER_FACTORS( TASK_INDEX ) ;
0419   INT29 := INT29 + INTEGER_FACTORS( TASK_INDEX ) ;
0420   INT30 := INT30 + INTEGER_FACTORS( TASK_INDEX ) ;
0421   INT31 := INT31 + INTEGER_FACTORS( TASK_INDEX ) ;
0422   INT32 := INT32 + INTEGER_FACTORS( TASK_INDEX ) 
0423 ;
0424       
0425   FP01 := FP01 + FP_FACTORS( TASK_INDEX ) ;
0426   FP02 := FP02 + FP_FACTORS( TASK_INDEX ) ;
0427   FP03 := FP03 + FP_FACTORS( TASK_INDEX ) ;
0428   FP04 := FP04 + FP_FACTORS( TASK_INDEX ) ;
0429   FP05 := FP05 + FP_FACTORS( TASK_INDEX ) ;
0430   FP06 := FP06 + FP_FACTORS( TASK_INDEX ) ;
0431   FP07 := FP07 + FP_FACTORS( TASK_INDEX ) ;
0432   FP08 := FP08 + FP_FACTORS( TASK_INDEX ) ;
0433   FP09 := FP09 + FP_FACTORS( TASK_INDEX ) ;
0434   FP10 := FP10 + FP_FACTORS( TASK_INDEX ) ;
0435   FP11 := FP11 + FP_FACTORS( TASK_INDEX ) ;
0436   FP12 := FP12 + FP_FACTORS( TASK_INDEX ) ;
0437   FP13 := FP13 + FP_FACTORS( TASK_INDEX ) ;
0438   FP14 := FP14 + FP_FACTORS( TASK_INDEX ) ;
0439   FP15 := FP15 + FP_FACTORS( TASK_INDEX ) ;
0440   FP16 := FP16 + FP_FACTORS( TASK_INDEX ) ;
0441   FP17 := FP17 + FP_FACTORS( TASK_INDEX ) ;
0442   FP18 := FP18 + FP_FACTORS( TASK_INDEX ) ;
0443   FP19 := FP19 + FP_FACTORS( TASK_INDEX ) ;
0444   FP20 := FP20 + FP_FACTORS( TASK_INDEX ) ;
0445   FP21 := FP21 + FP_FACTORS( TASK_INDEX ) ;
0446   FP22 := FP22 + FP_FACTORS( TASK_INDEX ) ;
0447   FP23 := FP23 + FP_FACTORS( TASK_INDEX ) ;
0448   FP24 := FP24 + FP_FACTORS( TASK_INDEX ) ;
0449   FP25 := FP25 + FP_FACTORS( TASK_INDEX ) ;
0450   FP26 := FP26 + FP_FACTORS( TASK_INDEX ) ;
0451   FP27 := FP27 + FP_FACTORS( TASK_INDEX ) ;
0452   FP28 := FP28 + FP_FACTORS( TASK_INDEX ) ;
0453   FP29 := FP29 + FP_FACTORS( TASK_INDEX ) ;
0454   FP30 := FP30 + FP_FACTORS( TASK_INDEX ) ;
0455   FP31 := FP31 + FP_FACTORS( TASK_INDEX ) ;
0456   FP32 := FP32 + FP_FACTORS( TASK_INDEX ) 
0457 ;
0458 
0459       TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( TASK_INDEX ), FALSE );
0460       TEXT_IO.PUT( " - integer base = (" );
0461       UNSIGNED32_IO.PUT( INTEGER_FACTORS( TASK_INDEX ), BASE => 16 );
0462       TEXT_IO.PUT_LINE( ")" );
0463 
0464       --
0465       --  C implementation prints NA if no hardware FP support.
0466       --
0467 
0468       TEST_SUPPORT.PUT_NAME( 
0469          SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
0470          FALSE
0471       );
0472       TEXT_IO.PUT( " - float base = (" );
0473       FLOAT_IO.PUT( FP_FACTORS( TASK_INDEX ) );
0474       TEXT_IO.PUT_LINE( ")" );
0475 
0476       
0477   
0478   if ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0479      UNSIGNED32_IO.PUT( TASK_INDEX );
0480      TEXT_IO.PUT( ": FP01 wrong -- (" );
0481      FLOAT_IO.PUT( FP01 );
0482      TEXT_IO.PUT( " not " );
0483      FLOAT_IO.PUT( 1.0 + FP_FACTORS( TASK_INDEX )   );
0484      TEXT_IO.PUT_LINE( ")" );
0485   end if
0486 
0487 ;
0488   
0489   if ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0490      UNSIGNED32_IO.PUT( TASK_INDEX );
0491      TEXT_IO.PUT( ": FP02 wrong -- (" );
0492      FLOAT_IO.PUT( FP02 );
0493      TEXT_IO.PUT( " not " );
0494      FLOAT_IO.PUT( 2.0 + FP_FACTORS( TASK_INDEX )   );
0495      TEXT_IO.PUT_LINE( ")" );
0496   end if
0497 
0498 ;
0499   
0500   if ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0501      UNSIGNED32_IO.PUT( TASK_INDEX );
0502      TEXT_IO.PUT( ": FP03 wrong -- (" );
0503      FLOAT_IO.PUT( FP03 );
0504      TEXT_IO.PUT( " not " );
0505      FLOAT_IO.PUT( 3.0 + FP_FACTORS( TASK_INDEX )   );
0506      TEXT_IO.PUT_LINE( ")" );
0507   end if
0508 
0509 ;
0510   
0511   if ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0512      UNSIGNED32_IO.PUT( TASK_INDEX );
0513      TEXT_IO.PUT( ": FP04 wrong -- (" );
0514      FLOAT_IO.PUT( FP04 );
0515      TEXT_IO.PUT( " not " );
0516      FLOAT_IO.PUT( 4.0 + FP_FACTORS( TASK_INDEX )   );
0517      TEXT_IO.PUT_LINE( ")" );
0518   end if
0519 
0520 ;
0521   
0522   if ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0523      UNSIGNED32_IO.PUT( TASK_INDEX );
0524      TEXT_IO.PUT( ": FP05 wrong -- (" );
0525      FLOAT_IO.PUT( FP05 );
0526      TEXT_IO.PUT( " not " );
0527      FLOAT_IO.PUT( 5.0 + FP_FACTORS( TASK_INDEX )   );
0528      TEXT_IO.PUT_LINE( ")" );
0529   end if
0530 
0531 ;
0532   
0533   if ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0534      UNSIGNED32_IO.PUT( TASK_INDEX );
0535      TEXT_IO.PUT( ": FP06 wrong -- (" );
0536      FLOAT_IO.PUT( FP06 );
0537      TEXT_IO.PUT( " not " );
0538      FLOAT_IO.PUT( 6.0 + FP_FACTORS( TASK_INDEX )   );
0539      TEXT_IO.PUT_LINE( ")" );
0540   end if
0541 
0542 ;
0543   
0544   if ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0545      UNSIGNED32_IO.PUT( TASK_INDEX );
0546      TEXT_IO.PUT( ": FP07 wrong -- (" );
0547      FLOAT_IO.PUT( FP07 );
0548      TEXT_IO.PUT( " not " );
0549      FLOAT_IO.PUT( 7.0 + FP_FACTORS( TASK_INDEX )   );
0550      TEXT_IO.PUT_LINE( ")" );
0551   end if
0552 
0553 ;
0554   
0555   if ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0556      UNSIGNED32_IO.PUT( TASK_INDEX );
0557      TEXT_IO.PUT( ": FP08 wrong -- (" );
0558      FLOAT_IO.PUT( FP08 );
0559      TEXT_IO.PUT( " not " );
0560      FLOAT_IO.PUT( 8.0 + FP_FACTORS( TASK_INDEX )   );
0561      TEXT_IO.PUT_LINE( ")" );
0562   end if
0563 
0564 ;
0565   
0566   if ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0567      UNSIGNED32_IO.PUT( TASK_INDEX );
0568      TEXT_IO.PUT( ": FP09 wrong -- (" );
0569      FLOAT_IO.PUT( FP09 );
0570      TEXT_IO.PUT( " not " );
0571      FLOAT_IO.PUT( 9.0 + FP_FACTORS( TASK_INDEX )   );
0572      TEXT_IO.PUT_LINE( ")" );
0573   end if
0574 
0575 ;
0576   
0577   if ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0578      UNSIGNED32_IO.PUT( TASK_INDEX );
0579      TEXT_IO.PUT( ": FP10 wrong -- (" );
0580      FLOAT_IO.PUT( FP10 );
0581      TEXT_IO.PUT( " not " );
0582      FLOAT_IO.PUT( 10.0 + FP_FACTORS( TASK_INDEX )   );
0583      TEXT_IO.PUT_LINE( ")" );
0584   end if
0585 
0586 ;
0587   
0588   if ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0589      UNSIGNED32_IO.PUT( TASK_INDEX );
0590      TEXT_IO.PUT( ": FP11 wrong -- (" );
0591      FLOAT_IO.PUT( FP11 );
0592      TEXT_IO.PUT( " not " );
0593      FLOAT_IO.PUT( 11.0 + FP_FACTORS( TASK_INDEX )   );
0594      TEXT_IO.PUT_LINE( ")" );
0595   end if
0596 
0597 ;
0598   
0599   if ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0600      UNSIGNED32_IO.PUT( TASK_INDEX );
0601      TEXT_IO.PUT( ": FP12 wrong -- (" );
0602      FLOAT_IO.PUT( FP12 );
0603      TEXT_IO.PUT( " not " );
0604      FLOAT_IO.PUT( 12.0 + FP_FACTORS( TASK_INDEX )   );
0605      TEXT_IO.PUT_LINE( ")" );
0606   end if
0607 
0608 ;
0609   
0610   if ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0611      UNSIGNED32_IO.PUT( TASK_INDEX );
0612      TEXT_IO.PUT( ": FP13 wrong -- (" );
0613      FLOAT_IO.PUT( FP13 );
0614      TEXT_IO.PUT( " not " );
0615      FLOAT_IO.PUT( 13.0 + FP_FACTORS( TASK_INDEX )   );
0616      TEXT_IO.PUT_LINE( ")" );
0617   end if
0618 
0619 ;
0620   
0621   if ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0622      UNSIGNED32_IO.PUT( TASK_INDEX );
0623      TEXT_IO.PUT( ": FP14 wrong -- (" );
0624      FLOAT_IO.PUT( FP14 );
0625      TEXT_IO.PUT( " not " );
0626      FLOAT_IO.PUT( 14.0 + FP_FACTORS( TASK_INDEX )   );
0627      TEXT_IO.PUT_LINE( ")" );
0628   end if
0629 
0630 ;
0631   
0632   if ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0633      UNSIGNED32_IO.PUT( TASK_INDEX );
0634      TEXT_IO.PUT( ": FP15 wrong -- (" );
0635      FLOAT_IO.PUT( FP15 );
0636      TEXT_IO.PUT( " not " );
0637      FLOAT_IO.PUT( 15.0 + FP_FACTORS( TASK_INDEX )   );
0638      TEXT_IO.PUT_LINE( ")" );
0639   end if
0640 
0641 ;
0642   
0643   if ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0644      UNSIGNED32_IO.PUT( TASK_INDEX );
0645      TEXT_IO.PUT( ": FP16 wrong -- (" );
0646      FLOAT_IO.PUT( FP16 );
0647      TEXT_IO.PUT( " not " );
0648      FLOAT_IO.PUT( 16.0 + FP_FACTORS( TASK_INDEX )   );
0649      TEXT_IO.PUT_LINE( ")" );
0650   end if
0651 
0652 ;
0653   
0654   if ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0655      UNSIGNED32_IO.PUT( TASK_INDEX );
0656      TEXT_IO.PUT( ": FP17 wrong -- (" );
0657      FLOAT_IO.PUT( FP17 );
0658      TEXT_IO.PUT( " not " );
0659      FLOAT_IO.PUT( 17.0 + FP_FACTORS( TASK_INDEX )   );
0660      TEXT_IO.PUT_LINE( ")" );
0661   end if
0662 
0663 ;
0664   
0665   if ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0666      UNSIGNED32_IO.PUT( TASK_INDEX );
0667      TEXT_IO.PUT( ": FP18 wrong -- (" );
0668      FLOAT_IO.PUT( FP18 );
0669      TEXT_IO.PUT( " not " );
0670      FLOAT_IO.PUT( 18.0 + FP_FACTORS( TASK_INDEX )   );
0671      TEXT_IO.PUT_LINE( ")" );
0672   end if
0673 
0674 ;
0675   
0676   if ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0677      UNSIGNED32_IO.PUT( TASK_INDEX );
0678      TEXT_IO.PUT( ": FP19 wrong -- (" );
0679      FLOAT_IO.PUT( FP19 );
0680      TEXT_IO.PUT( " not " );
0681      FLOAT_IO.PUT( 19.0 + FP_FACTORS( TASK_INDEX )   );
0682      TEXT_IO.PUT_LINE( ")" );
0683   end if
0684 
0685 ;
0686   
0687   if ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0688      UNSIGNED32_IO.PUT( TASK_INDEX );
0689      TEXT_IO.PUT( ": FP20 wrong -- (" );
0690      FLOAT_IO.PUT( FP20 );
0691      TEXT_IO.PUT( " not " );
0692      FLOAT_IO.PUT( 20.0 + FP_FACTORS( TASK_INDEX )   );
0693      TEXT_IO.PUT_LINE( ")" );
0694   end if
0695 
0696 ;
0697   
0698   if ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0699      UNSIGNED32_IO.PUT( TASK_INDEX );
0700      TEXT_IO.PUT( ": FP21 wrong -- (" );
0701      FLOAT_IO.PUT( FP21 );
0702      TEXT_IO.PUT( " not " );
0703      FLOAT_IO.PUT( 21.0 + FP_FACTORS( TASK_INDEX )   );
0704      TEXT_IO.PUT_LINE( ")" );
0705   end if
0706 
0707 ;
0708   
0709   if ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0710      UNSIGNED32_IO.PUT( TASK_INDEX );
0711      TEXT_IO.PUT( ": FP22 wrong -- (" );
0712      FLOAT_IO.PUT( FP22 );
0713      TEXT_IO.PUT( " not " );
0714      FLOAT_IO.PUT( 22.0 + FP_FACTORS( TASK_INDEX )   );
0715      TEXT_IO.PUT_LINE( ")" );
0716   end if
0717 
0718 ;
0719   
0720   if ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0721      UNSIGNED32_IO.PUT( TASK_INDEX );
0722      TEXT_IO.PUT( ": FP23 wrong -- (" );
0723      FLOAT_IO.PUT( FP23 );
0724      TEXT_IO.PUT( " not " );
0725      FLOAT_IO.PUT( 23.0 + FP_FACTORS( TASK_INDEX )   );
0726      TEXT_IO.PUT_LINE( ")" );
0727   end if
0728 
0729 ;
0730   
0731   if ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0732      UNSIGNED32_IO.PUT( TASK_INDEX );
0733      TEXT_IO.PUT( ": FP24 wrong -- (" );
0734      FLOAT_IO.PUT( FP24 );
0735      TEXT_IO.PUT( " not " );
0736      FLOAT_IO.PUT( 24.0 + FP_FACTORS( TASK_INDEX )   );
0737      TEXT_IO.PUT_LINE( ")" );
0738   end if
0739 
0740 ;
0741   
0742   if ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0743      UNSIGNED32_IO.PUT( TASK_INDEX );
0744      TEXT_IO.PUT( ": FP25 wrong -- (" );
0745      FLOAT_IO.PUT( FP25 );
0746      TEXT_IO.PUT( " not " );
0747      FLOAT_IO.PUT( 25.0 + FP_FACTORS( TASK_INDEX )   );
0748      TEXT_IO.PUT_LINE( ")" );
0749   end if
0750 
0751 ;
0752   
0753   if ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0754      UNSIGNED32_IO.PUT( TASK_INDEX );
0755      TEXT_IO.PUT( ": FP26 wrong -- (" );
0756      FLOAT_IO.PUT( FP26 );
0757      TEXT_IO.PUT( " not " );
0758      FLOAT_IO.PUT( 26.0 + FP_FACTORS( TASK_INDEX )   );
0759      TEXT_IO.PUT_LINE( ")" );
0760   end if
0761 
0762 ;
0763   
0764   if ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0765      UNSIGNED32_IO.PUT( TASK_INDEX );
0766      TEXT_IO.PUT( ": FP27 wrong -- (" );
0767      FLOAT_IO.PUT( FP27 );
0768      TEXT_IO.PUT( " not " );
0769      FLOAT_IO.PUT( 27.0 + FP_FACTORS( TASK_INDEX )   );
0770      TEXT_IO.PUT_LINE( ")" );
0771   end if
0772 
0773 ;
0774   
0775   if ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0776      UNSIGNED32_IO.PUT( TASK_INDEX );
0777      TEXT_IO.PUT( ": FP28 wrong -- (" );
0778      FLOAT_IO.PUT( FP28 );
0779      TEXT_IO.PUT( " not " );
0780      FLOAT_IO.PUT( 28.0 + FP_FACTORS( TASK_INDEX )   );
0781      TEXT_IO.PUT_LINE( ")" );
0782   end if
0783 
0784 ;
0785   
0786   if ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0787      UNSIGNED32_IO.PUT( TASK_INDEX );
0788      TEXT_IO.PUT( ": FP29 wrong -- (" );
0789      FLOAT_IO.PUT( FP29 );
0790      TEXT_IO.PUT( " not " );
0791      FLOAT_IO.PUT( 29.0 + FP_FACTORS( TASK_INDEX )   );
0792      TEXT_IO.PUT_LINE( ")" );
0793   end if
0794 
0795 ;
0796   
0797   if ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0798      UNSIGNED32_IO.PUT( TASK_INDEX );
0799      TEXT_IO.PUT( ": FP30 wrong -- (" );
0800      FLOAT_IO.PUT( FP30 );
0801      TEXT_IO.PUT( " not " );
0802      FLOAT_IO.PUT( 30.0 + FP_FACTORS( TASK_INDEX )   );
0803      TEXT_IO.PUT_LINE( ")" );
0804   end if
0805 
0806 ;
0807   
0808   if ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0809      UNSIGNED32_IO.PUT( TASK_INDEX );
0810      TEXT_IO.PUT( ": FP31 wrong -- (" );
0811      FLOAT_IO.PUT( FP31 );
0812      TEXT_IO.PUT( " not " );
0813      FLOAT_IO.PUT( 31.0 + FP_FACTORS( TASK_INDEX )   );
0814      TEXT_IO.PUT_LINE( ")" );
0815   end if
0816 
0817 ;
0818   
0819   if ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
0820      UNSIGNED32_IO.PUT( TASK_INDEX );
0821      TEXT_IO.PUT( ": FP32 wrong -- (" );
0822      FLOAT_IO.PUT( FP32 );
0823      TEXT_IO.PUT( " not " );
0824      FLOAT_IO.PUT( 32.0 + FP_FACTORS( TASK_INDEX )   );
0825      TEXT_IO.PUT_LINE( ")" );
0826   end if
0827 
0828 
0829 
0830 ;
0831       
0832   
0833   if INT01 /= (1 + INTEGER_FACTORS( TASK_INDEX )  ) then
0834      UNSIGNED32_IO.PUT( TASK_INDEX );
0835      TEXT_IO.PUT( ": INT01 wrong -- (" );
0836      UNSIGNED32_IO.PUT( INT01, BASE => 16);
0837      TEXT_IO.PUT( " not " );
0838      UNSIGNED32_IO.PUT( 1, BASE => 16 );
0839      TEXT_IO.PUT_LINE( ")" );
0840   end if
0841 
0842 ;
0843   
0844   if INT02 /= (2 + INTEGER_FACTORS( TASK_INDEX )  ) then
0845      UNSIGNED32_IO.PUT( TASK_INDEX );
0846      TEXT_IO.PUT( ": INT02 wrong -- (" );
0847      UNSIGNED32_IO.PUT( INT02, BASE => 16);
0848      TEXT_IO.PUT( " not " );
0849      UNSIGNED32_IO.PUT( 2, BASE => 16 );
0850      TEXT_IO.PUT_LINE( ")" );
0851   end if
0852 
0853 ;
0854   
0855   if INT03 /= (3 + INTEGER_FACTORS( TASK_INDEX )  ) then
0856      UNSIGNED32_IO.PUT( TASK_INDEX );
0857      TEXT_IO.PUT( ": INT03 wrong -- (" );
0858      UNSIGNED32_IO.PUT( INT03, BASE => 16);
0859      TEXT_IO.PUT( " not " );
0860      UNSIGNED32_IO.PUT( 3, BASE => 16 );
0861      TEXT_IO.PUT_LINE( ")" );
0862   end if
0863 
0864 ;
0865   
0866   if INT04 /= (4 + INTEGER_FACTORS( TASK_INDEX )  ) then
0867      UNSIGNED32_IO.PUT( TASK_INDEX );
0868      TEXT_IO.PUT( ": INT04 wrong -- (" );
0869      UNSIGNED32_IO.PUT( INT04, BASE => 16);
0870      TEXT_IO.PUT( " not " );
0871      UNSIGNED32_IO.PUT( 4, BASE => 16 );
0872      TEXT_IO.PUT_LINE( ")" );
0873   end if
0874 
0875 ;
0876   
0877   if INT05 /= (5 + INTEGER_FACTORS( TASK_INDEX )  ) then
0878      UNSIGNED32_IO.PUT( TASK_INDEX );
0879      TEXT_IO.PUT( ": INT05 wrong -- (" );
0880      UNSIGNED32_IO.PUT( INT05, BASE => 16);
0881      TEXT_IO.PUT( " not " );
0882      UNSIGNED32_IO.PUT( 5, BASE => 16 );
0883      TEXT_IO.PUT_LINE( ")" );
0884   end if
0885 
0886 ;
0887   
0888   if INT06 /= (6 + INTEGER_FACTORS( TASK_INDEX )  ) then
0889      UNSIGNED32_IO.PUT( TASK_INDEX );
0890      TEXT_IO.PUT( ": INT06 wrong -- (" );
0891      UNSIGNED32_IO.PUT( INT06, BASE => 16);
0892      TEXT_IO.PUT( " not " );
0893      UNSIGNED32_IO.PUT( 6, BASE => 16 );
0894      TEXT_IO.PUT_LINE( ")" );
0895   end if
0896 
0897 ;
0898   
0899   if INT07 /= (7 + INTEGER_FACTORS( TASK_INDEX )  ) then
0900      UNSIGNED32_IO.PUT( TASK_INDEX );
0901      TEXT_IO.PUT( ": INT07 wrong -- (" );
0902      UNSIGNED32_IO.PUT( INT07, BASE => 16);
0903      TEXT_IO.PUT( " not " );
0904      UNSIGNED32_IO.PUT( 7, BASE => 16 );
0905      TEXT_IO.PUT_LINE( ")" );
0906   end if
0907 
0908 ;
0909   
0910   if INT08 /= (8 + INTEGER_FACTORS( TASK_INDEX )  ) then
0911      UNSIGNED32_IO.PUT( TASK_INDEX );
0912      TEXT_IO.PUT( ": INT08 wrong -- (" );
0913      UNSIGNED32_IO.PUT( INT08, BASE => 16);
0914      TEXT_IO.PUT( " not " );
0915      UNSIGNED32_IO.PUT( 8, BASE => 16 );
0916      TEXT_IO.PUT_LINE( ")" );
0917   end if
0918 
0919 ;
0920   
0921   if INT09 /= (9 + INTEGER_FACTORS( TASK_INDEX )  ) then
0922      UNSIGNED32_IO.PUT( TASK_INDEX );
0923      TEXT_IO.PUT( ": INT09 wrong -- (" );
0924      UNSIGNED32_IO.PUT( INT09, BASE => 16);
0925      TEXT_IO.PUT( " not " );
0926      UNSIGNED32_IO.PUT( 9, BASE => 16 );
0927      TEXT_IO.PUT_LINE( ")" );
0928   end if
0929 
0930 ;
0931   
0932   if INT10 /= (10 + INTEGER_FACTORS( TASK_INDEX )  ) then
0933      UNSIGNED32_IO.PUT( TASK_INDEX );
0934      TEXT_IO.PUT( ": INT10 wrong -- (" );
0935      UNSIGNED32_IO.PUT( INT10, BASE => 16);
0936      TEXT_IO.PUT( " not " );
0937      UNSIGNED32_IO.PUT( 10, BASE => 16 );
0938      TEXT_IO.PUT_LINE( ")" );
0939   end if
0940 
0941 ;
0942   
0943   if INT11 /= (11 + INTEGER_FACTORS( TASK_INDEX )  ) then
0944      UNSIGNED32_IO.PUT( TASK_INDEX );
0945      TEXT_IO.PUT( ": INT11 wrong -- (" );
0946      UNSIGNED32_IO.PUT( INT11, BASE => 16);
0947      TEXT_IO.PUT( " not " );
0948      UNSIGNED32_IO.PUT( 11, BASE => 16 );
0949      TEXT_IO.PUT_LINE( ")" );
0950   end if
0951 
0952 ;
0953   
0954   if INT12 /= (12 + INTEGER_FACTORS( TASK_INDEX )  ) then
0955      UNSIGNED32_IO.PUT( TASK_INDEX );
0956      TEXT_IO.PUT( ": INT12 wrong -- (" );
0957      UNSIGNED32_IO.PUT( INT12, BASE => 16);
0958      TEXT_IO.PUT( " not " );
0959      UNSIGNED32_IO.PUT( 12, BASE => 16 );
0960      TEXT_IO.PUT_LINE( ")" );
0961   end if
0962 
0963 ;
0964   
0965   if INT13 /= (13 + INTEGER_FACTORS( TASK_INDEX )  ) then
0966      UNSIGNED32_IO.PUT( TASK_INDEX );
0967      TEXT_IO.PUT( ": INT13 wrong -- (" );
0968      UNSIGNED32_IO.PUT( INT13, BASE => 16);
0969      TEXT_IO.PUT( " not " );
0970      UNSIGNED32_IO.PUT( 13, BASE => 16 );
0971      TEXT_IO.PUT_LINE( ")" );
0972   end if
0973 
0974 ;
0975   
0976   if INT14 /= (14 + INTEGER_FACTORS( TASK_INDEX )  ) then
0977      UNSIGNED32_IO.PUT( TASK_INDEX );
0978      TEXT_IO.PUT( ": INT14 wrong -- (" );
0979      UNSIGNED32_IO.PUT( INT14, BASE => 16);
0980      TEXT_IO.PUT( " not " );
0981      UNSIGNED32_IO.PUT( 14, BASE => 16 );
0982      TEXT_IO.PUT_LINE( ")" );
0983   end if
0984 
0985 ;
0986   
0987   if INT15 /= (15 + INTEGER_FACTORS( TASK_INDEX )  ) then
0988      UNSIGNED32_IO.PUT( TASK_INDEX );
0989      TEXT_IO.PUT( ": INT15 wrong -- (" );
0990      UNSIGNED32_IO.PUT( INT15, BASE => 16);
0991      TEXT_IO.PUT( " not " );
0992      UNSIGNED32_IO.PUT( 15, BASE => 16 );
0993      TEXT_IO.PUT_LINE( ")" );
0994   end if
0995 
0996 ;
0997   
0998   if INT16 /= (16 + INTEGER_FACTORS( TASK_INDEX )  ) then
0999      UNSIGNED32_IO.PUT( TASK_INDEX );
1000      TEXT_IO.PUT( ": INT16 wrong -- (" );
1001      UNSIGNED32_IO.PUT( INT16, BASE => 16);
1002      TEXT_IO.PUT( " not " );
1003      UNSIGNED32_IO.PUT( 16, BASE => 16 );
1004      TEXT_IO.PUT_LINE( ")" );
1005   end if
1006 
1007 ;
1008   
1009   if INT17 /= (17 + INTEGER_FACTORS( TASK_INDEX )  ) then
1010      UNSIGNED32_IO.PUT( TASK_INDEX );
1011      TEXT_IO.PUT( ": INT17 wrong -- (" );
1012      UNSIGNED32_IO.PUT( INT17, BASE => 16);
1013      TEXT_IO.PUT( " not " );
1014      UNSIGNED32_IO.PUT( 17, BASE => 16 );
1015      TEXT_IO.PUT_LINE( ")" );
1016   end if
1017 
1018 ;
1019   
1020   if INT18 /= (18 + INTEGER_FACTORS( TASK_INDEX )  ) then
1021      UNSIGNED32_IO.PUT( TASK_INDEX );
1022      TEXT_IO.PUT( ": INT18 wrong -- (" );
1023      UNSIGNED32_IO.PUT( INT18, BASE => 16);
1024      TEXT_IO.PUT( " not " );
1025      UNSIGNED32_IO.PUT( 18, BASE => 16 );
1026      TEXT_IO.PUT_LINE( ")" );
1027   end if
1028 
1029 ;
1030   
1031   if INT19 /= (19 + INTEGER_FACTORS( TASK_INDEX )  ) then
1032      UNSIGNED32_IO.PUT( TASK_INDEX );
1033      TEXT_IO.PUT( ": INT19 wrong -- (" );
1034      UNSIGNED32_IO.PUT( INT19, BASE => 16);
1035      TEXT_IO.PUT( " not " );
1036      UNSIGNED32_IO.PUT( 19, BASE => 16 );
1037      TEXT_IO.PUT_LINE( ")" );
1038   end if
1039 
1040 ;
1041   
1042   if INT20 /= (20 + INTEGER_FACTORS( TASK_INDEX )  ) then
1043      UNSIGNED32_IO.PUT( TASK_INDEX );
1044      TEXT_IO.PUT( ": INT20 wrong -- (" );
1045      UNSIGNED32_IO.PUT( INT20, BASE => 16);
1046      TEXT_IO.PUT( " not " );
1047      UNSIGNED32_IO.PUT( 20, BASE => 16 );
1048      TEXT_IO.PUT_LINE( ")" );
1049   end if
1050 
1051 ;
1052   
1053   if INT21 /= (21 + INTEGER_FACTORS( TASK_INDEX )  ) then
1054      UNSIGNED32_IO.PUT( TASK_INDEX );
1055      TEXT_IO.PUT( ": INT21 wrong -- (" );
1056      UNSIGNED32_IO.PUT( INT21, BASE => 16);
1057      TEXT_IO.PUT( " not " );
1058      UNSIGNED32_IO.PUT( 21, BASE => 16 );
1059      TEXT_IO.PUT_LINE( ")" );
1060   end if
1061 
1062 ;
1063   
1064   if INT22 /= (22 + INTEGER_FACTORS( TASK_INDEX )  ) then
1065      UNSIGNED32_IO.PUT( TASK_INDEX );
1066      TEXT_IO.PUT( ": INT22 wrong -- (" );
1067      UNSIGNED32_IO.PUT( INT22, BASE => 16);
1068      TEXT_IO.PUT( " not " );
1069      UNSIGNED32_IO.PUT( 22, BASE => 16 );
1070      TEXT_IO.PUT_LINE( ")" );
1071   end if
1072 
1073 ;
1074   
1075   if INT23 /= (23 + INTEGER_FACTORS( TASK_INDEX )  ) then
1076      UNSIGNED32_IO.PUT( TASK_INDEX );
1077      TEXT_IO.PUT( ": INT23 wrong -- (" );
1078      UNSIGNED32_IO.PUT( INT23, BASE => 16);
1079      TEXT_IO.PUT( " not " );
1080      UNSIGNED32_IO.PUT( 23, BASE => 16 );
1081      TEXT_IO.PUT_LINE( ")" );
1082   end if
1083 
1084 ;
1085   
1086   if INT24 /= (24 + INTEGER_FACTORS( TASK_INDEX )  ) then
1087      UNSIGNED32_IO.PUT( TASK_INDEX );
1088      TEXT_IO.PUT( ": INT24 wrong -- (" );
1089      UNSIGNED32_IO.PUT( INT24, BASE => 16);
1090      TEXT_IO.PUT( " not " );
1091      UNSIGNED32_IO.PUT( 24, BASE => 16 );
1092      TEXT_IO.PUT_LINE( ")" );
1093   end if
1094 
1095 ;
1096   
1097   if INT25 /= (25 + INTEGER_FACTORS( TASK_INDEX )  ) then
1098      UNSIGNED32_IO.PUT( TASK_INDEX );
1099      TEXT_IO.PUT( ": INT25 wrong -- (" );
1100      UNSIGNED32_IO.PUT( INT25, BASE => 16);
1101      TEXT_IO.PUT( " not " );
1102      UNSIGNED32_IO.PUT( 25, BASE => 16 );
1103      TEXT_IO.PUT_LINE( ")" );
1104   end if
1105 
1106 ;
1107   
1108   if INT26 /= (26 + INTEGER_FACTORS( TASK_INDEX )  ) then
1109      UNSIGNED32_IO.PUT( TASK_INDEX );
1110      TEXT_IO.PUT( ": INT26 wrong -- (" );
1111      UNSIGNED32_IO.PUT( INT26, BASE => 16);
1112      TEXT_IO.PUT( " not " );
1113      UNSIGNED32_IO.PUT( 26, BASE => 16 );
1114      TEXT_IO.PUT_LINE( ")" );
1115   end if
1116 
1117 ;
1118   
1119   if INT27 /= (27 + INTEGER_FACTORS( TASK_INDEX )  ) then
1120      UNSIGNED32_IO.PUT( TASK_INDEX );
1121      TEXT_IO.PUT( ": INT27 wrong -- (" );
1122      UNSIGNED32_IO.PUT( INT27, BASE => 16);
1123      TEXT_IO.PUT( " not " );
1124      UNSIGNED32_IO.PUT( 27, BASE => 16 );
1125      TEXT_IO.PUT_LINE( ")" );
1126   end if
1127 
1128 ;
1129   
1130   if INT28 /= (28 + INTEGER_FACTORS( TASK_INDEX )  ) then
1131      UNSIGNED32_IO.PUT( TASK_INDEX );
1132      TEXT_IO.PUT( ": INT28 wrong -- (" );
1133      UNSIGNED32_IO.PUT( INT28, BASE => 16);
1134      TEXT_IO.PUT( " not " );
1135      UNSIGNED32_IO.PUT( 28, BASE => 16 );
1136      TEXT_IO.PUT_LINE( ")" );
1137   end if
1138 
1139 ;
1140   
1141   if INT29 /= (29 + INTEGER_FACTORS( TASK_INDEX )  ) then
1142      UNSIGNED32_IO.PUT( TASK_INDEX );
1143      TEXT_IO.PUT( ": INT29 wrong -- (" );
1144      UNSIGNED32_IO.PUT( INT29, BASE => 16);
1145      TEXT_IO.PUT( " not " );
1146      UNSIGNED32_IO.PUT( 29, BASE => 16 );
1147      TEXT_IO.PUT_LINE( ")" );
1148   end if
1149 
1150 ;
1151   
1152   if INT30 /= (30 + INTEGER_FACTORS( TASK_INDEX )  ) then
1153      UNSIGNED32_IO.PUT( TASK_INDEX );
1154      TEXT_IO.PUT( ": INT30 wrong -- (" );
1155      UNSIGNED32_IO.PUT( INT30, BASE => 16);
1156      TEXT_IO.PUT( " not " );
1157      UNSIGNED32_IO.PUT( 30, BASE => 16 );
1158      TEXT_IO.PUT_LINE( ")" );
1159   end if
1160 
1161 ;
1162   
1163   if INT31 /= (31 + INTEGER_FACTORS( TASK_INDEX )  ) then
1164      UNSIGNED32_IO.PUT( TASK_INDEX );
1165      TEXT_IO.PUT( ": INT31 wrong -- (" );
1166      UNSIGNED32_IO.PUT( INT31, BASE => 16);
1167      TEXT_IO.PUT( " not " );
1168      UNSIGNED32_IO.PUT( 31, BASE => 16 );
1169      TEXT_IO.PUT_LINE( ")" );
1170   end if
1171 
1172 ;
1173   
1174   if INT32 /= (32 + INTEGER_FACTORS( TASK_INDEX )  ) then
1175      UNSIGNED32_IO.PUT( TASK_INDEX );
1176      TEXT_IO.PUT( ": INT32 wrong -- (" );
1177      UNSIGNED32_IO.PUT( INT32, BASE => 16);
1178      TEXT_IO.PUT( " not " );
1179      UNSIGNED32_IO.PUT( 32, BASE => 16 );
1180      TEXT_IO.PUT_LINE( ")" );
1181   end if
1182 
1183 
1184 
1185 ;
1186       if ARGUMENT = 0 then
1187          RTEMS.TASKS.RESTART( 
1188             RTEMS.SELF,
1189             1,
1190             STATUS
1191          );
1192          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF SELF" );
1193       else
1194          TIME := ( 1988, 12, 31, 9, 0, 0, 0 );
1195          RTEMS.CLOCK.SET( TIME, STATUS );
1196          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" );
1197 
1198          RTEMS.TASKS.DELETE( RTEMS.SELF, STATUS );
1199          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" );
1200       end if;
1201 
1202    end FIRST_FP_TASK;
1203 
1204 -- 
1205 --  FP_TASK
1206 --
1207 
1208    procedure FP_TASK (
1209       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
1210    ) is
1211       pragma Unreferenced(ARGUMENT);
1212       STATUS     : RTEMS.STATUS_CODES;
1213       TID        : RTEMS.ID;
1214       TIME       : RTEMS.TIME_OF_DAY;
1215       TASK_INDEX : RTEMS.UNSIGNED32;
1216       
1217   INT01 : RTEMS.UNSIGNED32 :=  1;
1218   INT02 : RTEMS.UNSIGNED32 :=  2;
1219   INT03 : RTEMS.UNSIGNED32 :=  3;
1220   INT04 : RTEMS.UNSIGNED32 :=  4;
1221   INT05 : RTEMS.UNSIGNED32 :=  5;
1222   INT06 : RTEMS.UNSIGNED32 :=  6;
1223   INT07 : RTEMS.UNSIGNED32 :=  7;
1224   INT08 : RTEMS.UNSIGNED32 :=  8;
1225   INT09 : RTEMS.UNSIGNED32 :=  9;
1226   INT10 : RTEMS.UNSIGNED32 := 10;
1227   INT11 : RTEMS.UNSIGNED32 := 11;
1228   INT12 : RTEMS.UNSIGNED32 := 12;
1229   INT13 : RTEMS.UNSIGNED32 := 13;
1230   INT14 : RTEMS.UNSIGNED32 := 14;
1231   INT15 : RTEMS.UNSIGNED32 := 15;
1232   INT16 : RTEMS.UNSIGNED32 := 16;
1233   INT17 : RTEMS.UNSIGNED32 := 17;
1234   INT18 : RTEMS.UNSIGNED32 := 18;
1235   INT19 : RTEMS.UNSIGNED32 := 19;
1236   INT20 : RTEMS.UNSIGNED32 := 20;
1237   INT21 : RTEMS.UNSIGNED32 := 21;
1238   INT22 : RTEMS.UNSIGNED32 := 22;
1239   INT23 : RTEMS.UNSIGNED32 := 23;
1240   INT24 : RTEMS.UNSIGNED32 := 24;
1241   INT25 : RTEMS.UNSIGNED32 := 25;
1242   INT26 : RTEMS.UNSIGNED32 := 26;
1243   INT27 : RTEMS.UNSIGNED32 := 27;
1244   INT28 : RTEMS.UNSIGNED32 := 28;
1245   INT29 : RTEMS.UNSIGNED32 := 29;
1246   INT30 : RTEMS.UNSIGNED32 := 30;
1247   INT31 : RTEMS.UNSIGNED32 := 31;
1248   INT32 : RTEMS.UNSIGNED32 := 32
1249 
1250 ;
1251       
1252   FP01 : FLOAT :=  1.0;
1253   FP02 : FLOAT :=  2.0;
1254   FP03 : FLOAT :=  3.0;
1255   FP04 : FLOAT :=  4.0;
1256   FP05 : FLOAT :=  5.0;
1257   FP06 : FLOAT :=  6.0;
1258   FP07 : FLOAT :=  7.0;
1259   FP08 : FLOAT :=  8.0;
1260   FP09 : FLOAT :=  9.0;
1261   FP10 : FLOAT := 10.0;
1262   FP11 : FLOAT := 11.0;
1263   FP12 : FLOAT := 12.0;
1264   FP13 : FLOAT := 13.0;
1265   FP14 : FLOAT := 14.0;
1266   FP15 : FLOAT := 15.0;
1267   FP16 : FLOAT := 16.0;
1268   FP17 : FLOAT := 17.0;
1269   FP18 : FLOAT := 18.0;
1270   FP19 : FLOAT := 19.0;
1271   FP20 : FLOAT := 20.0;
1272   FP21 : FLOAT := 21.0;
1273   FP22 : FLOAT := 22.0;
1274   FP23 : FLOAT := 23.0;
1275   FP24 : FLOAT := 24.0;
1276   FP25 : FLOAT := 25.0;
1277   FP26 : FLOAT := 26.0;
1278   FP27 : FLOAT := 27.0;
1279   FP28 : FLOAT := 28.0;
1280   FP29 : FLOAT := 29.0;
1281   FP30 : FLOAT := 30.0;
1282   FP31 : FLOAT := 31.0;
1283   FP32 : FLOAT := 32.0
1284 
1285 ;
1286    begin
1287 
1288       RTEMS.TASKS.IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS );
1289       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" );
1290    
1291       TASK_INDEX := TEST_SUPPORT.TASK_NUMBER( TID );
1292   
1293       
1294   INT01 := INT01 + INTEGER_FACTORS( TASK_INDEX ) ;
1295   INT02 := INT02 + INTEGER_FACTORS( TASK_INDEX ) ;
1296   INT03 := INT03 + INTEGER_FACTORS( TASK_INDEX ) ;
1297   INT04 := INT04 + INTEGER_FACTORS( TASK_INDEX ) ;
1298   INT05 := INT05 + INTEGER_FACTORS( TASK_INDEX ) ;
1299   INT06 := INT06 + INTEGER_FACTORS( TASK_INDEX ) ;
1300   INT07 := INT07 + INTEGER_FACTORS( TASK_INDEX ) ;
1301   INT08 := INT08 + INTEGER_FACTORS( TASK_INDEX ) ;
1302   INT09 := INT09 + INTEGER_FACTORS( TASK_INDEX ) ;
1303   INT10 := INT10 + INTEGER_FACTORS( TASK_INDEX ) ;
1304   INT11 := INT11 + INTEGER_FACTORS( TASK_INDEX ) ;
1305   INT12 := INT12 + INTEGER_FACTORS( TASK_INDEX ) ;
1306   INT13 := INT13 + INTEGER_FACTORS( TASK_INDEX ) ;
1307   INT14 := INT14 + INTEGER_FACTORS( TASK_INDEX ) ;
1308   INT15 := INT15 + INTEGER_FACTORS( TASK_INDEX ) ;
1309   INT16 := INT16 + INTEGER_FACTORS( TASK_INDEX ) ;
1310   INT17 := INT17 + INTEGER_FACTORS( TASK_INDEX ) ;
1311   INT18 := INT18 + INTEGER_FACTORS( TASK_INDEX ) ;
1312   INT19 := INT19 + INTEGER_FACTORS( TASK_INDEX ) ;
1313   INT20 := INT20 + INTEGER_FACTORS( TASK_INDEX ) ;
1314   INT21 := INT21 + INTEGER_FACTORS( TASK_INDEX ) ;
1315   INT22 := INT22 + INTEGER_FACTORS( TASK_INDEX ) ;
1316   INT23 := INT23 + INTEGER_FACTORS( TASK_INDEX ) ;
1317   INT24 := INT24 + INTEGER_FACTORS( TASK_INDEX ) ;
1318   INT25 := INT25 + INTEGER_FACTORS( TASK_INDEX ) ;
1319   INT26 := INT26 + INTEGER_FACTORS( TASK_INDEX ) ;
1320   INT27 := INT27 + INTEGER_FACTORS( TASK_INDEX ) ;
1321   INT28 := INT28 + INTEGER_FACTORS( TASK_INDEX ) ;
1322   INT29 := INT29 + INTEGER_FACTORS( TASK_INDEX ) ;
1323   INT30 := INT30 + INTEGER_FACTORS( TASK_INDEX ) ;
1324   INT31 := INT31 + INTEGER_FACTORS( TASK_INDEX ) ;
1325   INT32 := INT32 + INTEGER_FACTORS( TASK_INDEX ) 
1326 ;
1327       
1328   FP01 := FP01 + FP_FACTORS( TASK_INDEX ) ;
1329   FP02 := FP02 + FP_FACTORS( TASK_INDEX ) ;
1330   FP03 := FP03 + FP_FACTORS( TASK_INDEX ) ;
1331   FP04 := FP04 + FP_FACTORS( TASK_INDEX ) ;
1332   FP05 := FP05 + FP_FACTORS( TASK_INDEX ) ;
1333   FP06 := FP06 + FP_FACTORS( TASK_INDEX ) ;
1334   FP07 := FP07 + FP_FACTORS( TASK_INDEX ) ;
1335   FP08 := FP08 + FP_FACTORS( TASK_INDEX ) ;
1336   FP09 := FP09 + FP_FACTORS( TASK_INDEX ) ;
1337   FP10 := FP10 + FP_FACTORS( TASK_INDEX ) ;
1338   FP11 := FP11 + FP_FACTORS( TASK_INDEX ) ;
1339   FP12 := FP12 + FP_FACTORS( TASK_INDEX ) ;
1340   FP13 := FP13 + FP_FACTORS( TASK_INDEX ) ;
1341   FP14 := FP14 + FP_FACTORS( TASK_INDEX ) ;
1342   FP15 := FP15 + FP_FACTORS( TASK_INDEX ) ;
1343   FP16 := FP16 + FP_FACTORS( TASK_INDEX ) ;
1344   FP17 := FP17 + FP_FACTORS( TASK_INDEX ) ;
1345   FP18 := FP18 + FP_FACTORS( TASK_INDEX ) ;
1346   FP19 := FP19 + FP_FACTORS( TASK_INDEX ) ;
1347   FP20 := FP20 + FP_FACTORS( TASK_INDEX ) ;
1348   FP21 := FP21 + FP_FACTORS( TASK_INDEX ) ;
1349   FP22 := FP22 + FP_FACTORS( TASK_INDEX ) ;
1350   FP23 := FP23 + FP_FACTORS( TASK_INDEX ) ;
1351   FP24 := FP24 + FP_FACTORS( TASK_INDEX ) ;
1352   FP25 := FP25 + FP_FACTORS( TASK_INDEX ) ;
1353   FP26 := FP26 + FP_FACTORS( TASK_INDEX ) ;
1354   FP27 := FP27 + FP_FACTORS( TASK_INDEX ) ;
1355   FP28 := FP28 + FP_FACTORS( TASK_INDEX ) ;
1356   FP29 := FP29 + FP_FACTORS( TASK_INDEX ) ;
1357   FP30 := FP30 + FP_FACTORS( TASK_INDEX ) ;
1358   FP31 := FP31 + FP_FACTORS( TASK_INDEX ) ;
1359   FP32 := FP32 + FP_FACTORS( TASK_INDEX ) 
1360 ;
1361  
1362       TEST_SUPPORT.PUT_NAME(
1363          SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
1364          FALSE
1365       );
1366       TEXT_IO.PUT( " - integer base = (" );
1367       UNSIGNED32_IO.PUT( INTEGER_FACTORS( TASK_INDEX ), BASE => 16 );
1368       TEXT_IO.PUT_LINE( ")" );
1369  
1370       --
1371       --  C implementation prints NA if no hardware FP support.
1372       --
1373  
1374       TEST_SUPPORT.PUT_NAME(
1375          SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
1376          FALSE
1377       );
1378       TEXT_IO.PUT( " - float base = (" );
1379       FLOAT_IO.PUT( FP_FACTORS( TASK_INDEX ) );
1380       TEXT_IO.PUT_LINE( ")" );
1381 
1382       loop
1383 
1384          RTEMS.CLOCK.GET_TOD( TIME, STATUS );
1385          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET_TOD" );
1386 
1387          if TIME.SECOND >= 16 then
1388 
1389             if TEST_SUPPORT.TASK_NUMBER( TID ) = 4 then
1390                TEXT_IO.PUT_LINE( "TA4 - task_delete - self" );
1391                RTEMS.TASKS.DELETE( RTEMS.SELF, STATUS );
1392                TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" );
1393             end if;
1394       
1395             TEXT_IO.PUT_LINE( "TA5 - task_delete - TA3" );
1396             RTEMS.TASKS.DELETE( SPTEST.TASK_ID( 3 ), STATUS );
1397             TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" );
1398  
1399             TEST_SUPPORT.ADA_TEST_END;
1400             RTEMS.SHUTDOWN_EXECUTIVE( 0 );
1401          end if;
1402 
1403          TEST_SUPPORT.PUT_NAME( 
1404             SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
1405             FALSE
1406          );
1407 
1408          TEST_SUPPORT.PRINT_TIME( " - clock_get - ", TIME, "" );
1409          TEXT_IO.NEW_LINE;
1410 
1411          
1412   
1413   if INT01 /= (1 + INTEGER_FACTORS( TASK_INDEX )  ) then
1414      UNSIGNED32_IO.PUT( TASK_INDEX );
1415      TEXT_IO.PUT( ": INT01 wrong -- (" );
1416      UNSIGNED32_IO.PUT( INT01, BASE => 16);
1417      TEXT_IO.PUT( " not " );
1418      UNSIGNED32_IO.PUT( 1, BASE => 16 );
1419      TEXT_IO.PUT_LINE( ")" );
1420   end if
1421 
1422 ;
1423   
1424   if INT02 /= (2 + INTEGER_FACTORS( TASK_INDEX )  ) then
1425      UNSIGNED32_IO.PUT( TASK_INDEX );
1426      TEXT_IO.PUT( ": INT02 wrong -- (" );
1427      UNSIGNED32_IO.PUT( INT02, BASE => 16);
1428      TEXT_IO.PUT( " not " );
1429      UNSIGNED32_IO.PUT( 2, BASE => 16 );
1430      TEXT_IO.PUT_LINE( ")" );
1431   end if
1432 
1433 ;
1434   
1435   if INT03 /= (3 + INTEGER_FACTORS( TASK_INDEX )  ) then
1436      UNSIGNED32_IO.PUT( TASK_INDEX );
1437      TEXT_IO.PUT( ": INT03 wrong -- (" );
1438      UNSIGNED32_IO.PUT( INT03, BASE => 16);
1439      TEXT_IO.PUT( " not " );
1440      UNSIGNED32_IO.PUT( 3, BASE => 16 );
1441      TEXT_IO.PUT_LINE( ")" );
1442   end if
1443 
1444 ;
1445   
1446   if INT04 /= (4 + INTEGER_FACTORS( TASK_INDEX )  ) then
1447      UNSIGNED32_IO.PUT( TASK_INDEX );
1448      TEXT_IO.PUT( ": INT04 wrong -- (" );
1449      UNSIGNED32_IO.PUT( INT04, BASE => 16);
1450      TEXT_IO.PUT( " not " );
1451      UNSIGNED32_IO.PUT( 4, BASE => 16 );
1452      TEXT_IO.PUT_LINE( ")" );
1453   end if
1454 
1455 ;
1456   
1457   if INT05 /= (5 + INTEGER_FACTORS( TASK_INDEX )  ) then
1458      UNSIGNED32_IO.PUT( TASK_INDEX );
1459      TEXT_IO.PUT( ": INT05 wrong -- (" );
1460      UNSIGNED32_IO.PUT( INT05, BASE => 16);
1461      TEXT_IO.PUT( " not " );
1462      UNSIGNED32_IO.PUT( 5, BASE => 16 );
1463      TEXT_IO.PUT_LINE( ")" );
1464   end if
1465 
1466 ;
1467   
1468   if INT06 /= (6 + INTEGER_FACTORS( TASK_INDEX )  ) then
1469      UNSIGNED32_IO.PUT( TASK_INDEX );
1470      TEXT_IO.PUT( ": INT06 wrong -- (" );
1471      UNSIGNED32_IO.PUT( INT06, BASE => 16);
1472      TEXT_IO.PUT( " not " );
1473      UNSIGNED32_IO.PUT( 6, BASE => 16 );
1474      TEXT_IO.PUT_LINE( ")" );
1475   end if
1476 
1477 ;
1478   
1479   if INT07 /= (7 + INTEGER_FACTORS( TASK_INDEX )  ) then
1480      UNSIGNED32_IO.PUT( TASK_INDEX );
1481      TEXT_IO.PUT( ": INT07 wrong -- (" );
1482      UNSIGNED32_IO.PUT( INT07, BASE => 16);
1483      TEXT_IO.PUT( " not " );
1484      UNSIGNED32_IO.PUT( 7, BASE => 16 );
1485      TEXT_IO.PUT_LINE( ")" );
1486   end if
1487 
1488 ;
1489   
1490   if INT08 /= (8 + INTEGER_FACTORS( TASK_INDEX )  ) then
1491      UNSIGNED32_IO.PUT( TASK_INDEX );
1492      TEXT_IO.PUT( ": INT08 wrong -- (" );
1493      UNSIGNED32_IO.PUT( INT08, BASE => 16);
1494      TEXT_IO.PUT( " not " );
1495      UNSIGNED32_IO.PUT( 8, BASE => 16 );
1496      TEXT_IO.PUT_LINE( ")" );
1497   end if
1498 
1499 ;
1500   
1501   if INT09 /= (9 + INTEGER_FACTORS( TASK_INDEX )  ) then
1502      UNSIGNED32_IO.PUT( TASK_INDEX );
1503      TEXT_IO.PUT( ": INT09 wrong -- (" );
1504      UNSIGNED32_IO.PUT( INT09, BASE => 16);
1505      TEXT_IO.PUT( " not " );
1506      UNSIGNED32_IO.PUT( 9, BASE => 16 );
1507      TEXT_IO.PUT_LINE( ")" );
1508   end if
1509 
1510 ;
1511   
1512   if INT10 /= (10 + INTEGER_FACTORS( TASK_INDEX )  ) then
1513      UNSIGNED32_IO.PUT( TASK_INDEX );
1514      TEXT_IO.PUT( ": INT10 wrong -- (" );
1515      UNSIGNED32_IO.PUT( INT10, BASE => 16);
1516      TEXT_IO.PUT( " not " );
1517      UNSIGNED32_IO.PUT( 10, BASE => 16 );
1518      TEXT_IO.PUT_LINE( ")" );
1519   end if
1520 
1521 ;
1522   
1523   if INT11 /= (11 + INTEGER_FACTORS( TASK_INDEX )  ) then
1524      UNSIGNED32_IO.PUT( TASK_INDEX );
1525      TEXT_IO.PUT( ": INT11 wrong -- (" );
1526      UNSIGNED32_IO.PUT( INT11, BASE => 16);
1527      TEXT_IO.PUT( " not " );
1528      UNSIGNED32_IO.PUT( 11, BASE => 16 );
1529      TEXT_IO.PUT_LINE( ")" );
1530   end if
1531 
1532 ;
1533   
1534   if INT12 /= (12 + INTEGER_FACTORS( TASK_INDEX )  ) then
1535      UNSIGNED32_IO.PUT( TASK_INDEX );
1536      TEXT_IO.PUT( ": INT12 wrong -- (" );
1537      UNSIGNED32_IO.PUT( INT12, BASE => 16);
1538      TEXT_IO.PUT( " not " );
1539      UNSIGNED32_IO.PUT( 12, BASE => 16 );
1540      TEXT_IO.PUT_LINE( ")" );
1541   end if
1542 
1543 ;
1544   
1545   if INT13 /= (13 + INTEGER_FACTORS( TASK_INDEX )  ) then
1546      UNSIGNED32_IO.PUT( TASK_INDEX );
1547      TEXT_IO.PUT( ": INT13 wrong -- (" );
1548      UNSIGNED32_IO.PUT( INT13, BASE => 16);
1549      TEXT_IO.PUT( " not " );
1550      UNSIGNED32_IO.PUT( 13, BASE => 16 );
1551      TEXT_IO.PUT_LINE( ")" );
1552   end if
1553 
1554 ;
1555   
1556   if INT14 /= (14 + INTEGER_FACTORS( TASK_INDEX )  ) then
1557      UNSIGNED32_IO.PUT( TASK_INDEX );
1558      TEXT_IO.PUT( ": INT14 wrong -- (" );
1559      UNSIGNED32_IO.PUT( INT14, BASE => 16);
1560      TEXT_IO.PUT( " not " );
1561      UNSIGNED32_IO.PUT( 14, BASE => 16 );
1562      TEXT_IO.PUT_LINE( ")" );
1563   end if
1564 
1565 ;
1566   
1567   if INT15 /= (15 + INTEGER_FACTORS( TASK_INDEX )  ) then
1568      UNSIGNED32_IO.PUT( TASK_INDEX );
1569      TEXT_IO.PUT( ": INT15 wrong -- (" );
1570      UNSIGNED32_IO.PUT( INT15, BASE => 16);
1571      TEXT_IO.PUT( " not " );
1572      UNSIGNED32_IO.PUT( 15, BASE => 16 );
1573      TEXT_IO.PUT_LINE( ")" );
1574   end if
1575 
1576 ;
1577   
1578   if INT16 /= (16 + INTEGER_FACTORS( TASK_INDEX )  ) then
1579      UNSIGNED32_IO.PUT( TASK_INDEX );
1580      TEXT_IO.PUT( ": INT16 wrong -- (" );
1581      UNSIGNED32_IO.PUT( INT16, BASE => 16);
1582      TEXT_IO.PUT( " not " );
1583      UNSIGNED32_IO.PUT( 16, BASE => 16 );
1584      TEXT_IO.PUT_LINE( ")" );
1585   end if
1586 
1587 ;
1588   
1589   if INT17 /= (17 + INTEGER_FACTORS( TASK_INDEX )  ) then
1590      UNSIGNED32_IO.PUT( TASK_INDEX );
1591      TEXT_IO.PUT( ": INT17 wrong -- (" );
1592      UNSIGNED32_IO.PUT( INT17, BASE => 16);
1593      TEXT_IO.PUT( " not " );
1594      UNSIGNED32_IO.PUT( 17, BASE => 16 );
1595      TEXT_IO.PUT_LINE( ")" );
1596   end if
1597 
1598 ;
1599   
1600   if INT18 /= (18 + INTEGER_FACTORS( TASK_INDEX )  ) then
1601      UNSIGNED32_IO.PUT( TASK_INDEX );
1602      TEXT_IO.PUT( ": INT18 wrong -- (" );
1603      UNSIGNED32_IO.PUT( INT18, BASE => 16);
1604      TEXT_IO.PUT( " not " );
1605      UNSIGNED32_IO.PUT( 18, BASE => 16 );
1606      TEXT_IO.PUT_LINE( ")" );
1607   end if
1608 
1609 ;
1610   
1611   if INT19 /= (19 + INTEGER_FACTORS( TASK_INDEX )  ) then
1612      UNSIGNED32_IO.PUT( TASK_INDEX );
1613      TEXT_IO.PUT( ": INT19 wrong -- (" );
1614      UNSIGNED32_IO.PUT( INT19, BASE => 16);
1615      TEXT_IO.PUT( " not " );
1616      UNSIGNED32_IO.PUT( 19, BASE => 16 );
1617      TEXT_IO.PUT_LINE( ")" );
1618   end if
1619 
1620 ;
1621   
1622   if INT20 /= (20 + INTEGER_FACTORS( TASK_INDEX )  ) then
1623      UNSIGNED32_IO.PUT( TASK_INDEX );
1624      TEXT_IO.PUT( ": INT20 wrong -- (" );
1625      UNSIGNED32_IO.PUT( INT20, BASE => 16);
1626      TEXT_IO.PUT( " not " );
1627      UNSIGNED32_IO.PUT( 20, BASE => 16 );
1628      TEXT_IO.PUT_LINE( ")" );
1629   end if
1630 
1631 ;
1632   
1633   if INT21 /= (21 + INTEGER_FACTORS( TASK_INDEX )  ) then
1634      UNSIGNED32_IO.PUT( TASK_INDEX );
1635      TEXT_IO.PUT( ": INT21 wrong -- (" );
1636      UNSIGNED32_IO.PUT( INT21, BASE => 16);
1637      TEXT_IO.PUT( " not " );
1638      UNSIGNED32_IO.PUT( 21, BASE => 16 );
1639      TEXT_IO.PUT_LINE( ")" );
1640   end if
1641 
1642 ;
1643   
1644   if INT22 /= (22 + INTEGER_FACTORS( TASK_INDEX )  ) then
1645      UNSIGNED32_IO.PUT( TASK_INDEX );
1646      TEXT_IO.PUT( ": INT22 wrong -- (" );
1647      UNSIGNED32_IO.PUT( INT22, BASE => 16);
1648      TEXT_IO.PUT( " not " );
1649      UNSIGNED32_IO.PUT( 22, BASE => 16 );
1650      TEXT_IO.PUT_LINE( ")" );
1651   end if
1652 
1653 ;
1654   
1655   if INT23 /= (23 + INTEGER_FACTORS( TASK_INDEX )  ) then
1656      UNSIGNED32_IO.PUT( TASK_INDEX );
1657      TEXT_IO.PUT( ": INT23 wrong -- (" );
1658      UNSIGNED32_IO.PUT( INT23, BASE => 16);
1659      TEXT_IO.PUT( " not " );
1660      UNSIGNED32_IO.PUT( 23, BASE => 16 );
1661      TEXT_IO.PUT_LINE( ")" );
1662   end if
1663 
1664 ;
1665   
1666   if INT24 /= (24 + INTEGER_FACTORS( TASK_INDEX )  ) then
1667      UNSIGNED32_IO.PUT( TASK_INDEX );
1668      TEXT_IO.PUT( ": INT24 wrong -- (" );
1669      UNSIGNED32_IO.PUT( INT24, BASE => 16);
1670      TEXT_IO.PUT( " not " );
1671      UNSIGNED32_IO.PUT( 24, BASE => 16 );
1672      TEXT_IO.PUT_LINE( ")" );
1673   end if
1674 
1675 ;
1676   
1677   if INT25 /= (25 + INTEGER_FACTORS( TASK_INDEX )  ) then
1678      UNSIGNED32_IO.PUT( TASK_INDEX );
1679      TEXT_IO.PUT( ": INT25 wrong -- (" );
1680      UNSIGNED32_IO.PUT( INT25, BASE => 16);
1681      TEXT_IO.PUT( " not " );
1682      UNSIGNED32_IO.PUT( 25, BASE => 16 );
1683      TEXT_IO.PUT_LINE( ")" );
1684   end if
1685 
1686 ;
1687   
1688   if INT26 /= (26 + INTEGER_FACTORS( TASK_INDEX )  ) then
1689      UNSIGNED32_IO.PUT( TASK_INDEX );
1690      TEXT_IO.PUT( ": INT26 wrong -- (" );
1691      UNSIGNED32_IO.PUT( INT26, BASE => 16);
1692      TEXT_IO.PUT( " not " );
1693      UNSIGNED32_IO.PUT( 26, BASE => 16 );
1694      TEXT_IO.PUT_LINE( ")" );
1695   end if
1696 
1697 ;
1698   
1699   if INT27 /= (27 + INTEGER_FACTORS( TASK_INDEX )  ) then
1700      UNSIGNED32_IO.PUT( TASK_INDEX );
1701      TEXT_IO.PUT( ": INT27 wrong -- (" );
1702      UNSIGNED32_IO.PUT( INT27, BASE => 16);
1703      TEXT_IO.PUT( " not " );
1704      UNSIGNED32_IO.PUT( 27, BASE => 16 );
1705      TEXT_IO.PUT_LINE( ")" );
1706   end if
1707 
1708 ;
1709   
1710   if INT28 /= (28 + INTEGER_FACTORS( TASK_INDEX )  ) then
1711      UNSIGNED32_IO.PUT( TASK_INDEX );
1712      TEXT_IO.PUT( ": INT28 wrong -- (" );
1713      UNSIGNED32_IO.PUT( INT28, BASE => 16);
1714      TEXT_IO.PUT( " not " );
1715      UNSIGNED32_IO.PUT( 28, BASE => 16 );
1716      TEXT_IO.PUT_LINE( ")" );
1717   end if
1718 
1719 ;
1720   
1721   if INT29 /= (29 + INTEGER_FACTORS( TASK_INDEX )  ) then
1722      UNSIGNED32_IO.PUT( TASK_INDEX );
1723      TEXT_IO.PUT( ": INT29 wrong -- (" );
1724      UNSIGNED32_IO.PUT( INT29, BASE => 16);
1725      TEXT_IO.PUT( " not " );
1726      UNSIGNED32_IO.PUT( 29, BASE => 16 );
1727      TEXT_IO.PUT_LINE( ")" );
1728   end if
1729 
1730 ;
1731   
1732   if INT30 /= (30 + INTEGER_FACTORS( TASK_INDEX )  ) then
1733      UNSIGNED32_IO.PUT( TASK_INDEX );
1734      TEXT_IO.PUT( ": INT30 wrong -- (" );
1735      UNSIGNED32_IO.PUT( INT30, BASE => 16);
1736      TEXT_IO.PUT( " not " );
1737      UNSIGNED32_IO.PUT( 30, BASE => 16 );
1738      TEXT_IO.PUT_LINE( ")" );
1739   end if
1740 
1741 ;
1742   
1743   if INT31 /= (31 + INTEGER_FACTORS( TASK_INDEX )  ) then
1744      UNSIGNED32_IO.PUT( TASK_INDEX );
1745      TEXT_IO.PUT( ": INT31 wrong -- (" );
1746      UNSIGNED32_IO.PUT( INT31, BASE => 16);
1747      TEXT_IO.PUT( " not " );
1748      UNSIGNED32_IO.PUT( 31, BASE => 16 );
1749      TEXT_IO.PUT_LINE( ")" );
1750   end if
1751 
1752 ;
1753   
1754   if INT32 /= (32 + INTEGER_FACTORS( TASK_INDEX )  ) then
1755      UNSIGNED32_IO.PUT( TASK_INDEX );
1756      TEXT_IO.PUT( ": INT32 wrong -- (" );
1757      UNSIGNED32_IO.PUT( INT32, BASE => 16);
1758      TEXT_IO.PUT( " not " );
1759      UNSIGNED32_IO.PUT( 32, BASE => 16 );
1760      TEXT_IO.PUT_LINE( ")" );
1761   end if
1762 
1763 
1764 
1765 ;
1766          
1767   
1768   if ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1769      UNSIGNED32_IO.PUT( TASK_INDEX );
1770      TEXT_IO.PUT( ": FP01 wrong -- (" );
1771      FLOAT_IO.PUT( FP01 );
1772      TEXT_IO.PUT( " not " );
1773      FLOAT_IO.PUT( 1.0 + FP_FACTORS( TASK_INDEX )   );
1774      TEXT_IO.PUT_LINE( ")" );
1775   end if
1776 
1777 ;
1778   
1779   if ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1780      UNSIGNED32_IO.PUT( TASK_INDEX );
1781      TEXT_IO.PUT( ": FP02 wrong -- (" );
1782      FLOAT_IO.PUT( FP02 );
1783      TEXT_IO.PUT( " not " );
1784      FLOAT_IO.PUT( 2.0 + FP_FACTORS( TASK_INDEX )   );
1785      TEXT_IO.PUT_LINE( ")" );
1786   end if
1787 
1788 ;
1789   
1790   if ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1791      UNSIGNED32_IO.PUT( TASK_INDEX );
1792      TEXT_IO.PUT( ": FP03 wrong -- (" );
1793      FLOAT_IO.PUT( FP03 );
1794      TEXT_IO.PUT( " not " );
1795      FLOAT_IO.PUT( 3.0 + FP_FACTORS( TASK_INDEX )   );
1796      TEXT_IO.PUT_LINE( ")" );
1797   end if
1798 
1799 ;
1800   
1801   if ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1802      UNSIGNED32_IO.PUT( TASK_INDEX );
1803      TEXT_IO.PUT( ": FP04 wrong -- (" );
1804      FLOAT_IO.PUT( FP04 );
1805      TEXT_IO.PUT( " not " );
1806      FLOAT_IO.PUT( 4.0 + FP_FACTORS( TASK_INDEX )   );
1807      TEXT_IO.PUT_LINE( ")" );
1808   end if
1809 
1810 ;
1811   
1812   if ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1813      UNSIGNED32_IO.PUT( TASK_INDEX );
1814      TEXT_IO.PUT( ": FP05 wrong -- (" );
1815      FLOAT_IO.PUT( FP05 );
1816      TEXT_IO.PUT( " not " );
1817      FLOAT_IO.PUT( 5.0 + FP_FACTORS( TASK_INDEX )   );
1818      TEXT_IO.PUT_LINE( ")" );
1819   end if
1820 
1821 ;
1822   
1823   if ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1824      UNSIGNED32_IO.PUT( TASK_INDEX );
1825      TEXT_IO.PUT( ": FP06 wrong -- (" );
1826      FLOAT_IO.PUT( FP06 );
1827      TEXT_IO.PUT( " not " );
1828      FLOAT_IO.PUT( 6.0 + FP_FACTORS( TASK_INDEX )   );
1829      TEXT_IO.PUT_LINE( ")" );
1830   end if
1831 
1832 ;
1833   
1834   if ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1835      UNSIGNED32_IO.PUT( TASK_INDEX );
1836      TEXT_IO.PUT( ": FP07 wrong -- (" );
1837      FLOAT_IO.PUT( FP07 );
1838      TEXT_IO.PUT( " not " );
1839      FLOAT_IO.PUT( 7.0 + FP_FACTORS( TASK_INDEX )   );
1840      TEXT_IO.PUT_LINE( ")" );
1841   end if
1842 
1843 ;
1844   
1845   if ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1846      UNSIGNED32_IO.PUT( TASK_INDEX );
1847      TEXT_IO.PUT( ": FP08 wrong -- (" );
1848      FLOAT_IO.PUT( FP08 );
1849      TEXT_IO.PUT( " not " );
1850      FLOAT_IO.PUT( 8.0 + FP_FACTORS( TASK_INDEX )   );
1851      TEXT_IO.PUT_LINE( ")" );
1852   end if
1853 
1854 ;
1855   
1856   if ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1857      UNSIGNED32_IO.PUT( TASK_INDEX );
1858      TEXT_IO.PUT( ": FP09 wrong -- (" );
1859      FLOAT_IO.PUT( FP09 );
1860      TEXT_IO.PUT( " not " );
1861      FLOAT_IO.PUT( 9.0 + FP_FACTORS( TASK_INDEX )   );
1862      TEXT_IO.PUT_LINE( ")" );
1863   end if
1864 
1865 ;
1866   
1867   if ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1868      UNSIGNED32_IO.PUT( TASK_INDEX );
1869      TEXT_IO.PUT( ": FP10 wrong -- (" );
1870      FLOAT_IO.PUT( FP10 );
1871      TEXT_IO.PUT( " not " );
1872      FLOAT_IO.PUT( 10.0 + FP_FACTORS( TASK_INDEX )   );
1873      TEXT_IO.PUT_LINE( ")" );
1874   end if
1875 
1876 ;
1877   
1878   if ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1879      UNSIGNED32_IO.PUT( TASK_INDEX );
1880      TEXT_IO.PUT( ": FP11 wrong -- (" );
1881      FLOAT_IO.PUT( FP11 );
1882      TEXT_IO.PUT( " not " );
1883      FLOAT_IO.PUT( 11.0 + FP_FACTORS( TASK_INDEX )   );
1884      TEXT_IO.PUT_LINE( ")" );
1885   end if
1886 
1887 ;
1888   
1889   if ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1890      UNSIGNED32_IO.PUT( TASK_INDEX );
1891      TEXT_IO.PUT( ": FP12 wrong -- (" );
1892      FLOAT_IO.PUT( FP12 );
1893      TEXT_IO.PUT( " not " );
1894      FLOAT_IO.PUT( 12.0 + FP_FACTORS( TASK_INDEX )   );
1895      TEXT_IO.PUT_LINE( ")" );
1896   end if
1897 
1898 ;
1899   
1900   if ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1901      UNSIGNED32_IO.PUT( TASK_INDEX );
1902      TEXT_IO.PUT( ": FP13 wrong -- (" );
1903      FLOAT_IO.PUT( FP13 );
1904      TEXT_IO.PUT( " not " );
1905      FLOAT_IO.PUT( 13.0 + FP_FACTORS( TASK_INDEX )   );
1906      TEXT_IO.PUT_LINE( ")" );
1907   end if
1908 
1909 ;
1910   
1911   if ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1912      UNSIGNED32_IO.PUT( TASK_INDEX );
1913      TEXT_IO.PUT( ": FP14 wrong -- (" );
1914      FLOAT_IO.PUT( FP14 );
1915      TEXT_IO.PUT( " not " );
1916      FLOAT_IO.PUT( 14.0 + FP_FACTORS( TASK_INDEX )   );
1917      TEXT_IO.PUT_LINE( ")" );
1918   end if
1919 
1920 ;
1921   
1922   if ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1923      UNSIGNED32_IO.PUT( TASK_INDEX );
1924      TEXT_IO.PUT( ": FP15 wrong -- (" );
1925      FLOAT_IO.PUT( FP15 );
1926      TEXT_IO.PUT( " not " );
1927      FLOAT_IO.PUT( 15.0 + FP_FACTORS( TASK_INDEX )   );
1928      TEXT_IO.PUT_LINE( ")" );
1929   end if
1930 
1931 ;
1932   
1933   if ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1934      UNSIGNED32_IO.PUT( TASK_INDEX );
1935      TEXT_IO.PUT( ": FP16 wrong -- (" );
1936      FLOAT_IO.PUT( FP16 );
1937      TEXT_IO.PUT( " not " );
1938      FLOAT_IO.PUT( 16.0 + FP_FACTORS( TASK_INDEX )   );
1939      TEXT_IO.PUT_LINE( ")" );
1940   end if
1941 
1942 ;
1943   
1944   if ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1945      UNSIGNED32_IO.PUT( TASK_INDEX );
1946      TEXT_IO.PUT( ": FP17 wrong -- (" );
1947      FLOAT_IO.PUT( FP17 );
1948      TEXT_IO.PUT( " not " );
1949      FLOAT_IO.PUT( 17.0 + FP_FACTORS( TASK_INDEX )   );
1950      TEXT_IO.PUT_LINE( ")" );
1951   end if
1952 
1953 ;
1954   
1955   if ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1956      UNSIGNED32_IO.PUT( TASK_INDEX );
1957      TEXT_IO.PUT( ": FP18 wrong -- (" );
1958      FLOAT_IO.PUT( FP18 );
1959      TEXT_IO.PUT( " not " );
1960      FLOAT_IO.PUT( 18.0 + FP_FACTORS( TASK_INDEX )   );
1961      TEXT_IO.PUT_LINE( ")" );
1962   end if
1963 
1964 ;
1965   
1966   if ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1967      UNSIGNED32_IO.PUT( TASK_INDEX );
1968      TEXT_IO.PUT( ": FP19 wrong -- (" );
1969      FLOAT_IO.PUT( FP19 );
1970      TEXT_IO.PUT( " not " );
1971      FLOAT_IO.PUT( 19.0 + FP_FACTORS( TASK_INDEX )   );
1972      TEXT_IO.PUT_LINE( ")" );
1973   end if
1974 
1975 ;
1976   
1977   if ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1978      UNSIGNED32_IO.PUT( TASK_INDEX );
1979      TEXT_IO.PUT( ": FP20 wrong -- (" );
1980      FLOAT_IO.PUT( FP20 );
1981      TEXT_IO.PUT( " not " );
1982      FLOAT_IO.PUT( 20.0 + FP_FACTORS( TASK_INDEX )   );
1983      TEXT_IO.PUT_LINE( ")" );
1984   end if
1985 
1986 ;
1987   
1988   if ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
1989      UNSIGNED32_IO.PUT( TASK_INDEX );
1990      TEXT_IO.PUT( ": FP21 wrong -- (" );
1991      FLOAT_IO.PUT( FP21 );
1992      TEXT_IO.PUT( " not " );
1993      FLOAT_IO.PUT( 21.0 + FP_FACTORS( TASK_INDEX )   );
1994      TEXT_IO.PUT_LINE( ")" );
1995   end if
1996 
1997 ;
1998   
1999   if ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2000      UNSIGNED32_IO.PUT( TASK_INDEX );
2001      TEXT_IO.PUT( ": FP22 wrong -- (" );
2002      FLOAT_IO.PUT( FP22 );
2003      TEXT_IO.PUT( " not " );
2004      FLOAT_IO.PUT( 22.0 + FP_FACTORS( TASK_INDEX )   );
2005      TEXT_IO.PUT_LINE( ")" );
2006   end if
2007 
2008 ;
2009   
2010   if ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2011      UNSIGNED32_IO.PUT( TASK_INDEX );
2012      TEXT_IO.PUT( ": FP23 wrong -- (" );
2013      FLOAT_IO.PUT( FP23 );
2014      TEXT_IO.PUT( " not " );
2015      FLOAT_IO.PUT( 23.0 + FP_FACTORS( TASK_INDEX )   );
2016      TEXT_IO.PUT_LINE( ")" );
2017   end if
2018 
2019 ;
2020   
2021   if ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2022      UNSIGNED32_IO.PUT( TASK_INDEX );
2023      TEXT_IO.PUT( ": FP24 wrong -- (" );
2024      FLOAT_IO.PUT( FP24 );
2025      TEXT_IO.PUT( " not " );
2026      FLOAT_IO.PUT( 24.0 + FP_FACTORS( TASK_INDEX )   );
2027      TEXT_IO.PUT_LINE( ")" );
2028   end if
2029 
2030 ;
2031   
2032   if ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2033      UNSIGNED32_IO.PUT( TASK_INDEX );
2034      TEXT_IO.PUT( ": FP25 wrong -- (" );
2035      FLOAT_IO.PUT( FP25 );
2036      TEXT_IO.PUT( " not " );
2037      FLOAT_IO.PUT( 25.0 + FP_FACTORS( TASK_INDEX )   );
2038      TEXT_IO.PUT_LINE( ")" );
2039   end if
2040 
2041 ;
2042   
2043   if ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2044      UNSIGNED32_IO.PUT( TASK_INDEX );
2045      TEXT_IO.PUT( ": FP26 wrong -- (" );
2046      FLOAT_IO.PUT( FP26 );
2047      TEXT_IO.PUT( " not " );
2048      FLOAT_IO.PUT( 26.0 + FP_FACTORS( TASK_INDEX )   );
2049      TEXT_IO.PUT_LINE( ")" );
2050   end if
2051 
2052 ;
2053   
2054   if ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2055      UNSIGNED32_IO.PUT( TASK_INDEX );
2056      TEXT_IO.PUT( ": FP27 wrong -- (" );
2057      FLOAT_IO.PUT( FP27 );
2058      TEXT_IO.PUT( " not " );
2059      FLOAT_IO.PUT( 27.0 + FP_FACTORS( TASK_INDEX )   );
2060      TEXT_IO.PUT_LINE( ")" );
2061   end if
2062 
2063 ;
2064   
2065   if ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2066      UNSIGNED32_IO.PUT( TASK_INDEX );
2067      TEXT_IO.PUT( ": FP28 wrong -- (" );
2068      FLOAT_IO.PUT( FP28 );
2069      TEXT_IO.PUT( " not " );
2070      FLOAT_IO.PUT( 28.0 + FP_FACTORS( TASK_INDEX )   );
2071      TEXT_IO.PUT_LINE( ")" );
2072   end if
2073 
2074 ;
2075   
2076   if ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2077      UNSIGNED32_IO.PUT( TASK_INDEX );
2078      TEXT_IO.PUT( ": FP29 wrong -- (" );
2079      FLOAT_IO.PUT( FP29 );
2080      TEXT_IO.PUT( " not " );
2081      FLOAT_IO.PUT( 29.0 + FP_FACTORS( TASK_INDEX )   );
2082      TEXT_IO.PUT_LINE( ")" );
2083   end if
2084 
2085 ;
2086   
2087   if ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2088      UNSIGNED32_IO.PUT( TASK_INDEX );
2089      TEXT_IO.PUT( ": FP30 wrong -- (" );
2090      FLOAT_IO.PUT( FP30 );
2091      TEXT_IO.PUT( " not " );
2092      FLOAT_IO.PUT( 30.0 + FP_FACTORS( TASK_INDEX )   );
2093      TEXT_IO.PUT_LINE( ")" );
2094   end if
2095 
2096 ;
2097   
2098   if ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2099      UNSIGNED32_IO.PUT( TASK_INDEX );
2100      TEXT_IO.PUT( ": FP31 wrong -- (" );
2101      FLOAT_IO.PUT( FP31 );
2102      TEXT_IO.PUT( " not " );
2103      FLOAT_IO.PUT( 31.0 + FP_FACTORS( TASK_INDEX )   );
2104      TEXT_IO.PUT_LINE( ")" );
2105   end if
2106 
2107 ;
2108   
2109   if ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2110      UNSIGNED32_IO.PUT( TASK_INDEX );
2111      TEXT_IO.PUT( ": FP32 wrong -- (" );
2112      FLOAT_IO.PUT( FP32 );
2113      TEXT_IO.PUT( " not " );
2114      FLOAT_IO.PUT( 32.0 + FP_FACTORS( TASK_INDEX )   );
2115      TEXT_IO.PUT_LINE( ")" );
2116   end if
2117 
2118 
2119 
2120 ;
2121  
2122          RTEMS.TASKS.WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS );
2123          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" );
2124           
2125       end loop;
2126    
2127    end FP_TASK;
2128 
2129 -- 
2130 --  TASK_1
2131 --
2132 
2133    procedure TASK_1 (
2134       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
2135    ) is
2136       pragma Unreferenced(ARGUMENT);
2137       STATUS     : RTEMS.STATUS_CODES;
2138       TID        : RTEMS.ID;
2139       TIME       : RTEMS.TIME_OF_DAY;
2140       TASK_INDEX : RTEMS.UNSIGNED32;
2141       
2142   INT01 : RTEMS.UNSIGNED32 :=  1;
2143   INT02 : RTEMS.UNSIGNED32 :=  2;
2144   INT03 : RTEMS.UNSIGNED32 :=  3;
2145   INT04 : RTEMS.UNSIGNED32 :=  4;
2146   INT05 : RTEMS.UNSIGNED32 :=  5;
2147   INT06 : RTEMS.UNSIGNED32 :=  6;
2148   INT07 : RTEMS.UNSIGNED32 :=  7;
2149   INT08 : RTEMS.UNSIGNED32 :=  8;
2150   INT09 : RTEMS.UNSIGNED32 :=  9;
2151   INT10 : RTEMS.UNSIGNED32 := 10;
2152   INT11 : RTEMS.UNSIGNED32 := 11;
2153   INT12 : RTEMS.UNSIGNED32 := 12;
2154   INT13 : RTEMS.UNSIGNED32 := 13;
2155   INT14 : RTEMS.UNSIGNED32 := 14;
2156   INT15 : RTEMS.UNSIGNED32 := 15;
2157   INT16 : RTEMS.UNSIGNED32 := 16;
2158   INT17 : RTEMS.UNSIGNED32 := 17;
2159   INT18 : RTEMS.UNSIGNED32 := 18;
2160   INT19 : RTEMS.UNSIGNED32 := 19;
2161   INT20 : RTEMS.UNSIGNED32 := 20;
2162   INT21 : RTEMS.UNSIGNED32 := 21;
2163   INT22 : RTEMS.UNSIGNED32 := 22;
2164   INT23 : RTEMS.UNSIGNED32 := 23;
2165   INT24 : RTEMS.UNSIGNED32 := 24;
2166   INT25 : RTEMS.UNSIGNED32 := 25;
2167   INT26 : RTEMS.UNSIGNED32 := 26;
2168   INT27 : RTEMS.UNSIGNED32 := 27;
2169   INT28 : RTEMS.UNSIGNED32 := 28;
2170   INT29 : RTEMS.UNSIGNED32 := 29;
2171   INT30 : RTEMS.UNSIGNED32 := 30;
2172   INT31 : RTEMS.UNSIGNED32 := 31;
2173   INT32 : RTEMS.UNSIGNED32 := 32
2174 
2175 ;
2176       
2177   FP01 : FLOAT :=  1.0;
2178   FP02 : FLOAT :=  2.0;
2179   FP03 : FLOAT :=  3.0;
2180   FP04 : FLOAT :=  4.0;
2181   FP05 : FLOAT :=  5.0;
2182   FP06 : FLOAT :=  6.0;
2183   FP07 : FLOAT :=  7.0;
2184   FP08 : FLOAT :=  8.0;
2185   FP09 : FLOAT :=  9.0;
2186   FP10 : FLOAT := 10.0;
2187   FP11 : FLOAT := 11.0;
2188   FP12 : FLOAT := 12.0;
2189   FP13 : FLOAT := 13.0;
2190   FP14 : FLOAT := 14.0;
2191   FP15 : FLOAT := 15.0;
2192   FP16 : FLOAT := 16.0;
2193   FP17 : FLOAT := 17.0;
2194   FP18 : FLOAT := 18.0;
2195   FP19 : FLOAT := 19.0;
2196   FP20 : FLOAT := 20.0;
2197   FP21 : FLOAT := 21.0;
2198   FP22 : FLOAT := 22.0;
2199   FP23 : FLOAT := 23.0;
2200   FP24 : FLOAT := 24.0;
2201   FP25 : FLOAT := 25.0;
2202   FP26 : FLOAT := 26.0;
2203   FP27 : FLOAT := 27.0;
2204   FP28 : FLOAT := 28.0;
2205   FP29 : FLOAT := 29.0;
2206   FP30 : FLOAT := 30.0;
2207   FP31 : FLOAT := 31.0;
2208   FP32 : FLOAT := 32.0
2209 
2210 ;
2211    begin
2212 
2213       RTEMS.TASKS.IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS );
2214       TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" );
2215    
2216       TASK_INDEX := TEST_SUPPORT.TASK_NUMBER( TID );
2217   
2218       
2219   INT01 := INT01 + INTEGER_FACTORS( TASK_INDEX ) ;
2220   INT02 := INT02 + INTEGER_FACTORS( TASK_INDEX ) ;
2221   INT03 := INT03 + INTEGER_FACTORS( TASK_INDEX ) ;
2222   INT04 := INT04 + INTEGER_FACTORS( TASK_INDEX ) ;
2223   INT05 := INT05 + INTEGER_FACTORS( TASK_INDEX ) ;
2224   INT06 := INT06 + INTEGER_FACTORS( TASK_INDEX ) ;
2225   INT07 := INT07 + INTEGER_FACTORS( TASK_INDEX ) ;
2226   INT08 := INT08 + INTEGER_FACTORS( TASK_INDEX ) ;
2227   INT09 := INT09 + INTEGER_FACTORS( TASK_INDEX ) ;
2228   INT10 := INT10 + INTEGER_FACTORS( TASK_INDEX ) ;
2229   INT11 := INT11 + INTEGER_FACTORS( TASK_INDEX ) ;
2230   INT12 := INT12 + INTEGER_FACTORS( TASK_INDEX ) ;
2231   INT13 := INT13 + INTEGER_FACTORS( TASK_INDEX ) ;
2232   INT14 := INT14 + INTEGER_FACTORS( TASK_INDEX ) ;
2233   INT15 := INT15 + INTEGER_FACTORS( TASK_INDEX ) ;
2234   INT16 := INT16 + INTEGER_FACTORS( TASK_INDEX ) ;
2235   INT17 := INT17 + INTEGER_FACTORS( TASK_INDEX ) ;
2236   INT18 := INT18 + INTEGER_FACTORS( TASK_INDEX ) ;
2237   INT19 := INT19 + INTEGER_FACTORS( TASK_INDEX ) ;
2238   INT20 := INT20 + INTEGER_FACTORS( TASK_INDEX ) ;
2239   INT21 := INT21 + INTEGER_FACTORS( TASK_INDEX ) ;
2240   INT22 := INT22 + INTEGER_FACTORS( TASK_INDEX ) ;
2241   INT23 := INT23 + INTEGER_FACTORS( TASK_INDEX ) ;
2242   INT24 := INT24 + INTEGER_FACTORS( TASK_INDEX ) ;
2243   INT25 := INT25 + INTEGER_FACTORS( TASK_INDEX ) ;
2244   INT26 := INT26 + INTEGER_FACTORS( TASK_INDEX ) ;
2245   INT27 := INT27 + INTEGER_FACTORS( TASK_INDEX ) ;
2246   INT28 := INT28 + INTEGER_FACTORS( TASK_INDEX ) ;
2247   INT29 := INT29 + INTEGER_FACTORS( TASK_INDEX ) ;
2248   INT30 := INT30 + INTEGER_FACTORS( TASK_INDEX ) ;
2249   INT31 := INT31 + INTEGER_FACTORS( TASK_INDEX ) ;
2250   INT32 := INT32 + INTEGER_FACTORS( TASK_INDEX ) 
2251 ;
2252       
2253   FP01 := FP01 + FP_FACTORS( TASK_INDEX ) ;
2254   FP02 := FP02 + FP_FACTORS( TASK_INDEX ) ;
2255   FP03 := FP03 + FP_FACTORS( TASK_INDEX ) ;
2256   FP04 := FP04 + FP_FACTORS( TASK_INDEX ) ;
2257   FP05 := FP05 + FP_FACTORS( TASK_INDEX ) ;
2258   FP06 := FP06 + FP_FACTORS( TASK_INDEX ) ;
2259   FP07 := FP07 + FP_FACTORS( TASK_INDEX ) ;
2260   FP08 := FP08 + FP_FACTORS( TASK_INDEX ) ;
2261   FP09 := FP09 + FP_FACTORS( TASK_INDEX ) ;
2262   FP10 := FP10 + FP_FACTORS( TASK_INDEX ) ;
2263   FP11 := FP11 + FP_FACTORS( TASK_INDEX ) ;
2264   FP12 := FP12 + FP_FACTORS( TASK_INDEX ) ;
2265   FP13 := FP13 + FP_FACTORS( TASK_INDEX ) ;
2266   FP14 := FP14 + FP_FACTORS( TASK_INDEX ) ;
2267   FP15 := FP15 + FP_FACTORS( TASK_INDEX ) ;
2268   FP16 := FP16 + FP_FACTORS( TASK_INDEX ) ;
2269   FP17 := FP17 + FP_FACTORS( TASK_INDEX ) ;
2270   FP18 := FP18 + FP_FACTORS( TASK_INDEX ) ;
2271   FP19 := FP19 + FP_FACTORS( TASK_INDEX ) ;
2272   FP20 := FP20 + FP_FACTORS( TASK_INDEX ) ;
2273   FP21 := FP21 + FP_FACTORS( TASK_INDEX ) ;
2274   FP22 := FP22 + FP_FACTORS( TASK_INDEX ) ;
2275   FP23 := FP23 + FP_FACTORS( TASK_INDEX ) ;
2276   FP24 := FP24 + FP_FACTORS( TASK_INDEX ) ;
2277   FP25 := FP25 + FP_FACTORS( TASK_INDEX ) ;
2278   FP26 := FP26 + FP_FACTORS( TASK_INDEX ) ;
2279   FP27 := FP27 + FP_FACTORS( TASK_INDEX ) ;
2280   FP28 := FP28 + FP_FACTORS( TASK_INDEX ) ;
2281   FP29 := FP29 + FP_FACTORS( TASK_INDEX ) ;
2282   FP30 := FP30 + FP_FACTORS( TASK_INDEX ) ;
2283   FP31 := FP31 + FP_FACTORS( TASK_INDEX ) ;
2284   FP32 := FP32 + FP_FACTORS( TASK_INDEX ) 
2285 ;
2286  
2287       TEST_SUPPORT.PUT_NAME(
2288          SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
2289          FALSE
2290       );
2291       TEXT_IO.PUT( " - integer base = (" );
2292       UNSIGNED32_IO.PUT( INTEGER_FACTORS( TASK_INDEX ), BASE => 16 );
2293       TEXT_IO.PUT_LINE( ")" );
2294  
2295       loop
2296 
2297          RTEMS.CLOCK.GET_TOD( TIME, STATUS );
2298          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET_TOD" );
2299 
2300          TEST_SUPPORT.PUT_NAME( 
2301             SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ),
2302             FALSE
2303          );
2304 
2305          TEST_SUPPORT.PRINT_TIME( " - clock_get - ", TIME, "" );
2306          TEXT_IO.NEW_LINE;
2307 
2308          
2309   
2310   if INT01 /= (1 + INTEGER_FACTORS( TASK_INDEX )  ) then
2311      UNSIGNED32_IO.PUT( TASK_INDEX );
2312      TEXT_IO.PUT( ": INT01 wrong -- (" );
2313      UNSIGNED32_IO.PUT( INT01, BASE => 16);
2314      TEXT_IO.PUT( " not " );
2315      UNSIGNED32_IO.PUT( 1, BASE => 16 );
2316      TEXT_IO.PUT_LINE( ")" );
2317   end if
2318 
2319 ;
2320   
2321   if INT02 /= (2 + INTEGER_FACTORS( TASK_INDEX )  ) then
2322      UNSIGNED32_IO.PUT( TASK_INDEX );
2323      TEXT_IO.PUT( ": INT02 wrong -- (" );
2324      UNSIGNED32_IO.PUT( INT02, BASE => 16);
2325      TEXT_IO.PUT( " not " );
2326      UNSIGNED32_IO.PUT( 2, BASE => 16 );
2327      TEXT_IO.PUT_LINE( ")" );
2328   end if
2329 
2330 ;
2331   
2332   if INT03 /= (3 + INTEGER_FACTORS( TASK_INDEX )  ) then
2333      UNSIGNED32_IO.PUT( TASK_INDEX );
2334      TEXT_IO.PUT( ": INT03 wrong -- (" );
2335      UNSIGNED32_IO.PUT( INT03, BASE => 16);
2336      TEXT_IO.PUT( " not " );
2337      UNSIGNED32_IO.PUT( 3, BASE => 16 );
2338      TEXT_IO.PUT_LINE( ")" );
2339   end if
2340 
2341 ;
2342   
2343   if INT04 /= (4 + INTEGER_FACTORS( TASK_INDEX )  ) then
2344      UNSIGNED32_IO.PUT( TASK_INDEX );
2345      TEXT_IO.PUT( ": INT04 wrong -- (" );
2346      UNSIGNED32_IO.PUT( INT04, BASE => 16);
2347      TEXT_IO.PUT( " not " );
2348      UNSIGNED32_IO.PUT( 4, BASE => 16 );
2349      TEXT_IO.PUT_LINE( ")" );
2350   end if
2351 
2352 ;
2353   
2354   if INT05 /= (5 + INTEGER_FACTORS( TASK_INDEX )  ) then
2355      UNSIGNED32_IO.PUT( TASK_INDEX );
2356      TEXT_IO.PUT( ": INT05 wrong -- (" );
2357      UNSIGNED32_IO.PUT( INT05, BASE => 16);
2358      TEXT_IO.PUT( " not " );
2359      UNSIGNED32_IO.PUT( 5, BASE => 16 );
2360      TEXT_IO.PUT_LINE( ")" );
2361   end if
2362 
2363 ;
2364   
2365   if INT06 /= (6 + INTEGER_FACTORS( TASK_INDEX )  ) then
2366      UNSIGNED32_IO.PUT( TASK_INDEX );
2367      TEXT_IO.PUT( ": INT06 wrong -- (" );
2368      UNSIGNED32_IO.PUT( INT06, BASE => 16);
2369      TEXT_IO.PUT( " not " );
2370      UNSIGNED32_IO.PUT( 6, BASE => 16 );
2371      TEXT_IO.PUT_LINE( ")" );
2372   end if
2373 
2374 ;
2375   
2376   if INT07 /= (7 + INTEGER_FACTORS( TASK_INDEX )  ) then
2377      UNSIGNED32_IO.PUT( TASK_INDEX );
2378      TEXT_IO.PUT( ": INT07 wrong -- (" );
2379      UNSIGNED32_IO.PUT( INT07, BASE => 16);
2380      TEXT_IO.PUT( " not " );
2381      UNSIGNED32_IO.PUT( 7, BASE => 16 );
2382      TEXT_IO.PUT_LINE( ")" );
2383   end if
2384 
2385 ;
2386   
2387   if INT08 /= (8 + INTEGER_FACTORS( TASK_INDEX )  ) then
2388      UNSIGNED32_IO.PUT( TASK_INDEX );
2389      TEXT_IO.PUT( ": INT08 wrong -- (" );
2390      UNSIGNED32_IO.PUT( INT08, BASE => 16);
2391      TEXT_IO.PUT( " not " );
2392      UNSIGNED32_IO.PUT( 8, BASE => 16 );
2393      TEXT_IO.PUT_LINE( ")" );
2394   end if
2395 
2396 ;
2397   
2398   if INT09 /= (9 + INTEGER_FACTORS( TASK_INDEX )  ) then
2399      UNSIGNED32_IO.PUT( TASK_INDEX );
2400      TEXT_IO.PUT( ": INT09 wrong -- (" );
2401      UNSIGNED32_IO.PUT( INT09, BASE => 16);
2402      TEXT_IO.PUT( " not " );
2403      UNSIGNED32_IO.PUT( 9, BASE => 16 );
2404      TEXT_IO.PUT_LINE( ")" );
2405   end if
2406 
2407 ;
2408   
2409   if INT10 /= (10 + INTEGER_FACTORS( TASK_INDEX )  ) then
2410      UNSIGNED32_IO.PUT( TASK_INDEX );
2411      TEXT_IO.PUT( ": INT10 wrong -- (" );
2412      UNSIGNED32_IO.PUT( INT10, BASE => 16);
2413      TEXT_IO.PUT( " not " );
2414      UNSIGNED32_IO.PUT( 10, BASE => 16 );
2415      TEXT_IO.PUT_LINE( ")" );
2416   end if
2417 
2418 ;
2419   
2420   if INT11 /= (11 + INTEGER_FACTORS( TASK_INDEX )  ) then
2421      UNSIGNED32_IO.PUT( TASK_INDEX );
2422      TEXT_IO.PUT( ": INT11 wrong -- (" );
2423      UNSIGNED32_IO.PUT( INT11, BASE => 16);
2424      TEXT_IO.PUT( " not " );
2425      UNSIGNED32_IO.PUT( 11, BASE => 16 );
2426      TEXT_IO.PUT_LINE( ")" );
2427   end if
2428 
2429 ;
2430   
2431   if INT12 /= (12 + INTEGER_FACTORS( TASK_INDEX )  ) then
2432      UNSIGNED32_IO.PUT( TASK_INDEX );
2433      TEXT_IO.PUT( ": INT12 wrong -- (" );
2434      UNSIGNED32_IO.PUT( INT12, BASE => 16);
2435      TEXT_IO.PUT( " not " );
2436      UNSIGNED32_IO.PUT( 12, BASE => 16 );
2437      TEXT_IO.PUT_LINE( ")" );
2438   end if
2439 
2440 ;
2441   
2442   if INT13 /= (13 + INTEGER_FACTORS( TASK_INDEX )  ) then
2443      UNSIGNED32_IO.PUT( TASK_INDEX );
2444      TEXT_IO.PUT( ": INT13 wrong -- (" );
2445      UNSIGNED32_IO.PUT( INT13, BASE => 16);
2446      TEXT_IO.PUT( " not " );
2447      UNSIGNED32_IO.PUT( 13, BASE => 16 );
2448      TEXT_IO.PUT_LINE( ")" );
2449   end if
2450 
2451 ;
2452   
2453   if INT14 /= (14 + INTEGER_FACTORS( TASK_INDEX )  ) then
2454      UNSIGNED32_IO.PUT( TASK_INDEX );
2455      TEXT_IO.PUT( ": INT14 wrong -- (" );
2456      UNSIGNED32_IO.PUT( INT14, BASE => 16);
2457      TEXT_IO.PUT( " not " );
2458      UNSIGNED32_IO.PUT( 14, BASE => 16 );
2459      TEXT_IO.PUT_LINE( ")" );
2460   end if
2461 
2462 ;
2463   
2464   if INT15 /= (15 + INTEGER_FACTORS( TASK_INDEX )  ) then
2465      UNSIGNED32_IO.PUT( TASK_INDEX );
2466      TEXT_IO.PUT( ": INT15 wrong -- (" );
2467      UNSIGNED32_IO.PUT( INT15, BASE => 16);
2468      TEXT_IO.PUT( " not " );
2469      UNSIGNED32_IO.PUT( 15, BASE => 16 );
2470      TEXT_IO.PUT_LINE( ")" );
2471   end if
2472 
2473 ;
2474   
2475   if INT16 /= (16 + INTEGER_FACTORS( TASK_INDEX )  ) then
2476      UNSIGNED32_IO.PUT( TASK_INDEX );
2477      TEXT_IO.PUT( ": INT16 wrong -- (" );
2478      UNSIGNED32_IO.PUT( INT16, BASE => 16);
2479      TEXT_IO.PUT( " not " );
2480      UNSIGNED32_IO.PUT( 16, BASE => 16 );
2481      TEXT_IO.PUT_LINE( ")" );
2482   end if
2483 
2484 ;
2485   
2486   if INT17 /= (17 + INTEGER_FACTORS( TASK_INDEX )  ) then
2487      UNSIGNED32_IO.PUT( TASK_INDEX );
2488      TEXT_IO.PUT( ": INT17 wrong -- (" );
2489      UNSIGNED32_IO.PUT( INT17, BASE => 16);
2490      TEXT_IO.PUT( " not " );
2491      UNSIGNED32_IO.PUT( 17, BASE => 16 );
2492      TEXT_IO.PUT_LINE( ")" );
2493   end if
2494 
2495 ;
2496   
2497   if INT18 /= (18 + INTEGER_FACTORS( TASK_INDEX )  ) then
2498      UNSIGNED32_IO.PUT( TASK_INDEX );
2499      TEXT_IO.PUT( ": INT18 wrong -- (" );
2500      UNSIGNED32_IO.PUT( INT18, BASE => 16);
2501      TEXT_IO.PUT( " not " );
2502      UNSIGNED32_IO.PUT( 18, BASE => 16 );
2503      TEXT_IO.PUT_LINE( ")" );
2504   end if
2505 
2506 ;
2507   
2508   if INT19 /= (19 + INTEGER_FACTORS( TASK_INDEX )  ) then
2509      UNSIGNED32_IO.PUT( TASK_INDEX );
2510      TEXT_IO.PUT( ": INT19 wrong -- (" );
2511      UNSIGNED32_IO.PUT( INT19, BASE => 16);
2512      TEXT_IO.PUT( " not " );
2513      UNSIGNED32_IO.PUT( 19, BASE => 16 );
2514      TEXT_IO.PUT_LINE( ")" );
2515   end if
2516 
2517 ;
2518   
2519   if INT20 /= (20 + INTEGER_FACTORS( TASK_INDEX )  ) then
2520      UNSIGNED32_IO.PUT( TASK_INDEX );
2521      TEXT_IO.PUT( ": INT20 wrong -- (" );
2522      UNSIGNED32_IO.PUT( INT20, BASE => 16);
2523      TEXT_IO.PUT( " not " );
2524      UNSIGNED32_IO.PUT( 20, BASE => 16 );
2525      TEXT_IO.PUT_LINE( ")" );
2526   end if
2527 
2528 ;
2529   
2530   if INT21 /= (21 + INTEGER_FACTORS( TASK_INDEX )  ) then
2531      UNSIGNED32_IO.PUT( TASK_INDEX );
2532      TEXT_IO.PUT( ": INT21 wrong -- (" );
2533      UNSIGNED32_IO.PUT( INT21, BASE => 16);
2534      TEXT_IO.PUT( " not " );
2535      UNSIGNED32_IO.PUT( 21, BASE => 16 );
2536      TEXT_IO.PUT_LINE( ")" );
2537   end if
2538 
2539 ;
2540   
2541   if INT22 /= (22 + INTEGER_FACTORS( TASK_INDEX )  ) then
2542      UNSIGNED32_IO.PUT( TASK_INDEX );
2543      TEXT_IO.PUT( ": INT22 wrong -- (" );
2544      UNSIGNED32_IO.PUT( INT22, BASE => 16);
2545      TEXT_IO.PUT( " not " );
2546      UNSIGNED32_IO.PUT( 22, BASE => 16 );
2547      TEXT_IO.PUT_LINE( ")" );
2548   end if
2549 
2550 ;
2551   
2552   if INT23 /= (23 + INTEGER_FACTORS( TASK_INDEX )  ) then
2553      UNSIGNED32_IO.PUT( TASK_INDEX );
2554      TEXT_IO.PUT( ": INT23 wrong -- (" );
2555      UNSIGNED32_IO.PUT( INT23, BASE => 16);
2556      TEXT_IO.PUT( " not " );
2557      UNSIGNED32_IO.PUT( 23, BASE => 16 );
2558      TEXT_IO.PUT_LINE( ")" );
2559   end if
2560 
2561 ;
2562   
2563   if INT24 /= (24 + INTEGER_FACTORS( TASK_INDEX )  ) then
2564      UNSIGNED32_IO.PUT( TASK_INDEX );
2565      TEXT_IO.PUT( ": INT24 wrong -- (" );
2566      UNSIGNED32_IO.PUT( INT24, BASE => 16);
2567      TEXT_IO.PUT( " not " );
2568      UNSIGNED32_IO.PUT( 24, BASE => 16 );
2569      TEXT_IO.PUT_LINE( ")" );
2570   end if
2571 
2572 ;
2573   
2574   if INT25 /= (25 + INTEGER_FACTORS( TASK_INDEX )  ) then
2575      UNSIGNED32_IO.PUT( TASK_INDEX );
2576      TEXT_IO.PUT( ": INT25 wrong -- (" );
2577      UNSIGNED32_IO.PUT( INT25, BASE => 16);
2578      TEXT_IO.PUT( " not " );
2579      UNSIGNED32_IO.PUT( 25, BASE => 16 );
2580      TEXT_IO.PUT_LINE( ")" );
2581   end if
2582 
2583 ;
2584   
2585   if INT26 /= (26 + INTEGER_FACTORS( TASK_INDEX )  ) then
2586      UNSIGNED32_IO.PUT( TASK_INDEX );
2587      TEXT_IO.PUT( ": INT26 wrong -- (" );
2588      UNSIGNED32_IO.PUT( INT26, BASE => 16);
2589      TEXT_IO.PUT( " not " );
2590      UNSIGNED32_IO.PUT( 26, BASE => 16 );
2591      TEXT_IO.PUT_LINE( ")" );
2592   end if
2593 
2594 ;
2595   
2596   if INT27 /= (27 + INTEGER_FACTORS( TASK_INDEX )  ) then
2597      UNSIGNED32_IO.PUT( TASK_INDEX );
2598      TEXT_IO.PUT( ": INT27 wrong -- (" );
2599      UNSIGNED32_IO.PUT( INT27, BASE => 16);
2600      TEXT_IO.PUT( " not " );
2601      UNSIGNED32_IO.PUT( 27, BASE => 16 );
2602      TEXT_IO.PUT_LINE( ")" );
2603   end if
2604 
2605 ;
2606   
2607   if INT28 /= (28 + INTEGER_FACTORS( TASK_INDEX )  ) then
2608      UNSIGNED32_IO.PUT( TASK_INDEX );
2609      TEXT_IO.PUT( ": INT28 wrong -- (" );
2610      UNSIGNED32_IO.PUT( INT28, BASE => 16);
2611      TEXT_IO.PUT( " not " );
2612      UNSIGNED32_IO.PUT( 28, BASE => 16 );
2613      TEXT_IO.PUT_LINE( ")" );
2614   end if
2615 
2616 ;
2617   
2618   if INT29 /= (29 + INTEGER_FACTORS( TASK_INDEX )  ) then
2619      UNSIGNED32_IO.PUT( TASK_INDEX );
2620      TEXT_IO.PUT( ": INT29 wrong -- (" );
2621      UNSIGNED32_IO.PUT( INT29, BASE => 16);
2622      TEXT_IO.PUT( " not " );
2623      UNSIGNED32_IO.PUT( 29, BASE => 16 );
2624      TEXT_IO.PUT_LINE( ")" );
2625   end if
2626 
2627 ;
2628   
2629   if INT30 /= (30 + INTEGER_FACTORS( TASK_INDEX )  ) then
2630      UNSIGNED32_IO.PUT( TASK_INDEX );
2631      TEXT_IO.PUT( ": INT30 wrong -- (" );
2632      UNSIGNED32_IO.PUT( INT30, BASE => 16);
2633      TEXT_IO.PUT( " not " );
2634      UNSIGNED32_IO.PUT( 30, BASE => 16 );
2635      TEXT_IO.PUT_LINE( ")" );
2636   end if
2637 
2638 ;
2639   
2640   if INT31 /= (31 + INTEGER_FACTORS( TASK_INDEX )  ) then
2641      UNSIGNED32_IO.PUT( TASK_INDEX );
2642      TEXT_IO.PUT( ": INT31 wrong -- (" );
2643      UNSIGNED32_IO.PUT( INT31, BASE => 16);
2644      TEXT_IO.PUT( " not " );
2645      UNSIGNED32_IO.PUT( 31, BASE => 16 );
2646      TEXT_IO.PUT_LINE( ")" );
2647   end if
2648 
2649 ;
2650   
2651   if INT32 /= (32 + INTEGER_FACTORS( TASK_INDEX )  ) then
2652      UNSIGNED32_IO.PUT( TASK_INDEX );
2653      TEXT_IO.PUT( ": INT32 wrong -- (" );
2654      UNSIGNED32_IO.PUT( INT32, BASE => 16);
2655      TEXT_IO.PUT( " not " );
2656      UNSIGNED32_IO.PUT( 32, BASE => 16 );
2657      TEXT_IO.PUT_LINE( ")" );
2658   end if
2659 
2660 
2661 
2662 ;
2663          
2664   
2665   if ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP01 - ( 1.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2666      UNSIGNED32_IO.PUT( TASK_INDEX );
2667      TEXT_IO.PUT( ": FP01 wrong -- (" );
2668      FLOAT_IO.PUT( FP01 );
2669      TEXT_IO.PUT( " not " );
2670      FLOAT_IO.PUT( 1.0 + FP_FACTORS( TASK_INDEX )   );
2671      TEXT_IO.PUT_LINE( ")" );
2672   end if
2673 
2674 ;
2675   
2676   if ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP02 - ( 2.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2677      UNSIGNED32_IO.PUT( TASK_INDEX );
2678      TEXT_IO.PUT( ": FP02 wrong -- (" );
2679      FLOAT_IO.PUT( FP02 );
2680      TEXT_IO.PUT( " not " );
2681      FLOAT_IO.PUT( 2.0 + FP_FACTORS( TASK_INDEX )   );
2682      TEXT_IO.PUT_LINE( ")" );
2683   end if
2684 
2685 ;
2686   
2687   if ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP03 - ( 3.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2688      UNSIGNED32_IO.PUT( TASK_INDEX );
2689      TEXT_IO.PUT( ": FP03 wrong -- (" );
2690      FLOAT_IO.PUT( FP03 );
2691      TEXT_IO.PUT( " not " );
2692      FLOAT_IO.PUT( 3.0 + FP_FACTORS( TASK_INDEX )   );
2693      TEXT_IO.PUT_LINE( ")" );
2694   end if
2695 
2696 ;
2697   
2698   if ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP04 - ( 4.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2699      UNSIGNED32_IO.PUT( TASK_INDEX );
2700      TEXT_IO.PUT( ": FP04 wrong -- (" );
2701      FLOAT_IO.PUT( FP04 );
2702      TEXT_IO.PUT( " not " );
2703      FLOAT_IO.PUT( 4.0 + FP_FACTORS( TASK_INDEX )   );
2704      TEXT_IO.PUT_LINE( ")" );
2705   end if
2706 
2707 ;
2708   
2709   if ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP05 - ( 5.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2710      UNSIGNED32_IO.PUT( TASK_INDEX );
2711      TEXT_IO.PUT( ": FP05 wrong -- (" );
2712      FLOAT_IO.PUT( FP05 );
2713      TEXT_IO.PUT( " not " );
2714      FLOAT_IO.PUT( 5.0 + FP_FACTORS( TASK_INDEX )   );
2715      TEXT_IO.PUT_LINE( ")" );
2716   end if
2717 
2718 ;
2719   
2720   if ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP06 - ( 6.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2721      UNSIGNED32_IO.PUT( TASK_INDEX );
2722      TEXT_IO.PUT( ": FP06 wrong -- (" );
2723      FLOAT_IO.PUT( FP06 );
2724      TEXT_IO.PUT( " not " );
2725      FLOAT_IO.PUT( 6.0 + FP_FACTORS( TASK_INDEX )   );
2726      TEXT_IO.PUT_LINE( ")" );
2727   end if
2728 
2729 ;
2730   
2731   if ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP07 - ( 7.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2732      UNSIGNED32_IO.PUT( TASK_INDEX );
2733      TEXT_IO.PUT( ": FP07 wrong -- (" );
2734      FLOAT_IO.PUT( FP07 );
2735      TEXT_IO.PUT( " not " );
2736      FLOAT_IO.PUT( 7.0 + FP_FACTORS( TASK_INDEX )   );
2737      TEXT_IO.PUT_LINE( ")" );
2738   end if
2739 
2740 ;
2741   
2742   if ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP08 - ( 8.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2743      UNSIGNED32_IO.PUT( TASK_INDEX );
2744      TEXT_IO.PUT( ": FP08 wrong -- (" );
2745      FLOAT_IO.PUT( FP08 );
2746      TEXT_IO.PUT( " not " );
2747      FLOAT_IO.PUT( 8.0 + FP_FACTORS( TASK_INDEX )   );
2748      TEXT_IO.PUT_LINE( ")" );
2749   end if
2750 
2751 ;
2752   
2753   if ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP09 - ( 9.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2754      UNSIGNED32_IO.PUT( TASK_INDEX );
2755      TEXT_IO.PUT( ": FP09 wrong -- (" );
2756      FLOAT_IO.PUT( FP09 );
2757      TEXT_IO.PUT( " not " );
2758      FLOAT_IO.PUT( 9.0 + FP_FACTORS( TASK_INDEX )   );
2759      TEXT_IO.PUT_LINE( ")" );
2760   end if
2761 
2762 ;
2763   
2764   if ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP10 - ( 10.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2765      UNSIGNED32_IO.PUT( TASK_INDEX );
2766      TEXT_IO.PUT( ": FP10 wrong -- (" );
2767      FLOAT_IO.PUT( FP10 );
2768      TEXT_IO.PUT( " not " );
2769      FLOAT_IO.PUT( 10.0 + FP_FACTORS( TASK_INDEX )   );
2770      TEXT_IO.PUT_LINE( ")" );
2771   end if
2772 
2773 ;
2774   
2775   if ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP11 - ( 11.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2776      UNSIGNED32_IO.PUT( TASK_INDEX );
2777      TEXT_IO.PUT( ": FP11 wrong -- (" );
2778      FLOAT_IO.PUT( FP11 );
2779      TEXT_IO.PUT( " not " );
2780      FLOAT_IO.PUT( 11.0 + FP_FACTORS( TASK_INDEX )   );
2781      TEXT_IO.PUT_LINE( ")" );
2782   end if
2783 
2784 ;
2785   
2786   if ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP12 - ( 12.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2787      UNSIGNED32_IO.PUT( TASK_INDEX );
2788      TEXT_IO.PUT( ": FP12 wrong -- (" );
2789      FLOAT_IO.PUT( FP12 );
2790      TEXT_IO.PUT( " not " );
2791      FLOAT_IO.PUT( 12.0 + FP_FACTORS( TASK_INDEX )   );
2792      TEXT_IO.PUT_LINE( ")" );
2793   end if
2794 
2795 ;
2796   
2797   if ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP13 - ( 13.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2798      UNSIGNED32_IO.PUT( TASK_INDEX );
2799      TEXT_IO.PUT( ": FP13 wrong -- (" );
2800      FLOAT_IO.PUT( FP13 );
2801      TEXT_IO.PUT( " not " );
2802      FLOAT_IO.PUT( 13.0 + FP_FACTORS( TASK_INDEX )   );
2803      TEXT_IO.PUT_LINE( ")" );
2804   end if
2805 
2806 ;
2807   
2808   if ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP14 - ( 14.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2809      UNSIGNED32_IO.PUT( TASK_INDEX );
2810      TEXT_IO.PUT( ": FP14 wrong -- (" );
2811      FLOAT_IO.PUT( FP14 );
2812      TEXT_IO.PUT( " not " );
2813      FLOAT_IO.PUT( 14.0 + FP_FACTORS( TASK_INDEX )   );
2814      TEXT_IO.PUT_LINE( ")" );
2815   end if
2816 
2817 ;
2818   
2819   if ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP15 - ( 15.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2820      UNSIGNED32_IO.PUT( TASK_INDEX );
2821      TEXT_IO.PUT( ": FP15 wrong -- (" );
2822      FLOAT_IO.PUT( FP15 );
2823      TEXT_IO.PUT( " not " );
2824      FLOAT_IO.PUT( 15.0 + FP_FACTORS( TASK_INDEX )   );
2825      TEXT_IO.PUT_LINE( ")" );
2826   end if
2827 
2828 ;
2829   
2830   if ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP16 - ( 16.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2831      UNSIGNED32_IO.PUT( TASK_INDEX );
2832      TEXT_IO.PUT( ": FP16 wrong -- (" );
2833      FLOAT_IO.PUT( FP16 );
2834      TEXT_IO.PUT( " not " );
2835      FLOAT_IO.PUT( 16.0 + FP_FACTORS( TASK_INDEX )   );
2836      TEXT_IO.PUT_LINE( ")" );
2837   end if
2838 
2839 ;
2840   
2841   if ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP17 - ( 17.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2842      UNSIGNED32_IO.PUT( TASK_INDEX );
2843      TEXT_IO.PUT( ": FP17 wrong -- (" );
2844      FLOAT_IO.PUT( FP17 );
2845      TEXT_IO.PUT( " not " );
2846      FLOAT_IO.PUT( 17.0 + FP_FACTORS( TASK_INDEX )   );
2847      TEXT_IO.PUT_LINE( ")" );
2848   end if
2849 
2850 ;
2851   
2852   if ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP18 - ( 18.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2853      UNSIGNED32_IO.PUT( TASK_INDEX );
2854      TEXT_IO.PUT( ": FP18 wrong -- (" );
2855      FLOAT_IO.PUT( FP18 );
2856      TEXT_IO.PUT( " not " );
2857      FLOAT_IO.PUT( 18.0 + FP_FACTORS( TASK_INDEX )   );
2858      TEXT_IO.PUT_LINE( ")" );
2859   end if
2860 
2861 ;
2862   
2863   if ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP19 - ( 19.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2864      UNSIGNED32_IO.PUT( TASK_INDEX );
2865      TEXT_IO.PUT( ": FP19 wrong -- (" );
2866      FLOAT_IO.PUT( FP19 );
2867      TEXT_IO.PUT( " not " );
2868      FLOAT_IO.PUT( 19.0 + FP_FACTORS( TASK_INDEX )   );
2869      TEXT_IO.PUT_LINE( ")" );
2870   end if
2871 
2872 ;
2873   
2874   if ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP20 - ( 20.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2875      UNSIGNED32_IO.PUT( TASK_INDEX );
2876      TEXT_IO.PUT( ": FP20 wrong -- (" );
2877      FLOAT_IO.PUT( FP20 );
2878      TEXT_IO.PUT( " not " );
2879      FLOAT_IO.PUT( 20.0 + FP_FACTORS( TASK_INDEX )   );
2880      TEXT_IO.PUT_LINE( ")" );
2881   end if
2882 
2883 ;
2884   
2885   if ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP21 - ( 21.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2886      UNSIGNED32_IO.PUT( TASK_INDEX );
2887      TEXT_IO.PUT( ": FP21 wrong -- (" );
2888      FLOAT_IO.PUT( FP21 );
2889      TEXT_IO.PUT( " not " );
2890      FLOAT_IO.PUT( 21.0 + FP_FACTORS( TASK_INDEX )   );
2891      TEXT_IO.PUT_LINE( ")" );
2892   end if
2893 
2894 ;
2895   
2896   if ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP22 - ( 22.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2897      UNSIGNED32_IO.PUT( TASK_INDEX );
2898      TEXT_IO.PUT( ": FP22 wrong -- (" );
2899      FLOAT_IO.PUT( FP22 );
2900      TEXT_IO.PUT( " not " );
2901      FLOAT_IO.PUT( 22.0 + FP_FACTORS( TASK_INDEX )   );
2902      TEXT_IO.PUT_LINE( ")" );
2903   end if
2904 
2905 ;
2906   
2907   if ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP23 - ( 23.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2908      UNSIGNED32_IO.PUT( TASK_INDEX );
2909      TEXT_IO.PUT( ": FP23 wrong -- (" );
2910      FLOAT_IO.PUT( FP23 );
2911      TEXT_IO.PUT( " not " );
2912      FLOAT_IO.PUT( 23.0 + FP_FACTORS( TASK_INDEX )   );
2913      TEXT_IO.PUT_LINE( ")" );
2914   end if
2915 
2916 ;
2917   
2918   if ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP24 - ( 24.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2919      UNSIGNED32_IO.PUT( TASK_INDEX );
2920      TEXT_IO.PUT( ": FP24 wrong -- (" );
2921      FLOAT_IO.PUT( FP24 );
2922      TEXT_IO.PUT( " not " );
2923      FLOAT_IO.PUT( 24.0 + FP_FACTORS( TASK_INDEX )   );
2924      TEXT_IO.PUT_LINE( ")" );
2925   end if
2926 
2927 ;
2928   
2929   if ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP25 - ( 25.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2930      UNSIGNED32_IO.PUT( TASK_INDEX );
2931      TEXT_IO.PUT( ": FP25 wrong -- (" );
2932      FLOAT_IO.PUT( FP25 );
2933      TEXT_IO.PUT( " not " );
2934      FLOAT_IO.PUT( 25.0 + FP_FACTORS( TASK_INDEX )   );
2935      TEXT_IO.PUT_LINE( ")" );
2936   end if
2937 
2938 ;
2939   
2940   if ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP26 - ( 26.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2941      UNSIGNED32_IO.PUT( TASK_INDEX );
2942      TEXT_IO.PUT( ": FP26 wrong -- (" );
2943      FLOAT_IO.PUT( FP26 );
2944      TEXT_IO.PUT( " not " );
2945      FLOAT_IO.PUT( 26.0 + FP_FACTORS( TASK_INDEX )   );
2946      TEXT_IO.PUT_LINE( ")" );
2947   end if
2948 
2949 ;
2950   
2951   if ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP27 - ( 27.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2952      UNSIGNED32_IO.PUT( TASK_INDEX );
2953      TEXT_IO.PUT( ": FP27 wrong -- (" );
2954      FLOAT_IO.PUT( FP27 );
2955      TEXT_IO.PUT( " not " );
2956      FLOAT_IO.PUT( 27.0 + FP_FACTORS( TASK_INDEX )   );
2957      TEXT_IO.PUT_LINE( ")" );
2958   end if
2959 
2960 ;
2961   
2962   if ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP28 - ( 28.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2963      UNSIGNED32_IO.PUT( TASK_INDEX );
2964      TEXT_IO.PUT( ": FP28 wrong -- (" );
2965      FLOAT_IO.PUT( FP28 );
2966      TEXT_IO.PUT( " not " );
2967      FLOAT_IO.PUT( 28.0 + FP_FACTORS( TASK_INDEX )   );
2968      TEXT_IO.PUT_LINE( ")" );
2969   end if
2970 
2971 ;
2972   
2973   if ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP29 - ( 29.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2974      UNSIGNED32_IO.PUT( TASK_INDEX );
2975      TEXT_IO.PUT( ": FP29 wrong -- (" );
2976      FLOAT_IO.PUT( FP29 );
2977      TEXT_IO.PUT( " not " );
2978      FLOAT_IO.PUT( 29.0 + FP_FACTORS( TASK_INDEX )   );
2979      TEXT_IO.PUT_LINE( ")" );
2980   end if
2981 
2982 ;
2983   
2984   if ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP30 - ( 30.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2985      UNSIGNED32_IO.PUT( TASK_INDEX );
2986      TEXT_IO.PUT( ": FP30 wrong -- (" );
2987      FLOAT_IO.PUT( FP30 );
2988      TEXT_IO.PUT( " not " );
2989      FLOAT_IO.PUT( 30.0 + FP_FACTORS( TASK_INDEX )   );
2990      TEXT_IO.PUT_LINE( ")" );
2991   end if
2992 
2993 ;
2994   
2995   if ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP31 - ( 31.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
2996      UNSIGNED32_IO.PUT( TASK_INDEX );
2997      TEXT_IO.PUT( ": FP31 wrong -- (" );
2998      FLOAT_IO.PUT( FP31 );
2999      TEXT_IO.PUT( " not " );
3000      FLOAT_IO.PUT( 31.0 + FP_FACTORS( TASK_INDEX )   );
3001      TEXT_IO.PUT_LINE( ")" );
3002   end if
3003 
3004 ;
3005   
3006   if ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) > 0.0005 or else ( FP32 - ( 32.0 + FP_FACTORS( TASK_INDEX )   ) ) < - 0.0005 then
3007      UNSIGNED32_IO.PUT( TASK_INDEX );
3008      TEXT_IO.PUT( ": FP32 wrong -- (" );
3009      FLOAT_IO.PUT( FP32 );
3010      TEXT_IO.PUT( " not " );
3011      FLOAT_IO.PUT( 32.0 + FP_FACTORS( TASK_INDEX )   );
3012      TEXT_IO.PUT_LINE( ")" );
3013   end if
3014 
3015 
3016 
3017 ;
3018 
3019          RTEMS.TASKS.WAKE_AFTER( 
3020             TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * 
3021               TEST_SUPPORT.TICKS_PER_SECOND, 
3022             STATUS
3023          );
3024          TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" );
3025           
3026       end loop;
3027    
3028    end TASK_1;
3029 
3030 end SPTEST;