sbv-5.0: SBVUnitTest/GoldFiles/codeGen1.gold
== BEGIN: "Makefile" ================
# Makefile for foo. Automatically generated by SBV. Do not edit!
# include any user-defined .mk file in the current directory.
-include *.mk
CC?=gcc
CCFLAGS?=-Wall -O3 -DNDEBUG -fomit-frame-pointer
all: foo_driver
foo.o: foo.c foo.h
${CC} ${CCFLAGS} -c $< -o $@
foo_driver.o: foo_driver.c
${CC} ${CCFLAGS} -c $< -o $@
foo_driver: foo.o foo_driver.o
${CC} ${CCFLAGS} $^ -o $@
clean:
rm -f *.o
veryclean: clean
rm -f foo_driver
== END: "Makefile" ==================
== BEGIN: "foo.h" ================
/* Header file for foo. Automatically generated by SBV. Do not edit! */
#ifndef __foo__HEADER_INCLUDED__
#define __foo__HEADER_INCLUDED__
#include <inttypes.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
/* The boolean type */
typedef bool SBool;
/* The float type */
typedef float SFloat;
/* The double type */
typedef double SDouble;
/* Unsigned bit-vectors */
typedef uint8_t SWord8 ;
typedef uint16_t SWord16;
typedef uint32_t SWord32;
typedef uint64_t SWord64;
/* Signed bit-vectors */
typedef int8_t SInt8 ;
typedef int16_t SInt16;
typedef int32_t SInt32;
typedef int64_t SInt64;
/* Entry point prototype: */
SInt16 foo(const SInt16 x, const SInt64 *xArr, SWord16 *z,
SInt16 *zArr, SInt64 *yArr);
#endif /* __foo__HEADER_INCLUDED__ */
== END: "foo.h" ==================
== BEGIN: "foo_driver.c" ================
/* Example driver program for foo. */
/* Automatically generated by SBV. Edit as you see fit! */
#include <stdio.h>
#include "foo.h"
int main(void)
{
const SInt64 xArr[45] = {
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL,
0x0000000000000000LL, 0x0000000000000000LL, 0x0000000000000000LL
};
printf("Contents of input array xArr:\n");
int xArr_ctr;
for(xArr_ctr = 0; xArr_ctr < 45 ; ++xArr_ctr)
printf(" xArr[%d] = %"PRId64"LL\n", xArr_ctr ,xArr[xArr_ctr]);
SWord16 z;
SInt16 zArr[7];
SInt64 yArr[45];
const SInt16 __result = foo(0x0000, xArr, &z, zArr, yArr);
printf("foo(0x0000, xArr, &z, zArr, yArr) = %"PRId16"\n", __result);
printf(" z = 0x%04"PRIx16"U\n", z);
int zArr_ctr;
for(zArr_ctr = 0; zArr_ctr < 7 ; ++zArr_ctr)
printf(" zArr[%d] = %"PRId16"\n", zArr_ctr ,zArr[zArr_ctr]);
int yArr_ctr;
for(yArr_ctr = 0; yArr_ctr < 45 ; ++yArr_ctr)
printf(" yArr[%d] = %"PRId64"LL\n", yArr_ctr ,yArr[yArr_ctr]);
return 0;
}
== END: "foo_driver.c" ==================
== BEGIN: "foo.c" ================
/* File: "foo.c". Automatically generated by SBV. Do not edit! */
#include "foo.h"
SInt16 foo(const SInt16 x, const SInt64 *xArr, SWord16 *z,
SInt16 *zArr, SInt64 *yArr)
{
const SInt16 s0 = x;
const SInt64 s1 = xArr[0];
const SInt64 s2 = xArr[1];
const SInt64 s3 = xArr[2];
const SInt64 s4 = xArr[3];
const SInt64 s5 = xArr[4];
const SInt64 s6 = xArr[5];
const SInt64 s7 = xArr[6];
const SInt64 s8 = xArr[7];
const SInt64 s9 = xArr[8];
const SInt64 s10 = xArr[9];
const SInt64 s11 = xArr[10];
const SInt64 s12 = xArr[11];
const SInt64 s13 = xArr[12];
const SInt64 s14 = xArr[13];
const SInt64 s15 = xArr[14];
const SInt64 s16 = xArr[15];
const SInt64 s17 = xArr[16];
const SInt64 s18 = xArr[17];
const SInt64 s19 = xArr[18];
const SInt64 s20 = xArr[19];
const SInt64 s21 = xArr[20];
const SInt64 s22 = xArr[21];
const SInt64 s23 = xArr[22];
const SInt64 s24 = xArr[23];
const SInt64 s25 = xArr[24];
const SInt64 s26 = xArr[25];
const SInt64 s27 = xArr[26];
const SInt64 s28 = xArr[27];
const SInt64 s29 = xArr[28];
const SInt64 s30 = xArr[29];
const SInt64 s31 = xArr[30];
const SInt64 s32 = xArr[31];
const SInt64 s33 = xArr[32];
const SInt64 s34 = xArr[33];
const SInt64 s35 = xArr[34];
const SInt64 s36 = xArr[35];
const SInt64 s37 = xArr[36];
const SInt64 s38 = xArr[37];
const SInt64 s39 = xArr[38];
const SInt64 s40 = xArr[39];
const SInt64 s41 = xArr[40];
const SInt64 s42 = xArr[41];
const SInt64 s43 = xArr[42];
const SInt64 s44 = xArr[43];
const SInt64 s45 = xArr[44];
const SInt16 s48 = s0 + 0x0001;
const SInt16 s50 = s0 * 0x0002;
*z = 0x0005U;
zArr[0] = s48;
zArr[1] = s48;
zArr[2] = s48;
zArr[3] = s48;
zArr[4] = s48;
zArr[5] = s48;
zArr[6] = s48;
yArr[0] = s1;
yArr[1] = s2;
yArr[2] = s3;
yArr[3] = s4;
yArr[4] = s5;
yArr[5] = s6;
yArr[6] = s7;
yArr[7] = s8;
yArr[8] = s9;
yArr[9] = s10;
yArr[10] = s11;
yArr[11] = s12;
yArr[12] = s13;
yArr[13] = s14;
yArr[14] = s15;
yArr[15] = s16;
yArr[16] = s17;
yArr[17] = s18;
yArr[18] = s19;
yArr[19] = s20;
yArr[20] = s21;
yArr[21] = s22;
yArr[22] = s23;
yArr[23] = s24;
yArr[24] = s25;
yArr[25] = s26;
yArr[26] = s27;
yArr[27] = s28;
yArr[28] = s29;
yArr[29] = s30;
yArr[30] = s31;
yArr[31] = s32;
yArr[32] = s33;
yArr[33] = s34;
yArr[34] = s35;
yArr[35] = s36;
yArr[36] = s37;
yArr[37] = s38;
yArr[38] = s39;
yArr[39] = s40;
yArr[40] = s41;
yArr[41] = s42;
yArr[42] = s43;
yArr[43] = s44;
yArr[44] = s45;
return s50;
}
== END: "foo.c" ==================