Files
failnix/targets/wasm-tacle/sequential/ammunition/ammunition.c

1180 lines
41 KiB
C
Executable File

/*
This program is part of the TACLeBench benchmark suite.
Version V 2.0
Name: ammunition
Author: Vladimir Makarov <vmakarov@gcc.gnu.org>
Function: Tests reusable packages bits and arith
bits: Work with bit strings (copying, moving, setting, testing, comparison).
arith: Implementing host machine-independently arbitrary precision integer
numbers arithmetic. The implementation of the package functions are not
sufficiently efficient in order to use for run-time. The package
functions are oriented to implement constant-folding in compilers,
cross-compilers.
Source: DINO programming language repository
https://github.com/dino-lang/dino/
Changes: no major functional changes
License: GPL 2 and LGPL 2
*/
#include "bits.h"
#include "arithm.h"
#include "ammunition_stdlib.h"
#include "ammunition_stdio.h"
#include "ammunition_string.h"
/*
Forward declaration of functions
*/
void ammunition_reset_str_bits( char *str, char *s );
void ammunition_reset_str_arithm( char *str, char *s, char *d, char *e,
char *g );
int ammunition_bits_test();
int ammunition_arithm_test();
void ammunition_init( void );
int ammunition_return( void );
void ammunition_main( void );
int main( void );
/*
Forward declaration of global variables
*/
int ammunition_result;
/*
Core functions
*/
void ammunition_reset_str_bits( char *str, char *s )
{
int i;
_Pragma( "loopbound min 8 max 8" )
for ( i = 0; i < 8; i++ ) {
str[ i ] = 0;
s[ i ] = 0;
}
}
void ammunition_reset_str_arithm( char *str, char *s, char *d, char *e,
char *g )
{
int i;
_Pragma( "loopbound min 20 max 20" )
for ( i = 0; i < 20; i++ ) {
str[ i ] = 0;
s[ i ] = 0;
}
_Pragma( "loopbound min 4 max 4" )
for ( i = 0; i < 4; i++ ) {
d[ i ] = 0;
e[ i ] = 0;
}
_Pragma( "loopbound min 6 max 6" )
for ( i = 0; i < 6; i++ )
g[ i ] = 0;
}
int ammunition_bits_test()
{
char str[ 8 ];
char str1[ 8 ];
int result = 0;
unsigned int i, j;
/* Test 1 */
ammunition_reset_str_bits( str, str1 );
_Pragma( "loopbound min 64 max 64" )
for ( i = 0; i < sizeof ( str ) * CHAR_BIT; i++ ) {
if ( BIT ( str, i ) )
result = 1;
}
_Pragma( "loopbound min 64 max 64" )
for ( i = 0; i < sizeof ( str ) * CHAR_BIT; i++ ) {
SET_BIT ( str, i, 1 );
_Pragma( "loopbound min 64 max 64" )
for ( j = 0; j < sizeof ( str ) * CHAR_BIT; j++ )
if ( j <= i ) {
if ( BIT ( str, j ) == 0 )
result = 1;
} else
if ( BIT ( str, j ) )
result = 1;
}
/* Test 2 */
ammunition_reset_str_bits( str, str1 );
_Pragma( "loopbound min 64 max 64" )
for ( i = 0; i < sizeof ( str ) * CHAR_BIT; i++ )
if ( !ammunition_is_zero_bit_string (
str, i, ( sizeof ( str ) * CHAR_BIT - i ) / 2 + 1 ) )
result = 1;
ammunition_bit_string_set ( str, 13, 1, 35 );
_Pragma( "loopbound min 13 max 13" )
for ( i = 0; i < 13; i++ )
if ( !ammunition_is_zero_bit_string ( str, i, 13 - i ) )
result = 1;
_Pragma( "loopbound min 35 max 35" )
for ( i = 13; i < 48; i++ )
if ( ammunition_is_zero_bit_string ( str, i, 48 - i ) )
result = 1;
_Pragma( "loopbound min 16 max 16" )
for ( i = 48; i < sizeof ( str ) * CHAR_BIT; i++ )
if ( !ammunition_is_zero_bit_string ( str, i,
sizeof ( str ) * CHAR_BIT - i ) )
result = 1;
/* Test 3 */
ammunition_reset_str_bits( str, str1 );
_Pragma( "loopbound min 42 max 42" )
for ( i = 0; i + i / 2 + 1 < sizeof ( str ) * CHAR_BIT; i++ ) {
ammunition_bit_string_set ( str, i, 1, i / 2 + 1 );
if ( !ammunition_is_zero_bit_string ( str, 0, i - 1 ) )
result = 1;
if ( ammunition_is_zero_bit_string ( str, i, i / 2 + 1 ) )
result = 1;
if ( !ammunition_is_zero_bit_string (
str, i + i / 2 + 1, sizeof ( str ) * CHAR_BIT - ( i + i / 2 + 1 ) ) )
result = 1;
ammunition_bit_string_set ( str, 0, 0, sizeof ( str ) * CHAR_BIT );
}
/* Test 4 */
ammunition_reset_str_bits( str, str1 );
ammunition_bit_string_set ( str, 2, 1, 43 );
ammunition_bit_string_set ( str1, 2, 1, 40 );
_Pragma( "loopbound min 42 max 42" )
for ( i = 0; i < 42; i++ )
if ( ammunition_bit_string_comparison ( str, i, str1, i, 42 - i ) != 0 )
result = 1;
_Pragma( "loopbound min 43 max 43" )
for ( i = 0; i < 43; i++ )
if ( ammunition_bit_string_comparison ( str, i, str1, i,
sizeof ( str ) * CHAR_BIT - i )
<= 0 )
result = 1;
_Pragma( "loopbound min 43 max 43" )
for ( i = 0; i < 43; i++ )
if ( ammunition_bit_string_comparison ( str1, i, str, i,
sizeof ( str ) * CHAR_BIT - i )
>= 0 )
result = 1;
/* Test 5 */
ammunition_reset_str_bits( str, str1 );
ammunition_bit_string_set ( str, 2, 1, 43 );
_Pragma( "loopbound min 59 max 59" )
for ( i = 0; i + 5 < sizeof ( str ) * CHAR_BIT; i++ ) {
ammunition_bit_string_copy ( str1, i + 5, str, i,
sizeof ( str ) * CHAR_BIT - i - 5 );
if ( ammunition_bit_string_comparison (
str1, i + 5, str, i, sizeof ( str ) * CHAR_BIT - i - 5 ) != 0 )
result = 1;
}
/* Test 6 */
ammunition_reset_str_bits( str, str1 );
ammunition_bit_string_set ( str, 2, 1, 43 );
ammunition_bit_string_set ( str1, 2, 1, 43 );
_Pragma( "loopbound min 59 max 59" )
for ( i = 0; i + 5 < sizeof ( str ) * CHAR_BIT; i++ ) {
ammunition_bit_string_set ( str, 0, 0, sizeof ( str ) * CHAR_BIT );
ammunition_bit_string_set ( str, 2, 1, 43 );
ammunition_bit_string_move ( str, i + 5, str, i,
sizeof ( str ) * CHAR_BIT - i - 5 );
if ( ammunition_bit_string_comparison (
str, i + 5, str1, i, sizeof ( str ) * CHAR_BIT - i - 5 ) != 0 )
result = 1;
}
/* Test 7 */
ammunition_reset_str_bits( str, str1 );
ammunition_bit_string_set ( str, 2, 1, 43 );
ammunition_bit_string_set ( str1, 2, 1, 43 );
_Pragma( "loopbound min 59 max 59" )
for ( i = 0; i + 5 < sizeof ( str ) * CHAR_BIT; i++ ) {
ammunition_bit_string_set ( str, 0, 0, sizeof ( str ) * CHAR_BIT );
ammunition_bit_string_set ( str, 2, 1, 43 );
ammunition_bit_string_move ( str, i, str, i + 5,
sizeof ( str ) * CHAR_BIT - i - 5 );
if ( ammunition_bit_string_comparison (
str, i, str1, i + 5, sizeof ( str ) * CHAR_BIT - i - 5 ) != 0 )
result = 1;
}
return result;
}
int ammunition_arithm_test()
{
int result = 0;
/* Test 1 */
int i;
char str [ 20 ], s[ 20 ], d[ 4 ], e[ 4 ], g[ 6 ];
ammunition_integer_from_string ( 4, "-2147483649", d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MIN );
ammunition_integer_from_string ( 4, str, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "2147483648", d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MAX );
ammunition_integer_from_string ( 4, str, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = -2000; i < 2000 ; i++ ) {
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
}
/* Test 2 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "4294967296", d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_u( str, UINT_MAX );
ammunition_unsigned_integer_from_string ( 4, str, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
}
/* Test 3 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_d( str, INT_MAX );
ammunition_integer_from_string ( 4, str, d );
ammunition_integer_from_string ( 4, "1", e );
ammunition_add_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MAX - 4 );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, 4 );
ammunition_integer_from_string ( 4, str, e );
ammunition_add_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
ammunition_sprintf_d( str, INT_MAX );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = -2000; i < 2000 ; i++ ) {
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, i + 1 );
ammunition_integer_from_string ( 4, str, e );
ammunition_add_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_atoi ( s ) != i + i + 1 )
result = 1;
}
/* Test 4 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_u( str, UINT_MAX );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_unsigned_integer_from_string ( 4, "1", e );
ammunition_add_unsigned_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_u( str, UINT_MAX - 4 );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, 4 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_add_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
ammunition_sprintf_u( str, UINT_MAX );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, i + 1 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_add_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_atoi ( s ) != i + i + 1 )
result = 1;
}
/* Test 5 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_d( str, INT_MIN );
ammunition_integer_from_string ( 4, str, d );
ammunition_integer_from_string ( 4, "1", e );
ammunition_subtract_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MIN + 4 );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, 4 );
ammunition_integer_from_string ( 4, str, e );
ammunition_subtract_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
ammunition_sprintf_d( str, INT_MIN );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = -2000; i < 2000 ; i++ ) {
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, 10 - i );
ammunition_integer_from_string ( 4, str, e );
ammunition_subtract_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_atoi ( s ) != i + i - 10 )
result = 1;
}
/* Test 6 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_u( str, UINT_MAX - 2 );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, UINT_MAX - 1 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_subtract_unsigned_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_u( str, UINT_MAX );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_subtract_unsigned_integer ( 4, d, d, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, i / 2 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_subtract_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_atoi ( s ) != i - i / 2 )
result = 1;
}
/* Test 7 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_d( str, INT_MAX / 2 + 1 );
ammunition_integer_from_string ( 4, str, d );
ammunition_integer_from_string ( 4, "2", e );
ammunition_multiply_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MIN / 2 - 1 );
ammunition_integer_from_string ( 4, str, d );
ammunition_integer_from_string ( 4, "2", e );
ammunition_multiply_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_d( str, INT_MAX / 3 );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, 3 );
ammunition_integer_from_string ( 4, str, e );
ammunition_multiply_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
ammunition_sprintf_d( str, ( INT_MAX / 3 ) * 3 );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
ammunition_sprintf_d( str, INT_MIN / 2 );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, 2 );
ammunition_integer_from_string ( 4, str, e );
ammunition_multiply_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
ammunition_sprintf_d( str, ( INT_MIN / 2 ) * 2 );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = -2000; i < 2000 ; i++ ) {
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, i + 1000 );
ammunition_integer_from_string ( 4, str, e );
ammunition_multiply_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_atoi ( s ) != i * ( i + 1000 ) )
result = 1;
}
/* Test 8 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_sprintf_u( str, UINT_MAX / 5 + 1 );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, 5 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_multiply_unsigned_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_sprintf_u( str, UINT_MAX / 2 );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, 2 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_multiply_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
ammunition_sprintf_u( str, ( UINT_MAX / 2 ) * 2 );
if ( ammunition_strcmp ( s, str ) != 0 )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, i / 2 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_multiply_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_atoi ( s ) != i * ( i / 2 ) )
result = 1;
}
/* Test 9 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "10", d );
ammunition_integer_from_string ( 4, "0", e );
ammunition_divide_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = -2000; i < 2000 ; i++ ) {
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
ammunition_sprintf_d( str, ( i < 0 ? - i / 20 + 1 : - i / 20 - 1 ) );
ammunition_integer_from_string ( 4, str, e );
ammunition_divide_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, d, s );
if ( ammunition_atoi ( s ) != i / ( i < 0 ? - i / 20 + 1 : - i / 20 - 1 ) )
result = 1;
ammunition_sprintf_d( str, i );
ammunition_integer_from_string ( 4, str, d );
ammunition_divide_integer ( 4, d, e, e );
if ( ammunition_overflow_bit )
result = 1;
ammunition_integer_to_string( 4, e, s );
if ( ammunition_atoi ( s ) != i / ( i < 0 ? - i / 20 + 1 : - i / 20 - 1 ) )
result = 1;
}
/* Test 10 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "0", e );
ammunition_divide_unsigned_integer ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, i / 20 + 1 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_divide_unsigned_integer ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_atoi ( s ) != i / ( i / 20 + 1 ) )
result = 1;
}
/* Test 11 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "0", e );
ammunition_unsigned_integer_remainder ( 4, d, e, d );
if ( !ammunition_overflow_bit )
result = 1;
_Pragma( "loopbound min 4000 max 4000" )
for ( i = 0; i < 4000 ; i++ ) {
ammunition_sprintf_u( str, i );
ammunition_unsigned_integer_from_string ( 4, str, d );
ammunition_sprintf_u( str, i / 20 + 1 );
ammunition_unsigned_integer_from_string ( 4, str, e );
ammunition_unsigned_integer_remainder ( 4, d, e, d );
if ( ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_atoi ( s ) != i % ( i / 20 + 1 ) )
result = 1;
}
/* Test 12 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_right ( 4, d, 0, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_right ( 4, d, 32, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_right ( 4, d, 8, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "5" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "134890", d );
ammunition_unsigned_integer_shift_right ( 4, d, 13, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "16" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "134890", d );
ammunition_unsigned_integer_shift_left ( 4, d, -13, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "16" ) != 0 )
result = 1;
/* Test 13 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_right ( 4, d, 0, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_right ( 4, d, 32, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_right ( 4, d, 8, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "5" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "134890", d );
ammunition_integer_shift_right ( 4, d, 13, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "16" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "134890", d );
ammunition_integer_shift_left ( 4, d, -13, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "16" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_right ( 4, d, 0, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_right ( 4, d, 32, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "-1" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_right ( 4, d, 8, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "-6" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-134890", d );
ammunition_integer_shift_right ( 4, d, 13, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "-17" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-134890", d );
ammunition_integer_shift_left ( 4, d, -13, d );
ammunition_integer_to_string( 4, d, s );
if ( !ammunition_overflow_bit || ammunition_strcmp ( s, "-17" ) != 0 )
result = 1;
/* Test 14 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_left ( 4, d, 0, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_left ( 4, d, 22, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_shift_left ( 4, d, 8, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "345088" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "134890", d );
ammunition_unsigned_integer_shift_left ( 4, d, 13, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1105018880" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "134890", d );
ammunition_unsigned_integer_shift_right ( 4, d, -13, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1105018880" ) != 0 )
result = 1;
/* Test 15 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_left ( 4, d, 0, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_left ( 4, d, 21, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_shift_left ( 4, d, 8, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "345088" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "134890", d );
ammunition_integer_shift_left ( 4, d, 13, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1105018880" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "134890", d );
ammunition_integer_shift_right ( 4, d, -13, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "1105018880" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_left ( 4, d, 0, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_left ( 4, d, 21, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_shift_left ( 4, d, 8, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-345088" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-134890", d );
ammunition_integer_shift_left ( 4, d, 13, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-1105018880" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-134890", d );
ammunition_integer_shift_right ( 4, d, -13, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-1105018880" ) != 0 )
result = 1;
/* Test 16 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( ammunition_eq_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( !ammunition_eq_integer ( 4, d, e ) )
result = 1;
/* Test 17 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_eq_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_eq_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 18 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( !ammunition_ne_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( ammunition_ne_integer ( 4, d, e ) )
result = 1;
/* Test 19 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_ne_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_ne_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 20 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( ammunition_gt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( ammunition_gt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1000000", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( ammunition_gt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "1000000", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( !ammunition_gt_integer ( 4, d, e ) )
result = 1;
/* Test 21 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_gt_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_gt_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1000000", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_gt_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 22 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( !ammunition_lt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( ammunition_lt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1000000", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( !ammunition_lt_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "1000000", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( ammunition_lt_integer ( 4, d, e ) )
result = 1;
/* Test 23 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_lt_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_lt_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1000000", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_lt_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 24 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( ammunition_ge_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( !ammunition_ge_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1000000", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( ammunition_ge_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "1000000", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( !ammunition_ge_integer ( 4, d, e ) )
result = 1;
/* Test 25 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_ge_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_ge_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1000000", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_ge_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 26 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "-10", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( !ammunition_le_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1348", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( !ammunition_le_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "-1000000", d );
ammunition_integer_from_string ( 4, "-1348", e );
if ( !ammunition_le_integer ( 4, d, e ) )
result = 1;
ammunition_integer_from_string ( 4, "1000000", d );
ammunition_integer_from_string ( 4, "1348", e );
if ( ammunition_le_integer ( 4, d, e ) )
result = 1;
/* Test 27 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "10", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_le_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( !ammunition_le_unsigned_integer ( 4, d, e ) )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1000000", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
if ( ammunition_le_unsigned_integer ( 4, d, e ) )
result = 1;
/* Test 28 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "70000", d );
ammunition_change_unsigned_integer_size ( 4, d, 2, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "30000", d );
ammunition_change_unsigned_integer_size ( 4, d, 2, d );
ammunition_integer_to_string( 2, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "30000" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "11230000", g );
ammunition_change_unsigned_integer_size ( 4, g, 6, g );
ammunition_integer_to_string( 6, g, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "11230000" ) != 0 )
result = 1;
/* Test 29 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "40000", d );
ammunition_change_integer_size ( 4, d, 2, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_integer_from_string ( 4, "-33000", d );
ammunition_change_integer_size ( 4, d, 2, d );
if ( !ammunition_overflow_bit )
result = 1;
ammunition_integer_from_string ( 4, "30000", d );
ammunition_change_integer_size ( 4, d, 2, d );
ammunition_integer_to_string( 2, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "30000" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-30000", d );
ammunition_change_integer_size ( 4, d, 2, d );
ammunition_integer_to_string( 2, d, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-30000" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "11230000", g );
ammunition_change_integer_size ( 4, g, 6, g );
ammunition_integer_to_string( 6, g, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "11230000" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-11230000", g );
ammunition_change_integer_size ( 4, g, 6, g );
ammunition_integer_to_string( 6, g, s );
if ( ammunition_overflow_bit || ammunition_strcmp ( s, "-11230000" ) != 0 )
result = 1;
/* Test 30 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
ammunition_unsigned_integer_or ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "0", e );
ammunition_unsigned_integer_or ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "4294967295", e );
ammunition_unsigned_integer_or ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "4294967295" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "96", e );
ammunition_unsigned_integer_or ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "1380" ) != 0 )
result = 1;
/* Test 31 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "1348", e );
ammunition_integer_or ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "0", e );
ammunition_integer_or ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "-1", e );
ammunition_integer_or ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "-1" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "96", e );
ammunition_integer_or ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "1380" ) != 0 )
result = 1;
/* Test 32 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "1348", e );
ammunition_unsigned_integer_and ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "0", e );
ammunition_unsigned_integer_and ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "4294967295", e );
ammunition_unsigned_integer_and ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_from_string ( 4, "96", e );
ammunition_unsigned_integer_and ( 4, d, e, e );
ammunition_unsigned_integer_to_string ( 4, e, s );
if ( ammunition_strcmp ( s, "64" ) != 0 )
result = 1;
/* Test 33 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "1348", e );
ammunition_integer_and ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "0", e );
ammunition_integer_and ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "-1", e );
ammunition_integer_and ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "1348" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_from_string ( 4, "96", e );
ammunition_integer_and ( 4, d, e, e );
ammunition_integer_to_string( 4, e, s );
if ( ammunition_strcmp ( s, "64" ) != 0 )
result = 1;
/* Test 34 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_unsigned_integer_from_string ( 4, "1348", d );
ammunition_unsigned_integer_not ( 4, d, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, "4294965947" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "0", d );
ammunition_unsigned_integer_not ( 4, d, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, "4294967295" ) != 0 )
result = 1;
ammunition_unsigned_integer_from_string ( 4, "4294967295", d );
ammunition_unsigned_integer_not ( 4, d, d );
ammunition_unsigned_integer_to_string ( 4, d, s );
if ( ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
/* Test 35 */
ammunition_reset_str_arithm( str, s, d, e, g );
ammunition_integer_from_string ( 4, "1348", d );
ammunition_integer_not ( 4, d, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, "-1349" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "0", d );
ammunition_integer_not ( 4, d, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, "-1" ) != 0 )
result = 1;
ammunition_integer_from_string ( 4, "-1", d );
ammunition_integer_not ( 4, d, d );
ammunition_integer_to_string( 4, d, s );
if ( ammunition_strcmp ( s, "0" ) != 0 )
result = 1;
return result;
}
/*
Initialization- and return-value-related functions
*/
void ammunition_init( void )
{
ammunition_result = 0;
}
int ammunition_return( void )
{
return ammunition_result;
}
/*
Main functions
*/
void _Pragma( "entrypoint" ) ammunition_main( void )
{
ammunition_result |= ammunition_bits_test();
ammunition_result |= ammunition_arithm_test();
}
int main( void )
{
ammunition_init();
ammunition_main();
return ( ammunition_return() );
}