0000: 23 69 66 6e 64 65 66 20 5f 74 65 73 74 73 5f 63 #ifndef _tests_c
0010: 09 09 09 09 2f 2a 2d 2a 2d 20 43 20 2d 2a 2d 2a ..../*-*- C -*-*
0020: 2f 0a 23 64 65 66 69 6e 65 20 5f 74 65 73 74 73 /.#define _tests
0030: 5f 63 0a 2f 2a 2a 0a 20 20 43 6f 70 79 72 69 67 _c./**. Copyrig
0040: 68 74 20 31 39 39 33 20 42 69 6c 6c 20 54 72 69 ht 1993 Bill Tri
0050: 67 67 73 2c 20 3c 42 69 6c 6c 2e 54 72 69 67 67 ggs, <Bill.Trigg
0060: 73 40 69 6e 72 69 61 6c 70 65 73 2e 66 72 3e 0a s@inrialpes.fr>.
0070: 20 20 43 6f 70 79 72 69 67 68 74 20 31 39 39 35 Copyright 1995
0080: 2d 31 39 39 39 2c 20 32 30 30 31 2d 32 30 30 32 -1999, 2001-2002
0090: 2c 20 32 30 30 35 20 42 72 75 6e 6f 20 48 61 69 , 2005 Bruno Hai
00a0: 62 6c 65 2c 20 3c 62 72 75 6e 6f 40 63 6c 69 73 ble, <bruno@clis
00b0: 70 2e 6f 72 67 3e 0a 0a 20 20 54 68 69 73 20 69 p.org>.. This i
00c0: 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 s free software
00d0: 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 distributed unde
00e0: 72 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 r the GNU Genera
00f0: 6c 20 50 75 62 6c 69 63 0a 20 20 4c 69 63 65 6e l Public. Licen
0100: 63 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 ce described in
0110: 74 68 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 the file COPYING
0120: 2e 20 43 6f 6e 74 61 63 74 20 74 68 65 20 61 75 . Contact the au
0130: 74 68 6f 72 20 69 66 0a 20 20 79 6f 75 20 64 6f thor if. you do
0140: 6e 27 74 20 68 61 76 65 20 74 68 69 73 20 6f 72 n't have this or
0150: 20 63 61 6e 27 74 20 6c 69 76 65 20 77 69 74 68 can't live with
0160: 20 69 74 2e 20 54 68 65 72 65 20 69 73 20 41 42 it. There is AB
0170: 53 4f 4c 55 54 45 4c 59 0a 20 20 4e 4f 20 57 41 SOLUTELY. NO WA
0180: 52 52 41 4e 54 59 2c 20 65 78 70 6c 69 63 69 74 RRANTY, explicit
0190: 20 6f 72 20 69 6d 70 6c 69 65 64 2c 20 6f 6e 20 or implied, on
01a0: 74 68 69 73 20 73 6f 66 74 77 61 72 65 2e 0a 2a this software..*
01b0: 2a 2f 0a 2f 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d */./*-----------
01c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 53 6f -----------. So
0200: 6d 65 20 74 65 73 74 20 72 6f 75 74 69 6e 65 73 me test routines
0210: 20 66 6f 72 20 61 76 63 61 6c 6c 20 66 6f 72 65 for avcall fore
0220: 69 67 6e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 ign function int
0230: 65 72 66 61 63 65 2e 0a 20 20 54 68 65 20 63 6f erface.. The co
0240: 76 65 72 61 67 65 20 69 73 20 65 6e 74 69 72 65 verage is entire
0250: 6c 79 20 72 61 6e 64 6f 6d 2c 20 74 68 69 73 20 ly random, this
0260: 6a 75 73 74 20 63 6f 6e 74 61 69 6e 73 20 73 6f just contains so
0270: 6d 65 20 6f 66 20 74 68 65 20 74 68 69 6e 67 73 me of the things
0280: 0a 20 20 74 68 61 74 20 49 20 74 68 69 6e 6b 20 . that I think
0290: 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 62 72 are likely to br
02a0: 65 61 6b 2e 0a 0a 20 20 57 65 20 72 65 61 6c 6c eak... We reall
02b0: 79 20 6e 65 65 64 20 74 6f 20 61 64 64 20 73 6f y need to add so
02c0: 6d 65 20 6d 6f 72 65 20 70 6f 69 6e 74 65 72 20 me more pointer
02d0: 28 76 6f 69 64 2a 20 2f 20 63 68 61 72 2a 20 2f (void* / char* /
02e0: 20 66 75 6e 63 2a 29 20 74 65 73 74 73 0a 20 20 func*) tests.
02f0: 61 6e 64 20 73 6f 6d 65 20 76 61 72 61 72 67 73 and some varargs
0300: 20 6f 6e 65 73 2c 20 61 6e 64 20 61 6c 73 6f 20 ones, and also
0310: 74 72 79 20 74 6f 20 74 65 73 74 20 73 74 72 75 try to test stru
0320: 63 74 75 72 65 20 61 6c 69 67 6e 6d 65 6e 74 20 cture alignment
0330: 6d 6f 72 65 0a 20 20 74 68 72 6f 75 67 68 6c 79 more. throughly
0340: 2e 0a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .. -------------
0350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0360: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2a 2f 0a 23 69 6e 63 ---------*/.#inc
0390: 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 0a lude "config.h".
03a0: 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e #include <stdio.
03b0: 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 h>.#include <std
03c0: 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 lib.h>.#include
03d0: 3c 73 74 72 69 6e 67 2e 68 3e 0a 23 69 6e 63 6c <string.h>.#incl
03e0: 75 64 65 20 22 61 76 63 61 6c 6c 2e 68 22 0a 46 ude "avcall.h".F
03f0: 49 4c 45 2a 20 6f 75 74 3b 0a 0a 23 69 66 20 64 ILE* out;..#if d
0400: 65 66 69 6e 65 64 28 5f 5f 68 70 70 61 5f 5f 29 efined(__hppa__)
0410: 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f 47 4e && defined(__GN
0420: 55 43 5f 5f 29 0a 23 69 66 20 28 5f 5f 47 4e 55 UC__).#if (__GNU
0430: 43 5f 5f 20 3d 3d 20 32 20 26 26 20 5f 5f 47 4e C__ == 2 && __GN
0440: 55 43 5f 4d 49 4e 4f 52 5f 5f 20 3c 20 36 29 0a UC_MINOR__ < 6).
0450: 2f 2a 20 67 63 63 2d 32 2e 35 2e 32 20 62 75 67 /* gcc-2.5.2 bug
0460: 73 20 70 72 65 76 65 6e 74 20 74 68 65 20 54 20 s prevent the T
0470: 74 65 73 74 20 66 72 6f 6d 20 77 6f 72 6b 69 6e test from workin
0480: 67 2e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 4b g. */.#define SK
0490: 49 50 5f 54 0a 23 65 6e 64 69 66 0a 23 65 6e 64 IP_T.#endif.#end
04a0: 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f if.#if defined(_
04b0: 5f 6d 36 38 6b 5f 5f 29 20 26 26 20 64 65 66 69 _m68k__) && defi
04c0: 6e 65 64 28 5f 5f 47 4e 55 43 5f 5f 29 0a 2f 2a ned(__GNUC__)./*
04d0: 20 22 67 63 63 2d 32 2e 36 2e 33 20 2d 66 72 65 "gcc-2.6.3 -fre
04e0: 67 2d 73 74 72 75 63 74 2d 72 65 74 75 72 6e 22 g-struct-return"
04f0: 20 72 65 74 75 72 6e 73 20 20 54 20 3d 20 73 74 returns T = st
0500: 72 75 63 74 20 7b 20 63 68 61 72 20 63 5b 33 5d ruct { char c[3]
0510: 3b 20 7d 20 20 28 77 68 69 63 68 0a 20 2a 20 68 ; } (which. * h
0520: 61 73 20 73 69 7a 65 20 34 20 21 29 20 69 6e 20 as size 4 !) in
0530: 6d 65 6d 6f 72 79 2c 20 69 6e 20 63 6f 6e 74 72 memory, in contr
0540: 61 73 74 20 74 6f 20 20 73 74 72 75 63 74 20 7b ast to struct {
0550: 20 63 68 61 72 20 61 2c 62 2c 63 3b 20 7d 20 20 char a,b,c; }
0560: 61 6e 64 0a 20 2a 20 73 74 72 75 63 74 20 7b 20 and. * struct {
0570: 63 68 61 72 20 63 5b 34 5d 3b 20 7d 20 20 61 6e char c[4]; } an
0580: 64 20 20 73 74 72 75 63 74 20 7b 20 63 68 61 72 d struct { char
0590: 20 61 2c 62 2c 63 2c 64 3b 20 7d 20 20 77 68 69 a,b,c,d; } whi
05a0: 63 68 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 ch have the same
05b0: 0a 20 2a 20 73 69 7a 65 20 61 6e 64 20 74 68 65 . * size and the
05c0: 20 73 61 6d 65 20 61 6c 69 67 6e 6d 65 6e 74 20 same alignment
05d0: 62 75 74 20 61 72 65 20 72 65 74 75 72 6e 65 64 but are returned
05e0: 20 69 6e 20 72 65 67 69 73 74 65 72 73 2e 20 49 in registers. I
05f0: 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 79 2e don't know why.
0600: 0a 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 4b 49 . */.#define SKI
0610: 50 5f 54 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 P_T.#endif..#if
0620: 64 65 66 69 6e 65 64 28 41 4d 49 47 41 29 0a 2f defined(AMIGA)./
0630: 2a 20 57 65 20 64 6f 6e 27 74 20 74 65 73 74 20 * We don't test
0640: 70 61 73 73 69 6e 67 20 61 72 67 75 6d 65 6e 74 passing argument
0650: 73 20 69 6e 20 72 65 67 69 73 74 65 72 73 20 79 s in registers y
0660: 65 74 2e 0a 20 2a 20 2d 31 20 6d 65 61 6e 73 20 et.. * -1 means
0670: 70 61 73 73 69 6e 67 20 61 6e 20 61 72 67 75 6d passing an argum
0680: 65 6e 74 20 69 6e 20 74 68 65 20 73 74 61 63 6b ent in the stack
0690: 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 72 65 instead of a re
06a0: 67 69 73 74 65 72 2e 0a 20 2a 2f 0a 23 64 65 66 gister.. */.#def
06b0: 69 6e 65 20 41 56 5f 41 52 47 5f 52 45 47 4e 55 ine AV_ARG_REGNU
06c0: 4d 20 2d 31 0a 23 65 6e 64 69 66 0a 0a 23 64 65 M -1.#endif..#de
06d0: 66 69 6e 65 20 75 63 68 61 72 20 75 6e 73 69 67 fine uchar unsig
06e0: 6e 65 64 20 63 68 61 72 0a 23 64 65 66 69 6e 65 ned char.#define
06f0: 20 75 73 68 6f 72 74 20 75 6e 73 69 67 6e 65 64 ushort unsigned
0700: 20 73 68 6f 72 74 0a 23 64 65 66 69 6e 65 20 75 short.#define u
0710: 69 6e 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 int unsigned int
0720: 0a 23 64 65 66 69 6e 65 20 75 6c 6f 6e 67 20 75 .#define ulong u
0730: 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 0a 0a 74 79 nsigned long..ty
0740: 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 20 63 pedef struct { c
0750: 68 61 72 20 78 3b 20 7d 20 43 68 61 72 3b 0a 74 har x; } Char;.t
0760: 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 20 ypedef struct {
0770: 73 68 6f 72 74 20 78 3b 20 7d 20 53 68 6f 72 74 short x; } Short
0780: 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 ;.typedef struct
0790: 20 7b 20 69 6e 74 20 78 3b 20 7d 20 49 6e 74 3b { int x; } Int;
07a0: 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 .typedef struct
07b0: 7b 20 6c 6f 6e 67 20 78 3b 20 7d 20 4c 6f 6e 67 { long x; } Long
07c0: 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 ;.typedef struct
07d0: 20 7b 20 66 6c 6f 61 74 20 78 3b 20 7d 20 46 6c { float x; } Fl
07e0: 6f 61 74 3b 0a 74 79 70 65 64 65 66 20 73 74 72 oat;.typedef str
07f0: 75 63 74 20 7b 20 64 6f 75 62 6c 65 20 78 3b 20 uct { double x;
0800: 7d 20 44 6f 75 62 6c 65 3b 0a 74 79 70 65 64 65 } Double;.typede
0810: 66 20 73 74 72 75 63 74 20 7b 20 63 68 61 72 20 f struct { char
0820: 63 3b 20 66 6c 6f 61 74 20 66 3b 20 7d 20 41 3b c; float f; } A;
0830: 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 .typedef struct
0840: 7b 20 64 6f 75 62 6c 65 20 64 3b 20 69 6e 74 20 { double d; int
0850: 69 5b 33 5d 3b 20 7d 20 42 3b 0a 74 79 70 65 64 i[3]; } B;.typed
0860: 65 66 20 73 74 72 75 63 74 20 7b 20 6c 6f 6e 67 ef struct { long
0870: 20 6c 31 3b 20 6c 6f 6e 67 20 6c 32 3b 20 7d 20 l1; long l2; }
0880: 4a 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 J;.typedef struc
0890: 74 20 7b 20 63 68 61 72 20 63 5b 33 5d 3b 20 7d t { char c[3]; }
08a0: 20 54 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 T;.typedef stru
08b0: 63 74 20 7b 20 63 68 61 72 20 63 5b 33 33 5d 2c ct { char c[33],
08c0: 63 31 3b 20 7d 20 58 3b 0a 0a 63 68 61 72 20 63 c1; } X;..char c
08d0: 31 3d 27 61 27 2c 20 63 32 3d 31 32 37 2c 20 63 1='a', c2=127, c
08e0: 33 3d 28 63 68 61 72 29 31 32 38 2c 20 63 34 3d 3=(char)128, c4=
08f0: 28 63 68 61 72 29 32 35 35 2c 20 63 35 3d 2d 31 (char)255, c5=-1
0900: 3b 0a 73 68 6f 72 74 20 73 31 3d 33 32 37 36 37 ;.short s1=32767
0910: 2c 20 73 32 3d 28 73 68 6f 72 74 29 33 32 37 36 , s2=(short)3276
0920: 38 2c 20 73 33 3d 33 2c 20 73 34 3d 34 2c 20 73 8, s3=3, s4=4, s
0930: 35 3d 35 2c 20 73 36 3d 36 2c 20 73 37 3d 37 2c 5=5, s6=6, s7=7,
0940: 20 73 38 3d 38 2c 20 73 39 3d 39 3b 0a 69 6e 74 s8=8, s9=9;.int
0950: 20 69 31 3d 31 2c 20 69 32 3d 32 2c 20 69 33 3d i1=1, i2=2, i3=
0960: 33 2c 20 69 34 3d 34 2c 20 69 35 3d 35 2c 20 69 3, i4=4, i5=5, i
0970: 36 3d 36 2c 20 69 37 3d 37 2c 20 69 38 3d 38 2c 6=6, i7=7, i8=8,
0980: 20 69 39 3d 39 2c 0a 20 20 20 20 69 31 30 3d 31 i9=9,. i10=1
0990: 31 2c 20 69 31 31 3d 31 32 2c 20 69 31 32 3d 31 1, i11=12, i12=1
09a0: 33 2c 20 69 31 33 3d 31 34 2c 20 69 31 34 3d 31 3, i13=14, i14=1
09b0: 35 2c 20 69 31 35 3d 31 36 2c 20 69 31 36 3d 31 5, i15=16, i16=1
09c0: 37 3b 0a 6c 6f 6e 67 20 6c 31 3d 31 2c 20 6c 32 7;.long l1=1, l2
09d0: 3d 32 2c 20 6c 33 3d 33 2c 20 6c 34 3d 34 2c 20 =2, l3=3, l4=4,
09e0: 6c 35 3d 35 2c 20 6c 36 3d 36 2c 20 6c 37 3d 37 l5=5, l6=6, l7=7
09f0: 2c 20 6c 38 3d 38 2c 20 6c 39 3d 39 3b 0a 23 69 , l8=8, l9=9;.#i
0a00: 66 64 65 66 20 48 41 56 45 5f 4c 4f 4e 47 5f 4c fdef HAVE_LONG_L
0a10: 4f 4e 47 5f 49 4e 54 0a 6c 6f 6e 67 20 6c 6f 6e ONG_INT.long lon
0a20: 67 20 6c 6c 31 20 3d 20 33 38 37 35 30 35 36 31 g ll1 = 38750561
0a30: 34 33 31 33 30 36 38 39 35 33 30 4c 4c 3b 0a 23 43130689530LL;.#
0a40: 65 6e 64 69 66 0a 66 6c 6f 61 74 20 66 31 3d 30 endif.float f1=0
0a50: 2e 31 2c 20 66 32 3d 30 2e 32 2c 20 66 33 3d 30 .1, f2=0.2, f3=0
0a60: 2e 33 2c 20 66 34 3d 30 2e 34 2c 20 66 35 3d 30 .3, f4=0.4, f5=0
0a70: 2e 35 2c 20 66 36 3d 30 2e 36 2c 20 66 37 3d 30 .5, f6=0.6, f7=0
0a80: 2e 37 2c 20 66 38 3d 30 2e 38 2c 20 66 39 3d 30 .7, f8=0.8, f9=0
0a90: 2e 39 2c 0a 20 20 20 20 20 20 66 31 30 3d 31 2e .9,. f10=1.
0aa0: 31 2c 20 66 31 31 3d 31 2e 32 2c 20 66 31 32 3d 1, f11=1.2, f12=
0ab0: 31 2e 33 2c 20 66 31 33 3d 31 2e 34 2c 20 66 31 1.3, f13=1.4, f1
0ac0: 34 3d 31 2e 35 2c 20 66 31 35 3d 31 2e 36 2c 20 4=1.5, f15=1.6,
0ad0: 66 31 36 3d 31 2e 37 3b 0a 64 6f 75 62 6c 65 20 f16=1.7;.double
0ae0: 64 31 3d 30 2e 31 2c 20 64 32 3d 30 2e 32 2c 20 d1=0.1, d2=0.2,
0af0: 64 33 3d 30 2e 33 2c 20 64 34 3d 30 2e 34 2c 20 d3=0.3, d4=0.4,
0b00: 64 35 3d 30 2e 35 2c 20 64 36 3d 30 2e 36 2c 20 d5=0.5, d6=0.6,
0b10: 64 37 3d 30 2e 37 2c 20 64 38 3d 30 2e 38 2c 20 d7=0.7, d8=0.8,
0b20: 64 39 3d 30 2e 39 2c 0a 20 20 20 20 20 20 20 64 d9=0.9,. d
0b30: 31 30 3d 31 2e 31 2c 20 64 31 31 3d 31 2e 32 2c 10=1.1, d11=1.2,
0b40: 20 64 31 32 3d 31 2e 33 2c 20 64 31 33 3d 31 2e d12=1.3, d13=1.
0b50: 34 2c 20 64 31 34 3d 31 2e 35 2c 20 64 31 35 3d 4, d14=1.5, d15=
0b60: 31 2e 36 2c 20 64 31 36 3d 31 2e 37 3b 0a 0a 75 1.6, d16=1.7;..u
0b70: 63 68 61 72 20 75 63 31 3d 27 61 27 2c 20 75 63 char uc1='a', uc
0b80: 32 3d 31 32 37 2c 20 75 63 33 3d 31 32 38 2c 20 2=127, uc3=128,
0b90: 75 63 34 3d 32 35 35 2c 20 75 63 35 3d 28 75 63 uc4=255, uc5=(uc
0ba0: 68 61 72 29 2d 31 3b 0a 75 73 68 6f 72 74 20 75 har)-1;.ushort u
0bb0: 73 31 3d 31 2c 20 75 73 32 3d 32 2c 20 75 73 33 s1=1, us2=2, us3
0bc0: 3d 33 2c 20 75 73 34 3d 34 2c 20 75 73 35 3d 35 =3, us4=4, us5=5
0bd0: 2c 20 75 73 36 3d 36 2c 20 75 73 37 3d 37 2c 20 , us6=6, us7=7,
0be0: 75 73 38 3d 38 2c 20 75 73 39 3d 39 3b 0a 75 69 us8=8, us9=9;.ui
0bf0: 6e 74 20 75 69 31 3d 31 2c 20 75 69 32 3d 32 2c nt ui1=1, ui2=2,
0c00: 20 75 69 33 3d 33 2c 20 75 69 34 3d 34 2c 20 75 ui3=3, ui4=4, u
0c10: 69 35 3d 35 2c 20 75 69 36 3d 36 2c 20 75 69 37 i5=5, ui6=6, ui7
0c20: 3d 37 2c 20 75 69 38 3d 38 2c 20 75 69 39 3d 39 =7, ui8=8, ui9=9
0c30: 3b 0a 75 6c 6f 6e 67 20 75 6c 31 3d 31 2c 20 75 ;.ulong ul1=1, u
0c40: 6c 32 3d 32 2c 20 75 6c 33 3d 33 2c 20 75 6c 34 l2=2, ul3=3, ul4
0c50: 3d 34 2c 20 75 6c 35 3d 35 2c 20 75 6c 36 3d 36 =4, ul5=5, ul6=6
0c60: 2c 20 75 6c 37 3d 37 2c 20 75 6c 38 3d 38 2c 20 , ul7=7, ul8=8,
0c70: 75 6c 39 3d 39 3b 0a 0a 63 68 61 72 20 2a 73 74 ul9=9;..char *st
0c80: 72 31 3d 22 68 65 6c 6c 6f 22 2c 73 74 72 32 5b r1="hello",str2[
0c90: 5d 3d 22 67 6f 6f 64 62 79 65 22 2c 2a 73 74 72 ]="goodbye",*str
0ca0: 33 3d 22 73 74 69 6c 6c 20 68 65 72 65 3f 22 3b 3="still here?";
0cb0: 0a 43 68 61 72 20 43 31 3d 7b 27 41 27 7d 2c 20 .Char C1={'A'},
0cc0: 43 32 3d 7b 27 42 27 7d 2c 20 43 33 3d 7b 27 43 C2={'B'}, C3={'C
0cd0: 27 7d 2c 20 43 34 3d 7b 27 5c 33 37 37 27 7d 2c '}, C4={'\377'},
0ce0: 20 43 35 3d 7b 2d 31 7d 3b 0a 53 68 6f 72 74 20 C5={-1};.Short
0cf0: 53 31 3d 7b 31 7d 2c 20 53 32 3d 7b 32 7d 2c 20 S1={1}, S2={2},
0d00: 53 33 3d 7b 33 7d 2c 20 53 34 3d 7b 34 7d 2c 20 S3={3}, S4={4},
0d10: 53 35 3d 7b 35 7d 2c 20 53 36 3d 7b 36 7d 2c 20 S5={5}, S6={6},
0d20: 53 37 3d 7b 37 7d 2c 20 53 38 3d 7b 38 7d 2c 20 S7={7}, S8={8},
0d30: 53 39 3d 7b 39 7d 3b 0a 49 6e 74 20 49 31 3d 7b S9={9};.Int I1={
0d40: 31 7d 2c 20 49 32 3d 7b 32 7d 2c 20 49 33 3d 7b 1}, I2={2}, I3={
0d50: 33 7d 2c 20 49 34 3d 7b 34 7d 2c 20 49 35 3d 7b 3}, I4={4}, I5={
0d60: 35 7d 2c 20 49 36 3d 7b 36 7d 2c 20 49 37 3d 7b 5}, I6={6}, I7={
0d70: 37 7d 2c 20 49 38 3d 7b 38 7d 2c 20 49 39 3d 7b 7}, I8={8}, I9={
0d80: 39 7d 3b 0a 46 6c 6f 61 74 20 46 31 3d 7b 30 2e 9};.Float F1={0.
0d90: 31 7d 2c 20 46 32 3d 7b 30 2e 32 7d 2c 20 46 33 1}, F2={0.2}, F3
0da0: 3d 7b 30 2e 33 7d 2c 20 46 34 3d 7b 30 2e 34 7d ={0.3}, F4={0.4}
0db0: 2c 20 46 35 3d 7b 30 2e 35 7d 2c 20 46 36 3d 7b , F5={0.5}, F6={
0dc0: 30 2e 36 7d 2c 20 46 37 3d 7b 30 2e 37 7d 2c 20 0.6}, F7={0.7},
0dd0: 46 38 3d 7b 30 2e 38 7d 2c 20 46 39 3d 7b 30 2e F8={0.8}, F9={0.
0de0: 39 7d 3b 0a 44 6f 75 62 6c 65 20 44 31 3d 7b 30 9};.Double D1={0
0df0: 2e 31 7d 2c 20 44 32 3d 7b 30 2e 32 7d 2c 20 44 .1}, D2={0.2}, D
0e00: 33 3d 7b 30 2e 33 7d 2c 20 44 34 3d 7b 30 2e 34 3={0.3}, D4={0.4
0e10: 7d 2c 20 44 35 3d 7b 30 2e 35 7d 2c 20 44 36 3d }, D5={0.5}, D6=
0e20: 7b 30 2e 36 7d 2c 20 44 37 3d 7b 30 2e 37 7d 2c {0.6}, D7={0.7},
0e30: 20 44 38 3d 7b 30 2e 38 7d 2c 20 44 39 3d 7b 30 D8={0.8}, D9={0
0e40: 2e 39 7d 3b 0a 0a 41 20 41 31 3d 7b 27 61 27 2c .9};..A A1={'a',
0e50: 30 2e 31 7d 2c 41 32 3d 7b 27 62 27 2c 30 2e 32 0.1},A2={'b',0.2
0e60: 7d 2c 41 33 3d 7b 27 5c 33 37 37 27 2c 30 2e 33 },A3={'\377',0.3
0e70: 7d 3b 0a 42 20 42 31 3d 7b 30 2e 31 2c 7b 31 2c };.B B1={0.1,{1,
0e80: 32 2c 33 7d 7d 2c 42 32 3d 7b 30 2e 32 2c 7b 35 2,3}},B2={0.2,{5
0e90: 2c 34 2c 33 7d 7d 3b 0a 4a 20 4a 31 3d 7b 34 37 ,4,3}};.J J1={47
0ea0: 2c 31 31 7d 2c 4a 32 3d 7b 37 33 2c 35 35 7d 3b ,11},J2={73,55};
0eb0: 0a 54 20 54 31 3d 7b 27 74 27 2c 27 68 27 2c 27 .T T1={'t','h','
0ec0: 65 27 7d 2c 54 32 3d 7b 27 66 27 2c 27 6f 27 2c e'},T2={'f','o',
0ed0: 27 78 27 7d 3b 0a 58 20 58 31 3d 7b 22 61 62 63 'x'};.X X1={"abc
0ee0: 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 defghijklmnopqrs
0ef0: 74 75 76 77 78 79 7a 41 42 43 44 45 46 22 2c 27 tuvwxyzABCDEF",'
0f00: 47 27 7d 2c 20 58 32 3d 7b 22 31 32 33 22 2c 27 G'}, X2={"123",'
0f10: 39 27 7d 2c 20 58 33 3d 7b 22 72 65 74 75 72 6e 9'}, X3={"return
0f20: 2d 72 65 74 75 72 6e 2d 72 65 74 75 72 6e 22 2c -return-return",
0f30: 27 52 27 7d 3b 0a 0a 76 6f 69 64 20 76 5f 76 20 'R'};..void v_v
0f40: 28 76 6f 69 64 29 0a 7b 0a 20 20 66 70 72 69 6e (void).{. fprin
0f50: 74 66 28 6f 75 74 2c 22 76 6f 69 64 20 66 28 76 tf(out,"void f(v
0f60: 6f 69 64 29 3a 5c 6e 22 29 3b 0a 20 20 66 66 6c oid):\n");. ffl
0f70: 75 73 68 28 6f 75 74 29 3b 0a 7d 0a 69 6e 74 20 ush(out);.}.int
0f80: 69 5f 76 20 28 76 6f 69 64 29 0a 7b 0a 20 20 69 i_v (void).{. i
0f90: 6e 74 20 72 3d 39 39 3b 0a 20 20 66 70 72 69 6e nt r=99;. fprin
0fa0: 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 28 76 6f tf(out,"int f(vo
0fb0: 69 64 29 3a 22 29 3b 0a 20 20 66 66 6c 75 73 68 id):");. fflush
0fc0: 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 (out);. return
0fd0: 72 3b 0a 7d 0a 69 6e 74 20 69 5f 69 20 28 69 6e r;.}.int i_i (in
0fe0: 74 20 61 29 0a 7b 0a 20 20 69 6e 74 20 72 3d 61 t a).{. int r=a
0ff0: 2b 31 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 +1;. fprintf(ou
1000: 74 2c 22 69 6e 74 20 66 28 69 6e 74 29 3a 28 25 t,"int f(int):(%
1010: 64 29 22 2c 61 29 3b 0a 20 20 66 66 6c 75 73 68 d)",a);. fflush
1020: 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 (out);. return
1030: 72 3b 0a 7d 0a 69 6e 74 20 69 5f 69 32 20 28 69 r;.}.int i_i2 (i
1040: 6e 74 20 61 2c 20 69 6e 74 20 62 29 0a 7b 0a 20 nt a, int b).{.
1050: 20 69 6e 74 20 72 3d 61 2b 62 3b 0a 20 20 66 70 int r=a+b;. fp
1060: 72 69 6e 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 rintf(out,"int f
1070: 28 32 2a 69 6e 74 29 3a 28 25 64 2c 25 64 29 22 (2*int):(%d,%d)"
1080: 2c 61 2c 62 29 3b 0a 20 20 66 66 6c 75 73 68 28 ,a,b);. fflush(
1090: 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 out);. return r
10a0: 3b 0a 7d 0a 69 6e 74 20 69 5f 69 34 20 28 69 6e ;.}.int i_i4 (in
10b0: 74 20 61 2c 20 69 6e 74 20 62 2c 20 69 6e 74 20 t a, int b, int
10c0: 63 2c 20 69 6e 74 20 64 29 0a 7b 0a 20 20 69 6e c, int d).{. in
10d0: 74 20 72 3d 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 t r=a+b+c+d;. f
10e0: 70 72 69 6e 74 66 28 6f 75 74 2c 22 69 6e 74 20 printf(out,"int
10f0: 66 28 34 2a 69 6e 74 29 3a 28 25 64 2c 25 64 2c f(4*int):(%d,%d,
1100: 25 64 2c 25 64 29 22 2c 61 2c 62 2c 63 2c 64 29 %d,%d)",a,b,c,d)
1110: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
1120: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 69 . return r;.}.i
1130: 6e 74 20 69 5f 69 38 20 28 69 6e 74 20 61 2c 20 nt i_i8 (int a,
1140: 69 6e 74 20 62 2c 20 69 6e 74 20 63 2c 20 69 6e int b, int c, in
1150: 74 20 64 2c 20 69 6e 74 20 65 2c 20 69 6e 74 20 t d, int e, int
1160: 66 2c 20 69 6e 74 20 67 2c 20 69 6e 74 20 68 29 f, int g, int h)
1170: 0a 7b 0a 20 20 69 6e 74 20 72 3d 61 2b 62 2b 63 .{. int r=a+b+c
1180: 2b 64 2b 65 2b 66 2b 67 2b 68 3b 0a 20 20 66 70 +d+e+f+g+h;. fp
1190: 72 69 6e 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 rintf(out,"int f
11a0: 28 38 2a 69 6e 74 29 3a 28 25 64 2c 25 64 2c 25 (8*int):(%d,%d,%
11b0: 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 d,%d,%d,%d,%d,%d
11c0: 29 22 2c 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 )",a,b,c,d,e,f,g
11d0: 2c 68 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ,h);. fflush(ou
11e0: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
11f0: 7d 0a 69 6e 74 20 69 5f 69 31 36 20 28 69 6e 74 }.int i_i16 (int
1200: 20 61 2c 20 69 6e 74 20 62 2c 20 69 6e 74 20 63 a, int b, int c
1210: 2c 20 69 6e 74 20 64 2c 20 69 6e 74 20 65 2c 20 , int d, int e,
1220: 69 6e 74 20 66 2c 20 69 6e 74 20 67 2c 20 69 6e int f, int g, in
1230: 74 20 68 2c 0a 09 20 20 20 69 6e 74 20 69 2c 20 t h,.. int i,
1240: 69 6e 74 20 6a 2c 20 69 6e 74 20 6b 2c 20 69 6e int j, int k, in
1250: 74 20 6c 2c 20 69 6e 74 20 6d 2c 20 69 6e 74 20 t l, int m, int
1260: 6e 2c 20 69 6e 74 20 6f 2c 20 69 6e 74 20 70 29 n, int o, int p)
1270: 0a 7b 0a 20 20 69 6e 74 20 72 3d 61 2b 62 2b 63 .{. int r=a+b+c
1280: 2b 64 2b 65 2b 66 2b 67 2b 68 2b 69 2b 6a 2b 6b +d+e+f+g+h+i+j+k
1290: 2b 6c 2b 6d 2b 6e 2b 6f 2b 70 3b 0a 20 20 66 70 +l+m+n+o+p;. fp
12a0: 72 69 6e 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 rintf(out,"int f
12b0: 28 31 36 2a 69 6e 74 29 3a 28 25 64 2c 25 64 2c (16*int):(%d,%d,
12c0: 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 %d,%d,%d,%d,%d,%
12d0: 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 d,%d,%d,%d,%d,%d
12e0: 2c 25 64 2c 25 64 2c 25 64 29 22 2c 0a 09 20 20 ,%d,%d,%d)",..
12f0: 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 2c 68 2c a,b,c,d,e,f,g,h,
1300: 69 2c 6a 2c 6b 2c 6c 2c 6d 2c 6e 2c 6f 2c 70 29 i,j,k,l,m,n,o,p)
1310: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
1320: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a . return r;.}..
1330: 66 6c 6f 61 74 20 66 5f 66 20 28 66 6c 6f 61 74 float f_f (float
1340: 20 61 29 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 3d a).{. float r=
1350: 61 2b 31 2e 30 3b 0a 20 20 66 70 72 69 6e 74 66 a+1.0;. fprintf
1360: 28 6f 75 74 2c 22 66 6c 6f 61 74 20 66 28 66 6c (out,"float f(fl
1370: 6f 61 74 29 3a 28 25 67 29 22 2c 61 29 3b 0a 20 oat):(%g)",a);.
1380: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
1390: 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 66 6c 6f 61 return r;.}.floa
13a0: 74 20 66 5f 66 32 20 28 66 6c 6f 61 74 20 61 2c t f_f2 (float a,
13b0: 20 66 6c 6f 61 74 20 62 29 0a 7b 0a 20 20 66 6c float b).{. fl
13c0: 6f 61 74 20 72 3d 61 2b 62 3b 0a 20 20 66 70 72 oat r=a+b;. fpr
13d0: 69 6e 74 66 28 6f 75 74 2c 22 66 6c 6f 61 74 20 intf(out,"float
13e0: 66 28 32 2a 66 6c 6f 61 74 29 3a 28 25 67 2c 25 f(2*float):(%g,%
13f0: 67 29 22 2c 61 2c 62 29 3b 0a 20 20 66 66 6c 75 g)",a,b);. fflu
1400: 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 sh(out);. retur
1410: 6e 20 72 3b 0a 7d 0a 66 6c 6f 61 74 20 66 5f 66 n r;.}.float f_f
1420: 34 20 28 66 6c 6f 61 74 20 61 2c 20 66 6c 6f 61 4 (float a, floa
1430: 74 20 62 2c 20 66 6c 6f 61 74 20 63 2c 20 66 6c t b, float c, fl
1440: 6f 61 74 20 64 29 0a 7b 0a 20 20 66 6c 6f 61 74 oat d).{. float
1450: 20 72 3d 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 r=a+b+c+d;. fp
1460: 72 69 6e 74 66 28 6f 75 74 2c 22 66 6c 6f 61 74 rintf(out,"float
1470: 20 66 28 34 2a 66 6c 6f 61 74 29 3a 28 25 67 2c f(4*float):(%g,
1480: 25 67 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 %g,%g,%g)",a,b,c
1490: 2c 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ,d);. fflush(ou
14a0: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
14b0: 7d 0a 66 6c 6f 61 74 20 66 5f 66 38 20 28 66 6c }.float f_f8 (fl
14c0: 6f 61 74 20 61 2c 20 66 6c 6f 61 74 20 62 2c 20 oat a, float b,
14d0: 66 6c 6f 61 74 20 63 2c 20 66 6c 6f 61 74 20 64 float c, float d
14e0: 2c 20 66 6c 6f 61 74 20 65 2c 20 66 6c 6f 61 74 , float e, float
14f0: 20 66 2c 0a 09 20 20 20 20 66 6c 6f 61 74 20 67 f,.. float g
1500: 2c 20 66 6c 6f 61 74 20 68 29 0a 7b 0a 20 20 66 , float h).{. f
1510: 6c 6f 61 74 20 72 3d 61 2b 62 2b 63 2b 64 2b 65 loat r=a+b+c+d+e
1520: 2b 66 2b 67 2b 68 3b 0a 20 20 66 70 72 69 6e 74 +f+g+h;. fprint
1530: 66 28 6f 75 74 2c 22 66 6c 6f 61 74 20 66 28 38 f(out,"float f(8
1540: 2a 66 6c 6f 61 74 29 3a 28 25 67 2c 25 67 2c 25 *float):(%g,%g,%
1550: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
1560: 29 22 2c 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 )",a,b,c,d,e,f,g
1570: 2c 68 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ,h);. fflush(ou
1580: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
1590: 7d 0a 66 6c 6f 61 74 20 66 5f 66 31 36 20 28 66 }.float f_f16 (f
15a0: 6c 6f 61 74 20 61 2c 20 66 6c 6f 61 74 20 62 2c loat a, float b,
15b0: 20 66 6c 6f 61 74 20 63 2c 20 66 6c 6f 61 74 20 float c, float
15c0: 64 2c 20 66 6c 6f 61 74 20 65 2c 20 66 6c 6f 61 d, float e, floa
15d0: 74 20 66 2c 20 66 6c 6f 61 74 20 67 2c 20 66 6c t f, float g, fl
15e0: 6f 61 74 20 68 2c 0a 09 20 20 20 20 20 66 6c 6f oat h,.. flo
15f0: 61 74 20 69 2c 20 66 6c 6f 61 74 20 6a 2c 20 66 at i, float j, f
1600: 6c 6f 61 74 20 6b 2c 20 66 6c 6f 61 74 20 6c 2c loat k, float l,
1610: 20 66 6c 6f 61 74 20 6d 2c 20 66 6c 6f 61 74 20 float m, float
1620: 6e 2c 20 66 6c 6f 61 74 20 6f 2c 20 66 6c 6f 61 n, float o, floa
1630: 74 20 70 29 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 t p).{. float r
1640: 3d 61 2b 62 2b 63 2b 64 2b 65 2b 66 2b 67 2b 68 =a+b+c+d+e+f+g+h
1650: 2b 69 2b 6a 2b 6b 2b 6c 2b 6d 2b 6e 2b 6f 2b 70 +i+j+k+l+m+n+o+p
1660: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
1670: 22 66 6c 6f 61 74 20 66 28 31 36 2a 66 6c 6f 61 "float f(16*floa
1680: 74 29 3a 28 25 67 2c 25 67 2c 25 67 2c 25 67 2c t):(%g,%g,%g,%g,
1690: 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 %g,%g,%g,%g,%g,%
16a0: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
16b0: 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 2c 65 2c ,%g)",a,b,c,d,e,
16c0: 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c 6d 2c f,g,h,i,j,k,l,m,
16d0: 6e 2c 6f 2c 70 29 3b 0a 20 20 66 66 6c 75 73 68 n,o,p);. fflush
16e0: 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 (out);. return
16f0: 72 3b 0a 7d 0a 0a 64 6f 75 62 6c 65 20 64 5f 64 r;.}..double d_d
1700: 20 28 64 6f 75 62 6c 65 20 61 29 0a 7b 0a 20 20 (double a).{.
1710: 64 6f 75 62 6c 65 20 72 3d 61 2b 31 2e 30 3b 0a double r=a+1.0;.
1720: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 64 fprintf(out,"d
1730: 6f 75 62 6c 65 20 66 28 64 6f 75 62 6c 65 29 3a ouble f(double):
1740: 28 25 67 29 22 2c 61 29 3b 0a 20 20 66 66 6c 75 (%g)",a);. fflu
1750: 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 sh(out);. retur
1760: 6e 20 72 3b 0a 7d 0a 64 6f 75 62 6c 65 20 64 5f n r;.}.double d_
1770: 64 32 20 28 64 6f 75 62 6c 65 20 61 2c 20 64 6f d2 (double a, do
1780: 75 62 6c 65 20 62 29 0a 7b 0a 20 20 64 6f 75 62 uble b).{. doub
1790: 6c 65 20 72 3d 61 2b 62 3b 0a 20 20 66 70 72 69 le r=a+b;. fpri
17a0: 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 ntf(out,"double
17b0: 66 28 32 2a 64 6f 75 62 6c 65 29 3a 28 25 67 2c f(2*double):(%g,
17c0: 25 67 29 22 2c 61 2c 62 29 3b 0a 20 20 66 66 6c %g)",a,b);. ffl
17d0: 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 ush(out);. retu
17e0: 72 6e 20 72 3b 0a 7d 0a 64 6f 75 62 6c 65 20 64 rn r;.}.double d
17f0: 5f 64 34 20 28 64 6f 75 62 6c 65 20 61 2c 20 64 _d4 (double a, d
1800: 6f 75 62 6c 65 20 62 2c 20 64 6f 75 62 6c 65 20 ouble b, double
1810: 63 2c 20 64 6f 75 62 6c 65 20 64 29 0a 7b 0a 20 c, double d).{.
1820: 20 64 6f 75 62 6c 65 20 72 3d 61 2b 62 2b 63 2b double r=a+b+c+
1830: 64 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 d;. fprintf(out
1840: 2c 22 64 6f 75 62 6c 65 20 66 28 34 2a 64 6f 75 ,"double f(4*dou
1850: 62 6c 65 29 3a 28 25 67 2c 25 67 2c 25 67 2c 25 ble):(%g,%g,%g,%
1860: 67 29 22 2c 61 2c 62 2c 63 2c 64 29 3b 0a 20 20 g)",a,b,c,d);.
1870: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 fflush(out);. r
1880: 65 74 75 72 6e 20 72 3b 0a 7d 0a 64 6f 75 62 6c eturn r;.}.doubl
1890: 65 20 64 5f 64 38 20 28 64 6f 75 62 6c 65 20 61 e d_d8 (double a
18a0: 2c 20 64 6f 75 62 6c 65 20 62 2c 20 64 6f 75 62 , double b, doub
18b0: 6c 65 20 63 2c 20 64 6f 75 62 6c 65 20 64 2c 20 le c, double d,
18c0: 64 6f 75 62 6c 65 20 65 2c 20 64 6f 75 62 6c 65 double e, double
18d0: 20 66 2c 0a 09 20 20 20 20 20 64 6f 75 62 6c 65 f,.. double
18e0: 20 67 2c 20 64 6f 75 62 6c 65 20 68 29 0a 7b 0a g, double h).{.
18f0: 20 20 64 6f 75 62 6c 65 20 72 3d 61 2b 62 2b 63 double r=a+b+c
1900: 2b 64 2b 65 2b 66 2b 67 2b 68 3b 0a 20 20 66 70 +d+e+f+g+h;. fp
1910: 72 69 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c rintf(out,"doubl
1920: 65 20 66 28 38 2a 64 6f 75 62 6c 65 29 3a 28 25 e f(8*double):(%
1930: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
1940: 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 ,%g,%g)",a,b,c,d
1950: 2c 65 2c 66 2c 67 2c 68 29 3b 0a 20 20 66 66 6c ,e,f,g,h);. ffl
1960: 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 ush(out);. retu
1970: 72 6e 20 72 3b 0a 7d 0a 64 6f 75 62 6c 65 20 64 rn r;.}.double d
1980: 5f 64 31 36 20 28 64 6f 75 62 6c 65 20 61 2c 20 _d16 (double a,
1990: 64 6f 75 62 6c 65 20 62 2c 20 64 6f 75 62 6c 65 double b, double
19a0: 20 63 2c 20 64 6f 75 62 6c 65 20 64 2c 20 64 6f c, double d, do
19b0: 75 62 6c 65 20 65 2c 20 64 6f 75 62 6c 65 20 66 uble e, double f
19c0: 2c 0a 09 20 20 20 20 20 20 64 6f 75 62 6c 65 20 ,.. double
19d0: 67 2c 20 64 6f 75 62 6c 65 20 68 2c 20 64 6f 75 g, double h, dou
19e0: 62 6c 65 20 69 2c 20 64 6f 75 62 6c 65 20 6a 2c ble i, double j,
19f0: 20 64 6f 75 62 6c 65 20 6b 2c 20 64 6f 75 62 6c double k, doubl
1a00: 65 20 6c 2c 0a 09 20 20 20 20 20 20 64 6f 75 62 e l,.. doub
1a10: 6c 65 20 6d 2c 20 64 6f 75 62 6c 65 20 6e 2c 20 le m, double n,
1a20: 64 6f 75 62 6c 65 20 6f 2c 20 64 6f 75 62 6c 65 double o, double
1a30: 20 70 29 0a 7b 0a 20 20 64 6f 75 62 6c 65 20 72 p).{. double r
1a40: 3d 61 2b 62 2b 63 2b 64 2b 65 2b 66 2b 67 2b 68 =a+b+c+d+e+f+g+h
1a50: 2b 69 2b 6a 2b 6b 2b 6c 2b 6d 2b 6e 2b 6f 2b 70 +i+j+k+l+m+n+o+p
1a60: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
1a70: 22 64 6f 75 62 6c 65 20 66 28 31 36 2a 64 6f 75 "double f(16*dou
1a80: 62 6c 65 29 3a 28 25 67 2c 25 67 2c 25 67 2c 25 ble):(%g,%g,%g,%
1a90: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
1aa0: 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c ,%g,%g,%g,%g,%g,
1ab0: 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 2c %g,%g)",a,b,c,d,
1ac0: 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c e,f,g,h,i,j,k,l,
1ad0: 6d 2c 6e 2c 6f 2c 70 29 3b 0a 20 20 66 66 6c 75 m,n,o,p);. fflu
1ae0: 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 sh(out);. retur
1af0: 6e 20 72 3b 0a 7d 0a 0a 76 6f 69 64 2a 20 76 70 n r;.}..void* vp
1b00: 5f 76 70 64 70 63 70 73 70 20 28 76 6f 69 64 2a _vpdpcpsp (void*
1b10: 20 61 2c 20 64 6f 75 62 6c 65 2a 20 62 2c 20 63 a, double* b, c
1b20: 68 61 72 2a 20 63 2c 20 49 6e 74 2a 20 64 29 0a har* c, Int* d).
1b30: 7b 0a 20 20 76 6f 69 64 2a 20 72 65 74 20 3d 20 {. void* ret =
1b40: 28 63 68 61 72 2a 29 62 20 2b 20 31 3b 0a 20 20 (char*)b + 1;.
1b50: 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 76 6f 69 fprintf(out,"voi
1b60: 64 2a 20 66 28 76 6f 69 64 2a 2c 64 6f 75 62 6c d* f(void*,doubl
1b70: 65 2a 2c 63 68 61 72 2a 2c 49 6e 74 2a 29 3a 28 e*,char*,Int*):(
1b80: 30 78 25 6c 78 2c 30 78 25 6c 78 2c 30 78 25 6c 0x%lx,0x%lx,0x%l
1b90: 78 2c 30 78 25 6c 78 29 22 2c 28 6c 6f 6e 67 29 x,0x%lx)",(long)
1ba0: 61 2c 28 6c 6f 6e 67 29 62 2c 28 6c 6f 6e 67 29 a,(long)b,(long)
1bb0: 63 2c 28 6c 6f 6e 67 29 64 29 3b 0a 20 20 66 66 c,(long)d);. ff
1bc0: 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 lush(out);. ret
1bd0: 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 75 63 68 61 urn ret;.}..ucha
1be0: 72 20 75 63 5f 75 63 73 69 6c 20 28 75 63 68 61 r uc_ucsil (ucha
1bf0: 72 20 61 2c 20 75 73 68 6f 72 74 20 62 2c 20 75 r a, ushort b, u
1c00: 69 6e 74 20 63 2c 20 75 6c 6f 6e 67 20 64 29 0a int c, ulong d).
1c10: 7b 0a 20 20 75 63 68 61 72 20 72 20 3d 20 28 75 {. uchar r = (u
1c20: 63 68 61 72 29 2d 31 3b 0a 20 20 66 70 72 69 6e char)-1;. fprin
1c30: 74 66 28 6f 75 74 2c 22 75 63 68 61 72 20 66 28 tf(out,"uchar f(
1c40: 75 63 68 61 72 2c 75 73 68 6f 72 74 2c 75 69 6e uchar,ushort,uin
1c50: 74 2c 75 6c 6f 6e 67 29 3a 28 25 75 2c 25 75 2c t,ulong):(%u,%u,
1c60: 25 75 2c 25 6c 75 29 22 2c 61 2c 62 2c 63 2c 64 %u,%lu)",a,b,c,d
1c70: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
1c80: 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a ;. return r;.}.
1c90: 0a 64 6f 75 62 6c 65 20 64 5f 69 69 64 64 20 28 .double d_iidd (
1ca0: 69 6e 74 20 61 2c 20 69 6e 74 20 62 2c 20 64 6f int a, int b, do
1cb0: 75 62 6c 65 20 63 2c 20 64 6f 75 62 6c 65 20 64 uble c, double d
1cc0: 29 0a 7b 0a 20 20 64 6f 75 62 6c 65 20 72 20 3d ).{. double r =
1cd0: 20 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 72 69 a+b+c+d;. fpri
1ce0: 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 ntf(out,"double
1cf0: 66 28 69 6e 74 2c 69 6e 74 2c 64 6f 75 62 6c 65 f(int,int,double
1d00: 2c 64 6f 75 62 6c 65 29 3a 28 25 64 2c 25 64 2c ,double):(%d,%d,
1d10: 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 29 %g,%g)",a,b,c,d)
1d20: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
1d30: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 64 . return r;.}.d
1d40: 6f 75 62 6c 65 20 64 5f 69 64 69 64 20 28 69 6e ouble d_idid (in
1d50: 74 20 61 2c 20 64 6f 75 62 6c 65 20 62 2c 20 69 t a, double b, i
1d60: 6e 74 20 63 2c 20 64 6f 75 62 6c 65 20 64 29 0a nt c, double d).
1d70: 7b 0a 20 20 64 6f 75 62 6c 65 20 72 20 3d 20 61 {. double r = a
1d80: 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 72 69 6e 74 +b+c+d;. fprint
1d90: 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 66 28 f(out,"double f(
1da0: 69 6e 74 2c 64 6f 75 62 6c 65 2c 69 6e 74 2c 64 int,double,int,d
1db0: 6f 75 62 6c 65 29 3a 28 25 64 2c 25 67 2c 25 64 ouble):(%d,%g,%d
1dc0: 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 29 3b 0a ,%g)",a,b,c,d);.
1dd0: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 fflush(out);.
1de0: 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 75 73 68 return r;.}.ush
1df0: 6f 72 74 20 75 73 5f 63 64 63 64 20 28 63 68 61 ort us_cdcd (cha
1e00: 72 20 61 2c 20 64 6f 75 62 6c 65 20 62 2c 20 63 r a, double b, c
1e10: 68 61 72 20 63 2c 20 64 6f 75 62 6c 65 20 64 29 har c, double d)
1e20: 0a 7b 0a 20 20 75 73 68 6f 72 74 20 72 20 3d 20 .{. ushort r =
1e30: 28 75 73 68 6f 72 74 29 28 61 20 2b 20 62 20 2b (ushort)(a + b +
1e40: 20 63 20 2b 20 64 29 3b 0a 20 20 66 70 72 69 6e c + d);. fprin
1e50: 74 66 28 6f 75 74 2c 22 75 73 68 6f 72 74 20 66 tf(out,"ushort f
1e60: 28 63 68 61 72 2c 64 6f 75 62 6c 65 2c 63 68 61 (char,double,cha
1e70: 72 2c 64 6f 75 62 6c 65 29 3a 28 27 25 63 27 2c r,double):('%c',
1e80: 25 67 2c 27 25 63 27 2c 25 67 29 22 2c 61 2c 62 %g,'%c',%g)",a,b
1e90: 2c 63 2c 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 ,c,d);. fflush(
1ea0: 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 out);. return r
1eb0: 3b 0a 7d 0a 0a 23 69 66 64 65 66 20 48 41 56 45 ;.}..#ifdef HAVE
1ec0: 5f 4c 4f 4e 47 5f 4c 4f 4e 47 5f 49 4e 54 0a 6c _LONG_LONG_INT.l
1ed0: 6f 6e 67 20 6c 6f 6e 67 20 6c 6c 5f 66 6c 6c 69 ong long ll_flli
1ee0: 20 28 66 6c 6f 61 74 20 61 2c 20 6c 6f 6e 67 20 (float a, long
1ef0: 6c 6f 6e 67 20 62 2c 20 69 6e 74 20 63 29 0a 7b long b, int c).{
1f00: 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 72 20 3d . long long r =
1f10: 20 28 6c 6f 6e 67 20 6c 6f 6e 67 29 28 69 6e 74 (long long)(int
1f20: 29 61 20 2b 20 62 20 2b 20 28 6c 6f 6e 67 20 6c )a + b + (long l
1f30: 6f 6e 67 29 63 3b 0a 20 20 66 70 72 69 6e 74 66 ong)c;. fprintf
1f40: 28 6f 75 74 2c 22 6c 6f 6e 67 20 6c 6f 6e 67 20 (out,"long long
1f50: 66 28 66 6c 6f 61 74 2c 6c 6f 6e 67 20 6c 6f 6e f(float,long lon
1f60: 67 2c 69 6e 74 29 3a 28 25 67 2c 30 78 25 6c 78 g,int):(%g,0x%lx
1f70: 25 30 38 6c 78 2c 30 78 25 6c 78 29 22 2c 61 2c %08lx,0x%lx)",a,
1f80: 28 6c 6f 6e 67 29 28 62 3e 3e 33 32 29 2c 28 6c (long)(b>>32),(l
1f90: 6f 6e 67 29 28 62 26 30 78 66 66 66 66 66 66 66 ong)(b&0xfffffff
1fa0: 66 29 2c 28 6c 6f 6e 67 29 63 29 3b 0a 20 20 66 f),(long)c);. f
1fb0: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 flush(out);. re
1fc0: 74 75 72 6e 20 72 3b 0a 7d 0a 23 65 6e 64 69 66 turn r;.}.#endif
1fd0: 0a 0a 49 6e 74 20 49 5f 49 49 49 20 28 49 6e 74 ..Int I_III (Int
1fe0: 20 61 2c 20 49 6e 74 20 62 2c 20 49 6e 74 20 63 a, Int b, Int c
1ff0: 29 0a 7b 0a 20 20 49 6e 74 20 72 3b 0a 20 20 72 ).{. Int r;. r
2000: 2e 78 20 3d 20 61 2e 78 20 2b 20 62 2e 78 20 2b .x = a.x + b.x +
2010: 20 63 2e 78 3b 0a 20 20 66 70 72 69 6e 74 66 28 c.x;. fprintf(
2020: 6f 75 74 2c 22 49 6e 74 20 66 28 49 6e 74 2c 49 out,"Int f(Int,I
2030: 6e 74 2c 49 6e 74 29 3a 28 7b 25 64 7d 2c 7b 25 nt,Int):({%d},{%
2040: 64 7d 2c 7b 25 64 7d 29 22 2c 61 2e 78 2c 62 2e d},{%d})",a.x,b.
2050: 78 2c 63 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 x,c.x);. fflush
2060: 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 (out);. return
2070: 72 3b 0a 7d 0a 23 69 66 6e 64 65 66 20 53 4b 49 r;.}.#ifndef SKI
2080: 50 5f 45 58 54 52 41 5f 53 54 52 55 43 54 53 0a P_EXTRA_STRUCTS.
2090: 43 68 61 72 20 43 5f 43 64 43 20 28 43 68 61 72 Char C_CdC (Char
20a0: 20 61 2c 20 64 6f 75 62 6c 65 20 62 2c 20 43 68 a, double b, Ch
20b0: 61 72 20 63 29 0a 7b 0a 20 20 43 68 61 72 20 72 ar c).{. Char r
20c0: 3b 0a 20 20 72 2e 78 20 3d 20 28 61 2e 78 20 2b ;. r.x = (a.x +
20d0: 20 63 2e 78 29 2f 32 3b 0a 20 20 66 70 72 69 6e c.x)/2;. fprin
20e0: 74 66 28 6f 75 74 2c 22 43 68 61 72 20 66 28 43 tf(out,"Char f(C
20f0: 68 61 72 2c 64 6f 75 62 6c 65 2c 43 68 61 72 29 har,double,Char)
2100: 3a 28 7b 27 25 63 27 7d 2c 25 67 2c 7b 27 25 63 :({'%c'},%g,{'%c
2110: 27 7d 29 22 2c 61 2e 78 2c 62 2c 63 2e 78 29 3b '})",a.x,b,c.x);
2120: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
2130: 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 46 6c return r;.}.Fl
2140: 6f 61 74 20 46 5f 46 66 64 20 28 46 6c 6f 61 74 oat F_Ffd (Float
2150: 20 61 2c 20 66 6c 6f 61 74 20 62 2c 20 64 6f 75 a, float b, dou
2160: 62 6c 65 20 63 29 0a 7b 0a 20 20 46 6c 6f 61 74 ble c).{. Float
2170: 20 72 3b 0a 20 20 72 2e 78 20 3d 20 61 2e 78 20 r;. r.x = a.x
2180: 2b 20 62 20 2b 20 63 3b 0a 20 20 66 70 72 69 6e + b + c;. fprin
2190: 74 66 28 6f 75 74 2c 22 46 6c 6f 61 74 20 66 28 tf(out,"Float f(
21a0: 46 6c 6f 61 74 2c 66 6c 6f 61 74 2c 64 6f 75 62 Float,float,doub
21b0: 6c 65 29 3a 28 7b 25 67 7d 2c 25 67 2c 25 67 29 le):({%g},%g,%g)
21c0: 22 2c 61 2e 78 2c 62 2c 63 29 3b 0a 20 20 66 66 ",a.x,b,c);. ff
21d0: 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 lush(out);. ret
21e0: 75 72 6e 20 72 3b 0a 7d 0a 44 6f 75 62 6c 65 20 urn r;.}.Double
21f0: 44 5f 66 44 64 20 28 66 6c 6f 61 74 20 61 2c 20 D_fDd (float a,
2200: 44 6f 75 62 6c 65 20 62 2c 20 64 6f 75 62 6c 65 Double b, double
2210: 20 63 29 0a 7b 0a 20 20 44 6f 75 62 6c 65 20 72 c).{. Double r
2220: 3b 0a 20 20 72 2e 78 20 3d 20 61 20 2b 20 62 2e ;. r.x = a + b.
2230: 78 20 2b 20 63 3b 0a 20 20 66 70 72 69 6e 74 66 x + c;. fprintf
2240: 28 6f 75 74 2c 22 44 6f 75 62 6c 65 20 66 28 66 (out,"Double f(f
2250: 6c 6f 61 74 2c 44 6f 75 62 6c 65 2c 64 6f 75 62 loat,Double,doub
2260: 6c 65 29 3a 28 25 67 2c 7b 25 67 7d 2c 25 67 29 le):(%g,{%g},%g)
2270: 22 2c 61 2c 62 2e 78 2c 63 29 3b 0a 20 20 66 66 ",a,b.x,c);. ff
2280: 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 lush(out);. ret
2290: 75 72 6e 20 72 3b 0a 7d 0a 23 65 6e 64 69 66 0a urn r;.}.#endif.
22a0: 4a 20 4a 5f 4a 69 4a 20 28 4a 20 61 2c 20 69 6e J J_JiJ (J a, in
22b0: 74 20 62 2c 20 4a 20 63 29 0a 7b 0a 20 20 4a 20 t b, J c).{. J
22c0: 72 3b 0a 20 20 72 2e 6c 31 20 3d 20 61 2e 6c 31 r;. r.l1 = a.l1
22d0: 2b 63 2e 6c 31 3b 20 72 2e 6c 32 20 3d 20 61 2e +c.l1; r.l2 = a.
22e0: 6c 32 2b 62 2b 63 2e 6c 32 3b 0a 20 20 66 70 72 l2+b+c.l2;. fpr
22f0: 69 6e 74 66 28 6f 75 74 2c 22 4a 20 66 28 4a 2c intf(out,"J f(J,
2300: 69 6e 74 2c 4a 29 3a 28 7b 25 6c 64 2c 25 6c 64 int,J):({%ld,%ld
2310: 7d 2c 25 64 2c 7b 25 6c 64 2c 25 6c 64 7d 29 22 },%d,{%ld,%ld})"
2320: 2c 61 2e 6c 31 2c 61 2e 6c 32 2c 62 2c 63 2e 6c ,a.l1,a.l2,b,c.l
2330: 31 2c 63 2e 6c 32 29 3b 0a 20 20 66 66 6c 75 73 1,c.l2);. fflus
2340: 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e h(out);. return
2350: 20 72 3b 0a 7d 0a 23 69 66 6e 64 65 66 20 53 4b r;.}.#ifndef SK
2360: 49 50 5f 45 58 54 52 41 5f 53 54 52 55 43 54 53 IP_EXTRA_STRUCTS
2370: 0a 54 20 54 5f 54 63 54 20 28 54 20 61 2c 20 63 .T T_TcT (T a, c
2380: 68 61 72 20 62 2c 20 54 20 63 29 0a 7b 0a 20 20 har b, T c).{.
2390: 54 20 72 3b 0a 20 20 72 2e 63 5b 30 5d 3d 27 62 T r;. r.c[0]='b
23a0: 27 3b 20 72 2e 63 5b 31 5d 3d 63 2e 63 5b 31 5d '; r.c[1]=c.c[1]
23b0: 3b 20 72 2e 63 5b 32 5d 3d 63 2e 63 5b 32 5d 3b ; r.c[2]=c.c[2];
23c0: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
23d0: 54 20 66 28 54 2c 63 68 61 72 2c 54 29 3a 28 7b T f(T,char,T):({
23e0: 5c 22 25 63 25 63 25 63 5c 22 7d 2c 27 25 63 27 \"%c%c%c\"},'%c'
23f0: 2c 7b 5c 22 25 63 25 63 25 63 5c 22 7d 29 22 2c ,{\"%c%c%c\"})",
2400: 61 2e 63 5b 30 5d 2c 61 2e 63 5b 31 5d 2c 61 2e a.c[0],a.c[1],a.
2410: 63 5b 32 5d 2c 62 2c 63 2e 63 5b 30 5d 2c 63 2e c[2],b,c.c[0],c.
2420: 63 5b 31 5d 2c 63 2e 63 5b 32 5d 29 3b 0a 20 20 c[1],c.c[2]);.
2430: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 fflush(out);. r
2440: 65 74 75 72 6e 20 72 3b 0a 7d 0a 58 20 58 5f 42 eturn r;.}.X X_B
2450: 63 64 42 20 28 42 20 61 2c 20 63 68 61 72 20 62 cdB (B a, char b
2460: 2c 20 64 6f 75 62 6c 65 20 63 2c 20 42 20 64 29 , double c, B d)
2470: 0a 7b 0a 20 20 73 74 61 74 69 63 20 58 20 78 72 .{. static X xr
2480: 3d 7b 22 72 65 74 75 72 6e 20 76 61 6c 22 2c 27 ={"return val",'
2490: 52 27 7d 3b 0a 20 20 58 20 72 3b 0a 20 20 72 20 R'};. X r;. r
24a0: 3d 20 78 72 3b 0a 20 20 72 2e 63 31 20 3d 20 62 = xr;. r.c1 = b
24b0: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
24c0: 22 58 20 66 28 42 2c 63 68 61 72 2c 64 6f 75 62 "X f(B,char,doub
24d0: 6c 65 2c 42 29 3a 28 7b 25 67 2c 7b 25 64 2c 25 le,B):({%g,{%d,%
24e0: 64 2c 25 64 7d 7d 2c 27 25 63 27 2c 25 67 2c 7b d,%d}},'%c',%g,{
24f0: 25 67 2c 7b 25 64 2c 25 64 2c 25 64 7d 7d 29 22 %g,{%d,%d,%d}})"
2500: 2c 0a 09 20 20 61 2e 64 2c 61 2e 69 5b 30 5d 2c ,.. a.d,a.i[0],
2510: 61 2e 69 5b 31 5d 2c 61 2e 69 5b 32 5d 2c 62 2c a.i[1],a.i[2],b,
2520: 63 2c 64 2e 64 2c 64 2e 69 5b 30 5d 2c 64 2e 69 c,d.d,d.i[0],d.i
2530: 5b 31 5d 2c 64 2e 69 5b 32 5d 29 3b 0a 20 20 66 [1],d.i[2]);. f
2540: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 flush(out);. re
2550: 74 75 72 6e 20 72 3b 0a 7d 0a 23 65 6e 64 69 66 turn r;.}.#endif
2560: 0a 0a 2f 2a 0a 20 2a 20 54 68 65 20 77 61 79 20 ../*. * The way
2570: 77 65 20 72 75 6e 20 74 68 65 73 65 20 74 65 73 we run these tes
2580: 74 73 20 2d 20 66 69 72 73 74 20 63 61 6c 6c 20 ts - first call
2590: 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 the function dir
25a0: 65 63 74 6c 79 2c 20 74 68 65 6e 0a 20 2a 20 74 ectly, then. * t
25b0: 68 72 6f 75 67 68 20 61 76 5f 63 61 6c 6c 28 29 hrough av_call()
25c0: 20 2d 20 74 68 65 72 65 20 69 73 20 74 68 65 20 - there is the
25d0: 64 61 6e 67 65 72 20 74 68 61 74 20 61 72 67 75 danger that argu
25e0: 6d 65 6e 74 73 20 6f 72 20 72 65 73 75 6c 74 73 ments or results
25f0: 20 73 65 65 6d 0a 20 2a 20 74 6f 20 62 65 20 70 seem. * to be p
2600: 61 73 73 65 64 20 63 6f 72 72 65 63 74 6c 79 2c assed correctly,
2610: 20 62 75 74 20 77 68 61 74 20 77 65 20 61 72 65 but what we are
2620: 20 73 65 65 69 6e 67 20 61 72 65 20 69 6e 20 66 seeing are in f
2630: 61 63 74 20 74 68 65 20 76 65 73 74 69 67 65 73 act the vestiges
2640: 0a 20 2a 20 28 74 72 61 63 65 73 29 20 6f 72 20 . * (traces) or
2650: 74 68 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c the previous cal
2660: 6c 2e 20 54 68 69 73 20 6d 61 79 20 73 65 72 69 l. This may seri
2670: 6f 75 73 6c 79 20 66 61 6b 65 20 74 68 65 20 74 ously fake the t
2680: 65 73 74 2e 0a 20 2a 20 41 76 6f 69 64 20 74 68 est.. * Avoid th
2690: 69 73 20 62 79 20 63 6c 65 61 72 69 6e 67 20 74 is by clearing t
26a0: 68 65 20 72 65 67 69 73 74 65 72 73 20 62 65 74 he registers bet
26b0: 77 65 65 6e 20 74 68 65 20 66 69 72 73 74 20 61 ween the first a
26c0: 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 63 61 nd the second ca
26d0: 6c 6c 2e 0a 20 2a 2f 0a 6c 6f 6e 67 20 63 6c 65 ll.. */.long cle
26e0: 61 72 5f 74 72 61 63 65 73 5f 69 20 28 6c 6f 6e ar_traces_i (lon
26f0: 67 20 61 2c 20 6c 6f 6e 67 20 62 2c 20 6c 6f 6e g a, long b, lon
2700: 67 20 63 2c 20 6c 6f 6e 67 20 64 2c 20 6c 6f 6e g c, long d, lon
2710: 67 20 65 2c 20 6c 6f 6e 67 20 66 2c 20 6c 6f 6e g e, long f, lon
2720: 67 20 67 2c 20 6c 6f 6e 67 20 68 2c 0a 09 09 20 g g, long h,...
2730: 20 20 20 20 6c 6f 6e 67 20 69 2c 20 6c 6f 6e 67 long i, long
2740: 20 6a 2c 20 6c 6f 6e 67 20 6b 2c 20 6c 6f 6e 67 j, long k, long
2750: 20 6c 2c 20 6c 6f 6e 67 20 6d 2c 20 6c 6f 6e 67 l, long m, long
2760: 20 6e 2c 20 6c 6f 6e 67 20 6f 2c 20 6c 6f 6e 67 n, long o, long
2770: 20 70 29 0a 7b 20 72 65 74 75 72 6e 20 30 3b 20 p).{ return 0;
2780: 7d 0a 66 6c 6f 61 74 20 63 6c 65 61 72 5f 74 72 }.float clear_tr
2790: 61 63 65 73 5f 66 20 28 66 6c 6f 61 74 20 61 2c aces_f (float a,
27a0: 20 66 6c 6f 61 74 20 62 2c 20 66 6c 6f 61 74 20 float b, float
27b0: 63 2c 20 66 6c 6f 61 74 20 64 2c 20 66 6c 6f 61 c, float d, floa
27c0: 74 20 65 2c 20 66 6c 6f 61 74 20 66 2c 20 66 6c t e, float f, fl
27d0: 6f 61 74 20 67 2c 0a 09 09 20 20 20 20 20 20 66 oat g,... f
27e0: 6c 6f 61 74 20 68 2c 20 66 6c 6f 61 74 20 69 2c loat h, float i,
27f0: 20 66 6c 6f 61 74 20 6a 2c 20 66 6c 6f 61 74 20 float j, float
2800: 6b 2c 20 66 6c 6f 61 74 20 6c 2c 20 66 6c 6f 61 k, float l, floa
2810: 74 20 6d 2c 20 66 6c 6f 61 74 20 6e 2c 0a 09 09 t m, float n,...
2820: 20 20 20 20 20 20 66 6c 6f 61 74 20 6f 2c 20 66 float o, f
2830: 6c 6f 61 74 20 70 29 0a 7b 20 72 65 74 75 72 6e loat p).{ return
2840: 20 30 2e 30 3b 20 7d 0a 64 6f 75 62 6c 65 20 63 0.0; }.double c
2850: 6c 65 61 72 5f 74 72 61 63 65 73 5f 64 20 28 64 lear_traces_d (d
2860: 6f 75 62 6c 65 20 61 2c 20 64 6f 75 62 6c 65 20 ouble a, double
2870: 62 2c 20 64 6f 75 62 6c 65 20 63 2c 20 64 6f 75 b, double c, dou
2880: 62 6c 65 20 64 2c 20 64 6f 75 62 6c 65 20 65 2c ble d, double e,
2890: 20 64 6f 75 62 6c 65 20 66 2c 20 64 6f 75 62 6c double f, doubl
28a0: 65 20 67 2c 0a 09 09 20 20 20 20 20 20 20 64 6f e g,... do
28b0: 75 62 6c 65 20 68 2c 20 64 6f 75 62 6c 65 20 69 uble h, double i
28c0: 2c 20 64 6f 75 62 6c 65 20 6a 2c 20 64 6f 75 62 , double j, doub
28d0: 6c 65 20 6b 2c 20 64 6f 75 62 6c 65 20 6c 2c 20 le k, double l,
28e0: 64 6f 75 62 6c 65 20 6d 2c 20 64 6f 75 62 6c 65 double m, double
28f0: 20 6e 2c 0a 09 09 20 20 20 20 20 20 20 64 6f 75 n,... dou
2900: 62 6c 65 20 6f 2c 20 64 6f 75 62 6c 65 20 70 29 ble o, double p)
2910: 0a 7b 20 72 65 74 75 72 6e 20 30 2e 30 3b 20 7d .{ return 0.0; }
2920: 0a 4a 20 63 6c 65 61 72 5f 74 72 61 63 65 73 5f .J clear_traces_
2930: 4a 20 28 76 6f 69 64 29 0a 7b 20 4a 20 6a 3b 20 J (void).{ J j;
2940: 6a 2e 6c 31 20 3d 20 6a 2e 6c 32 20 3d 20 30 3b j.l1 = j.l2 = 0;
2950: 20 72 65 74 75 72 6e 20 6a 3b 20 7d 0a 76 6f 69 return j; }.voi
2960: 64 20 63 6c 65 61 72 5f 74 72 61 63 65 73 20 28 d clear_traces (
2970: 76 6f 69 64 29 0a 7b 20 63 6c 65 61 72 5f 74 72 void).{ clear_tr
2980: 61 63 65 73 5f 69 28 30 2c 30 2c 30 2c 30 2c 30 aces_i(0,0,0,0,0
2990: 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 ,0,0,0,0,0,0,0,0
29a0: 2c 30 2c 30 2c 30 29 3b 0a 20 20 63 6c 65 61 72 ,0,0,0);. clear
29b0: 5f 74 72 61 63 65 73 5f 66 28 30 2e 30 2c 30 2e _traces_f(0.0,0.
29c0: 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 0,0.0,0.0,0.0,0.
29d0: 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 0,0.0,0.0,0.0,0.
29e0: 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 0,0.0,0.0,0.0,0.
29f0: 30 2c 30 2e 30 2c 30 2e 30 29 3b 0a 20 20 63 6c 0,0.0,0.0);. cl
2a00: 65 61 72 5f 74 72 61 63 65 73 5f 64 28 30 2e 30 ear_traces_d(0.0
2a10: 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 ,0.0,0.0,0.0,0.0
2a20: 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 ,0.0,0.0,0.0,0.0
2a30: 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 ,0.0,0.0,0.0,0.0
2a40: 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 29 3b 0a 20 ,0.0,0.0,0.0);.
2a50: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 5f 4a 28 clear_traces_J(
2a60: 29 3b 0a 7d 0a 0a 76 6f 69 64 0a 20 20 76 6f 69 );.}..void. voi
2a70: 64 5f 74 65 73 74 73 20 28 76 6f 69 64 29 0a 7b d_tests (void).{
2a80: 0a 20 20 61 76 5f 61 6c 69 73 74 20 61 3b 0a 20 . av_alist a;.
2a90: 20 76 5f 76 28 29 3b 0a 20 20 63 6c 65 61 72 5f v_v();. clear_
2aa0: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
2ab0: 74 61 72 74 5f 76 6f 69 64 28 61 2c 76 5f 76 29 tart_void(a,v_v)
2ac0: 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a ;. av_call(a);.
2ad0: 20 20 72 65 74 75 72 6e 3b 0a 7d 0a 76 6f 69 64 return;.}.void
2ae0: 0a 20 20 69 6e 74 5f 74 65 73 74 73 20 28 76 6f . int_tests (vo
2af0: 69 64 29 0a 7b 0a 20 20 61 76 5f 61 6c 69 73 74 id).{. av_alist
2b00: 20 61 3b 0a 20 20 69 6e 74 20 69 72 3b 0a 0a 20 a;. int ir;..
2b10: 20 69 72 20 3d 20 69 5f 76 28 29 3b 0a 20 20 66 ir = i_v();. f
2b20: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 printf(out,"->%d
2b30: 5c 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 \n",ir);. fflus
2b40: 68 28 6f 75 74 29 3b 0a 20 20 69 72 20 3d 20 30 h(out);. ir = 0
2b50: 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 ; clear_traces()
2b60: 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 69 6e 74 ;. av_start_int
2b70: 28 61 2c 69 5f 76 2c 26 69 72 29 3b 0a 20 20 61 (a,i_v,&ir);. a
2b80: 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 v_call(a);. fpr
2b90: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e intf(out,"->%d\n
2ba0: 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",ir);. fflush(
2bb0: 6f 75 74 29 3b 0a 0a 20 20 69 72 20 3d 20 69 5f out);.. ir = i_
2bc0: 69 28 69 31 29 3b 0a 20 20 66 70 72 69 6e 74 66 i(i1);. fprintf
2bd0: 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 (out,"->%d\n",ir
2be0: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
2bf0: 3b 0a 20 20 69 72 20 3d 20 30 3b 20 63 6c 65 61 ;. ir = 0; clea
2c00: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
2c10: 5f 73 74 61 72 74 5f 69 6e 74 28 61 2c 69 5f 69 _start_int(a,i_i
2c20: 2c 26 69 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 ,&ir);. av_int(
2c30: 61 2c 69 31 29 3b 0a 20 20 61 76 5f 63 61 6c 6c a,i1);. av_call
2c40: 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f (a);. fprintf(o
2c50: 75 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b ut,"->%d\n",ir);
2c60: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
2c70: 0a 20 20 69 72 20 3d 20 69 5f 69 32 28 69 31 2c . ir = i_i2(i1,
2c80: 69 32 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f i2);. fprintf(o
2c90: 75 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b ut,"->%d\n",ir);
2ca0: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
2cb0: 20 20 69 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f ir = 0; clear_
2cc0: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
2cd0: 74 61 72 74 5f 69 6e 74 28 61 2c 69 5f 69 32 2c tart_int(a,i_i2,
2ce0: 26 69 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 &ir);. av_int(a
2cf0: 2c 69 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i1);. av_int(a
2d00: 2c 69 32 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 ,i2);. av_call(
2d10: 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 a);. fprintf(ou
2d20: 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a t,"->%d\n",ir);.
2d30: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a fflush(out);..
2d40: 20 20 69 72 20 3d 20 69 5f 69 34 28 69 31 2c 69 ir = i_i4(i1,i
2d50: 32 2c 69 33 2c 69 34 29 3b 0a 20 20 66 70 72 69 2,i3,i4);. fpri
2d60: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e 22 ntf(out,"->%d\n"
2d70: 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,ir);. fflush(o
2d80: 75 74 29 3b 0a 20 20 69 72 20 3d 20 30 3b 20 63 ut);. ir = 0; c
2d90: 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 lear_traces();.
2da0: 20 61 76 5f 73 74 61 72 74 5f 69 6e 74 28 61 2c av_start_int(a,
2db0: 69 5f 69 34 2c 26 69 72 29 3b 0a 20 20 61 76 5f i_i4,&ir);. av_
2dc0: 69 6e 74 28 61 2c 69 31 29 3b 0a 20 20 61 76 5f int(a,i1);. av_
2dd0: 69 6e 74 28 61 2c 69 32 29 3b 0a 20 20 61 76 5f int(a,i2);. av_
2de0: 69 6e 74 28 61 2c 69 33 29 3b 0a 20 20 61 76 5f int(a,i3);. av_
2df0: 69 6e 74 28 61 2c 69 34 29 3b 0a 20 20 61 76 5f int(a,i4);. av_
2e00: 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e call(a);. fprin
2e10: 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e 22 2c tf(out,"->%d\n",
2e20: 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ir);. fflush(ou
2e30: 74 29 3b 0a 0a 20 20 69 72 20 3d 20 69 5f 69 38 t);.. ir = i_i8
2e40: 28 69 31 2c 69 32 2c 69 33 2c 69 34 2c 69 35 2c (i1,i2,i3,i4,i5,
2e50: 69 36 2c 69 37 2c 69 38 29 3b 0a 20 20 66 70 72 i6,i7,i8);. fpr
2e60: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e intf(out,"->%d\n
2e70: 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",ir);. fflush(
2e80: 6f 75 74 29 3b 0a 20 20 69 72 20 3d 20 30 3b 20 out);. ir = 0;
2e90: 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a clear_traces();.
2ea0: 20 20 61 76 5f 73 74 61 72 74 5f 69 6e 74 28 61 av_start_int(a
2eb0: 2c 69 5f 69 38 2c 26 69 72 29 3b 0a 20 20 61 76 ,i_i8,&ir);. av
2ec0: 5f 69 6e 74 28 61 2c 69 31 29 3b 0a 20 20 61 76 _int(a,i1);. av
2ed0: 5f 69 6e 74 28 61 2c 69 32 29 3b 0a 20 20 61 76 _int(a,i2);. av
2ee0: 5f 69 6e 74 28 61 2c 69 33 29 3b 0a 20 20 61 76 _int(a,i3);. av
2ef0: 5f 69 6e 74 28 61 2c 69 34 29 3b 0a 20 20 61 76 _int(a,i4);. av
2f00: 5f 69 6e 74 28 61 2c 69 35 29 3b 0a 20 20 61 76 _int(a,i5);. av
2f10: 5f 69 6e 74 28 61 2c 69 36 29 3b 0a 20 20 61 76 _int(a,i6);. av
2f20: 5f 69 6e 74 28 61 2c 69 37 29 3b 0a 20 20 61 76 _int(a,i7);. av
2f30: 5f 69 6e 74 28 61 2c 69 38 29 3b 0a 20 20 61 76 _int(a,i8);. av
2f40: 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 _call(a);. fpri
2f50: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e 22 ntf(out,"->%d\n"
2f60: 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,ir);. fflush(o
2f70: 75 74 29 3b 0a 0a 20 20 69 72 20 3d 20 69 5f 69 ut);.. ir = i_i
2f80: 31 36 28 69 31 2c 69 32 2c 69 33 2c 69 34 2c 69 16(i1,i2,i3,i4,i
2f90: 35 2c 69 36 2c 69 37 2c 69 38 2c 69 39 2c 69 31 5,i6,i7,i8,i9,i1
2fa0: 30 2c 69 31 31 2c 69 31 32 2c 69 31 33 2c 69 31 0,i11,i12,i13,i1
2fb0: 34 2c 69 31 35 2c 69 31 36 29 3b 0a 20 20 66 70 4,i15,i16);. fp
2fc0: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c rintf(out,"->%d\
2fd0: 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",ir);. fflush
2fe0: 28 6f 75 74 29 3b 0a 20 20 69 72 20 3d 20 30 3b (out);. ir = 0;
2ff0: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
3000: 0a 20 20 61 76 5f 73 74 61 72 74 5f 69 6e 74 28 . av_start_int(
3010: 61 2c 69 5f 69 31 36 2c 26 69 72 29 3b 0a 20 20 a,i_i16,&ir);.
3020: 61 76 5f 69 6e 74 28 61 2c 69 31 29 3b 0a 20 20 av_int(a,i1);.
3030: 61 76 5f 69 6e 74 28 61 2c 69 32 29 3b 0a 20 20 av_int(a,i2);.
3040: 61 76 5f 69 6e 74 28 61 2c 69 33 29 3b 0a 20 20 av_int(a,i3);.
3050: 61 76 5f 69 6e 74 28 61 2c 69 34 29 3b 0a 20 20 av_int(a,i4);.
3060: 61 76 5f 69 6e 74 28 61 2c 69 35 29 3b 0a 20 20 av_int(a,i5);.
3070: 61 76 5f 69 6e 74 28 61 2c 69 36 29 3b 0a 20 20 av_int(a,i6);.
3080: 61 76 5f 69 6e 74 28 61 2c 69 37 29 3b 0a 20 20 av_int(a,i7);.
3090: 61 76 5f 69 6e 74 28 61 2c 69 38 29 3b 0a 20 20 av_int(a,i8);.
30a0: 61 76 5f 69 6e 74 28 61 2c 69 39 29 3b 0a 20 20 av_int(a,i9);.
30b0: 61 76 5f 69 6e 74 28 61 2c 69 31 30 29 3b 0a 20 av_int(a,i10);.
30c0: 20 61 76 5f 69 6e 74 28 61 2c 69 31 31 29 3b 0a av_int(a,i11);.
30d0: 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 32 29 3b av_int(a,i12);
30e0: 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 33 29 . av_int(a,i13)
30f0: 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 34 ;. av_int(a,i14
3100: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 );. av_int(a,i1
3110: 35 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 5);. av_int(a,i
3120: 31 36 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 16);. av_call(a
3130: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3140: 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 ,"->%d\n",ir);.
3150: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 fflush(out);..
3160: 20 72 65 74 75 72 6e 3b 0a 7d 0a 76 6f 69 64 0a return;.}.void.
3170: 20 20 66 6c 6f 61 74 5f 74 65 73 74 73 20 28 76 float_tests (v
3180: 6f 69 64 29 0a 7b 0a 20 20 61 76 5f 61 6c 69 73 oid).{. av_alis
3190: 74 20 61 3b 0a 20 20 66 6c 6f 61 74 20 66 72 3b t a;. float fr;
31a0: 0a 0a 20 20 66 72 20 3d 20 66 5f 66 28 66 31 29 .. fr = f_f(f1)
31b0: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
31c0: 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 "->%g\n",fr);.
31d0: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 66 fflush(out);. f
31e0: 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 72 5f 74 r = 0.0; clear_t
31f0: 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 races();. av_st
3200: 61 72 74 5f 66 6c 6f 61 74 28 61 2c 66 5f 66 2c art_float(a,f_f,
3210: 26 66 72 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 &fr);. av_float
3220: 28 61 2c 66 31 29 3b 0a 20 20 61 76 5f 63 61 6c (a,f1);. av_cal
3230: 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 l(a);. fprintf(
3240: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 out,"->%g\n",fr)
3250: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
3260: 0a 0a 20 20 66 72 20 3d 20 66 5f 66 32 28 66 31 .. fr = f_f2(f1
3270: 2c 66 32 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 ,f2);. fprintf(
3280: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 out,"->%g\n",fr)
3290: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
32a0: 0a 20 20 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 . fr = 0.0; cle
32b0: 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 ar_traces();. a
32c0: 76 5f 73 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c v_start_float(a,
32d0: 66 5f 66 32 2c 26 66 72 29 3b 0a 20 20 61 76 5f f_f2,&fr);. av_
32e0: 66 6c 6f 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 float(a,f1);. a
32f0: 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 3b 0a 20 v_float(a,f2);.
3300: 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 av_call(a);. f
3310: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 printf(out,"->%g
3320: 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 66 6c 75 73 \n",fr);. fflus
3330: 68 28 6f 75 74 29 3b 0a 0a 20 20 66 72 20 3d 20 h(out);.. fr =
3340: 66 5f 66 34 28 66 31 2c 66 32 2c 66 33 2c 66 34 f_f4(f1,f2,f3,f4
3350: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3360: 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 ,"->%g\n",fr);.
3370: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
3380: 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 72 5f fr = 0.0; clear_
3390: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
33a0: 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c 66 5f 66 tart_float(a,f_f
33b0: 34 2c 26 66 72 29 3b 0a 20 20 61 76 5f 66 6c 6f 4,&fr);. av_flo
33c0: 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 76 5f 66 at(a,f1);. av_f
33d0: 6c 6f 61 74 28 61 2c 66 32 29 3b 0a 20 20 61 76 loat(a,f2);. av
33e0: 5f 66 6c 6f 61 74 28 61 2c 66 33 29 3b 0a 20 20 _float(a,f3);.
33f0: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 34 29 3b 0a av_float(a,f4);.
3400: 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 av_call(a);.
3410: 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 fprintf(out,"->%
3420: 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 66 6c 75 g\n",fr);. fflu
3430: 73 68 28 6f 75 74 29 3b 0a 0a 20 20 66 72 20 3d sh(out);.. fr =
3440: 20 66 5f 66 38 28 66 31 2c 66 32 2c 66 33 2c 66 f_f8(f1,f2,f3,f
3450: 34 2c 66 35 2c 66 36 2c 66 37 2c 66 38 29 3b 0a 4,f5,f6,f7,f8);.
3460: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d fprintf(out,"-
3470: 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 66 >%g\n",fr);. ff
3480: 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 66 72 20 lush(out);. fr
3490: 3d 20 30 2e 30 3b 20 63 6c 65 61 72 5f 74 72 61 = 0.0; clear_tra
34a0: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
34b0: 74 5f 66 6c 6f 61 74 28 61 2c 66 5f 66 38 2c 26 t_float(a,f_f8,&
34c0: 66 72 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 fr);. av_float(
34d0: 61 2c 66 31 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 a,f1);. av_floa
34e0: 74 28 61 2c 66 32 29 3b 0a 20 20 61 76 5f 66 6c t(a,f2);. av_fl
34f0: 6f 61 74 28 61 2c 66 33 29 3b 0a 20 20 61 76 5f oat(a,f3);. av_
3500: 66 6c 6f 61 74 28 61 2c 66 34 29 3b 0a 20 20 61 float(a,f4);. a
3510: 76 5f 66 6c 6f 61 74 28 61 2c 66 35 29 3b 0a 20 v_float(a,f5);.
3520: 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 36 29 3b av_float(a,f6);
3530: 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 37 . av_float(a,f7
3540: 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c );. av_float(a,
3550: 66 38 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 f8);. av_call(a
3560: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3570: 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 ,"->%g\n",fr);.
3580: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 fflush(out);..
3590: 20 66 72 20 3d 20 66 5f 66 31 36 28 66 31 2c 66 fr = f_f16(f1,f
35a0: 32 2c 66 33 2c 66 34 2c 66 35 2c 66 36 2c 66 37 2,f3,f4,f5,f6,f7
35b0: 2c 66 38 2c 66 39 2c 66 31 30 2c 66 31 31 2c 66 ,f8,f9,f10,f11,f
35c0: 31 32 2c 66 31 33 2c 66 31 34 2c 66 31 35 2c 66 12,f13,f14,f15,f
35d0: 31 36 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 16);. fprintf(o
35e0: 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b ut,"->%g\n",fr);
35f0: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
3600: 20 20 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 fr = 0.0; clea
3610: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
3620: 5f 73 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c 66 _start_float(a,f
3630: 5f 66 31 36 2c 26 66 72 29 3b 0a 20 20 61 76 5f _f16,&fr);. av_
3640: 66 6c 6f 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 float(a,f1);. a
3650: 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 3b 0a 20 v_float(a,f2);.
3660: 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 33 29 3b av_float(a,f3);
3670: 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 34 . av_float(a,f4
3680: 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c );. av_float(a,
3690: 66 35 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 f5);. av_float(
36a0: 61 2c 66 36 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 a,f6);. av_floa
36b0: 74 28 61 2c 66 37 29 3b 0a 20 20 61 76 5f 66 6c t(a,f7);. av_fl
36c0: 6f 61 74 28 61 2c 66 38 29 3b 0a 20 20 61 76 5f oat(a,f8);. av_
36d0: 66 6c 6f 61 74 28 61 2c 66 39 29 3b 0a 20 20 61 float(a,f9);. a
36e0: 76 5f 66 6c 6f 61 74 28 61 2c 66 31 30 29 3b 0a v_float(a,f10);.
36f0: 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 31 av_float(a,f11
3700: 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c );. av_float(a,
3710: 66 31 32 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 f12);. av_float
3720: 28 61 2c 66 31 33 29 3b 0a 20 20 61 76 5f 66 6c (a,f13);. av_fl
3730: 6f 61 74 28 61 2c 66 31 34 29 3b 0a 20 20 61 76 oat(a,f14);. av
3740: 5f 66 6c 6f 61 74 28 61 2c 66 31 35 29 3b 0a 20 _float(a,f15);.
3750: 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 36 29 av_float(a,f16)
3760: 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a ;. av_call(a);.
3770: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d fprintf(out,"-
3780: 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 66 >%g\n",fr);. ff
3790: 6c 75 73 68 28 6f 75 74 29 3b 0a 7d 0a 76 6f 69 lush(out);.}.voi
37a0: 64 0a 20 20 64 6f 75 62 6c 65 5f 74 65 73 74 73 d. double_tests
37b0: 20 28 76 6f 69 64 29 0a 7b 0a 20 20 61 76 5f 61 (void).{. av_a
37c0: 6c 69 73 74 20 61 3b 0a 20 20 64 6f 75 62 6c 65 list a;. double
37d0: 20 64 72 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 dr;.. dr = d_d
37e0: 28 64 31 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 (d1);. fprintf(
37f0: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 out,"->%g\n",dr)
3800: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
3810: 0a 20 20 64 72 20 3d 20 30 2e 30 3b 20 63 6c 65 . dr = 0.0; cle
3820: 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 ar_traces();. a
3830: 76 5f 73 74 61 72 74 5f 64 6f 75 62 6c 65 28 61 v_start_double(a
3840: 2c 64 5f 64 2c 26 64 72 29 3b 0a 20 20 61 76 5f ,d_d,&dr);. av_
3850: 64 6f 75 62 6c 65 28 61 2c 64 31 29 3b 0a 20 20 double(a,d1);.
3860: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
3870: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
3880: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
3890: 28 6f 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 (out);.. dr = d
38a0: 5f 64 32 28 64 31 2c 64 32 29 3b 0a 20 20 66 70 _d2(d1,d2);. fp
38b0: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
38c0: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
38d0: 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e (out);. dr = 0.
38e0: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
38f0: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f );. av_start_do
3900: 75 62 6c 65 28 61 2c 64 5f 64 32 2c 26 64 72 29 uble(a,d_d2,&dr)
3910: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3920: 64 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 d1);. av_double
3930: 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 63 61 6c (a,d2);. av_cal
3940: 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 l(a);. fprintf(
3950: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 out,"->%g\n",dr)
3960: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
3970: 0a 0a 20 20 64 72 20 3d 20 64 5f 64 34 28 64 31 .. dr = d_d4(d1
3980: 2c 64 32 2c 64 33 2c 64 34 29 3b 0a 20 20 66 70 ,d2,d3,d4);. fp
3990: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
39a0: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
39b0: 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e (out);. dr = 0.
39c0: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
39d0: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f );. av_start_do
39e0: 75 62 6c 65 28 61 2c 64 5f 64 34 2c 26 64 72 29 uble(a,d_d4,&dr)
39f0: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3a00: 64 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 d1);. av_double
3a10: 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 64 6f 75 (a,d2);. av_dou
3a20: 62 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f ble(a,d3);. av_
3a30: 64 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 double(a,d4);.
3a40: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
3a50: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
3a60: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
3a70: 28 6f 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 (out);.. dr = d
3a80: 5f 64 38 28 64 31 2c 64 32 2c 64 33 2c 64 34 2c _d8(d1,d2,d3,d4,
3a90: 64 35 2c 64 36 2c 64 37 2c 64 38 29 3b 0a 20 20 d5,d6,d7,d8);.
3aa0: 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 fprintf(out,"->%
3ab0: 67 5c 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 g\n",dr);. fflu
3ac0: 73 68 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 sh(out);. dr =
3ad0: 30 2e 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 0.0; clear_trace
3ae0: 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f s();. av_start_
3af0: 64 6f 75 62 6c 65 28 61 2c 64 5f 64 38 2c 26 64 double(a,d_d8,&d
3b00: 72 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 r);. av_double(
3b10: 61 2c 64 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,d1);. av_doub
3b20: 6c 65 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 64 le(a,d2);. av_d
3b30: 6f 75 62 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 ouble(a,d3);. a
3b40: 76 5f 64 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a v_double(a,d4);.
3b50: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 35 av_double(a,d5
3b60: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
3b70: 2c 64 36 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,d6);. av_doubl
3b80: 65 28 61 2c 64 37 29 3b 0a 20 20 61 76 5f 64 6f e(a,d7);. av_do
3b90: 75 62 6c 65 28 61 2c 64 38 29 3b 0a 20 20 61 76 uble(a,d8);. av
3ba0: 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 _call(a);. fpri
3bb0: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
3bc0: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
3bd0: 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 ut);.. dr = d_d
3be0: 31 36 28 64 31 2c 64 32 2c 64 33 2c 64 34 2c 64 16(d1,d2,d3,d4,d
3bf0: 35 2c 64 36 2c 64 37 2c 64 38 2c 64 39 2c 64 31 5,d6,d7,d8,d9,d1
3c00: 30 2c 64 31 31 2c 64 31 32 2c 64 31 33 2c 64 31 0,d11,d12,d13,d1
3c10: 34 2c 64 31 35 2c 64 31 36 29 3b 0a 20 20 66 70 4,d15,d16);. fp
3c20: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
3c30: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
3c40: 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e (out);. dr = 0.
3c50: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
3c60: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f );. av_start_do
3c70: 75 62 6c 65 28 61 2c 64 5f 64 31 36 2c 26 64 72 uble(a,d_d16,&dr
3c80: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
3c90: 2c 64 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,d1);. av_doubl
3ca0: 65 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 64 6f e(a,d2);. av_do
3cb0: 75 62 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 uble(a,d3);. av
3cc0: 5f 64 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 _double(a,d4);.
3cd0: 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 35 29 av_double(a,d5)
3ce0: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3cf0: 64 36 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 d6);. av_double
3d00: 28 61 2c 64 37 29 3b 0a 20 20 61 76 5f 64 6f 75 (a,d7);. av_dou
3d10: 62 6c 65 28 61 2c 64 38 29 3b 0a 20 20 61 76 5f ble(a,d8);. av_
3d20: 64 6f 75 62 6c 65 28 61 2c 64 39 29 3b 0a 20 20 double(a,d9);.
3d30: 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 30 29 av_double(a,d10)
3d40: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3d50: 64 31 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c d11);. av_doubl
3d60: 65 28 61 2c 64 31 32 29 3b 0a 20 20 61 76 5f 64 e(a,d12);. av_d
3d70: 6f 75 62 6c 65 28 61 2c 64 31 33 29 3b 0a 20 20 ouble(a,d13);.
3d80: 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 34 29 av_double(a,d14)
3d90: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3da0: 64 31 35 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c d15);. av_doubl
3db0: 65 28 61 2c 64 31 36 29 3b 0a 20 20 61 76 5f 63 e(a,d16);. av_c
3dc0: 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 all(a);. fprint
3dd0: 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 f(out,"->%g\n",d
3de0: 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 r);. fflush(out
3df0: 29 3b 0a 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a );.. return;.}.
3e00: 76 6f 69 64 0a 20 20 6d 69 78 65 64 5f 6e 75 6d void. mixed_num
3e10: 62 65 72 5f 74 65 73 74 73 20 28 76 6f 69 64 29 ber_tests (void)
3e20: 0a 7b 0a 20 20 61 76 5f 61 6c 69 73 74 20 61 3b .{. av_alist a;
3e30: 0a 20 20 75 63 68 61 72 20 75 63 72 3b 0a 20 20 . uchar ucr;.
3e40: 75 73 68 6f 72 74 20 75 73 72 3b 0a 20 20 64 6f ushort usr;. do
3e50: 75 62 6c 65 20 64 72 3b 0a 23 69 66 64 65 66 20 uble dr;.#ifdef
3e60: 48 41 56 45 5f 4c 4f 4e 47 5f 4c 4f 4e 47 5f 49 HAVE_LONG_LONG_I
3e70: 4e 54 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6c NT. long long l
3e80: 6c 72 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 2f 2a lr;.#endif.. /*
3e90: 20 55 6e 73 69 67 6e 65 64 20 74 79 70 65 73 2e Unsigned types.
3ea0: 0a 20 20 20 2a 2f 0a 20 20 75 63 72 20 3d 20 75 . */. ucr = u
3eb0: 63 5f 75 63 73 69 6c 28 75 63 31 2c 75 73 32 2c c_ucsil(uc1,us2,
3ec0: 75 69 33 2c 75 6c 34 29 3b 0a 20 20 66 70 72 69 ui3,ul4);. fpri
3ed0: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 75 5c 6e 22 ntf(out,"->%u\n"
3ee0: 2c 75 63 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ,ucr);. fflush(
3ef0: 6f 75 74 29 3b 0a 20 20 75 63 72 20 3d 20 30 3b out);. ucr = 0;
3f00: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
3f10: 0a 20 20 61 76 5f 73 74 61 72 74 5f 75 63 68 61 . av_start_ucha
3f20: 72 28 61 2c 75 63 5f 75 63 73 69 6c 2c 26 75 63 r(a,uc_ucsil,&uc
3f30: 72 29 3b 0a 20 20 61 76 5f 75 63 68 61 72 28 61 r);. av_uchar(a
3f40: 2c 75 63 31 29 3b 0a 20 20 61 76 5f 75 73 68 6f ,uc1);. av_usho
3f50: 72 74 28 61 2c 75 73 32 29 3b 0a 20 20 61 76 5f rt(a,us2);. av_
3f60: 75 69 6e 74 28 61 2c 75 69 33 29 3b 0a 20 20 61 uint(a,ui3);. a
3f70: 76 5f 75 6c 6f 6e 67 28 61 2c 75 6c 34 29 3b 0a v_ulong(a,ul4);.
3f80: 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 av_call(a);.
3f90: 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 fprintf(out,"->%
3fa0: 75 5c 6e 22 2c 75 63 72 29 3b 0a 20 20 66 66 6c u\n",ucr);. ffl
3fb0: 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 2f 2a 20 ush(out);.. /*
3fc0: 4d 69 78 65 64 20 69 6e 74 20 26 20 66 6c 6f 61 Mixed int & floa
3fd0: 74 20 74 79 70 65 73 2e 0a 20 20 20 2a 2f 0a 20 t types.. */.
3fe0: 20 64 72 20 3d 20 64 5f 69 69 64 64 28 69 31 2c dr = d_iidd(i1,
3ff0: 69 32 2c 64 33 2c 64 34 29 3b 0a 20 20 66 70 72 i2,d3,d4);. fpr
4000: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e intf(out,"->%g\n
4010: 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",dr);. fflush(
4020: 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e 30 out);. dr = 0.0
4030: 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 ; clear_traces()
4040: 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f 75 ;. av_start_dou
4050: 62 6c 65 28 61 2c 64 5f 69 69 64 64 2c 26 64 72 ble(a,d_iidd,&dr
4060: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 );. av_int(a,i1
4070: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 32 );. av_int(a,i2
4080: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
4090: 2c 64 33 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,d3);. av_doubl
40a0: 65 28 61 2c 64 34 29 3b 0a 20 20 61 76 5f 63 61 e(a,d4);. av_ca
40b0: 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 ll(a);. fprintf
40c0: 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 (out,"->%g\n",dr
40d0: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
40e0: 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 69 64 69 64 ;.. dr = d_idid
40f0: 28 69 31 2c 64 32 2c 69 33 2c 64 34 29 3b 0a 20 (i1,d2,i3,d4);.
4100: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
4110: 25 67 5c 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c %g\n",dr);. ffl
4120: 75 73 68 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d ush(out);. dr =
4130: 20 30 2e 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 0.0; clear_trac
4140: 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 es();. av_start
4150: 5f 64 6f 75 62 6c 65 28 61 2c 64 5f 69 64 69 64 _double(a,d_idid
4160: 2c 26 64 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 ,&dr);. av_int(
4170: 61 2c 69 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,i1);. av_doub
4180: 6c 65 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 69 le(a,d2);. av_i
4190: 6e 74 28 61 2c 69 33 29 3b 0a 20 20 61 76 5f 64 nt(a,i3);. av_d
41a0: 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 61 ouble(a,d4);. a
41b0: 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 v_call(a);. fpr
41c0: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e intf(out,"->%g\n
41d0: 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",dr);. fflush(
41e0: 6f 75 74 29 3b 0a 0a 20 20 75 73 72 20 3d 20 75 out);.. usr = u
41f0: 73 5f 63 64 63 64 28 63 31 2c 64 32 2c 63 33 2c s_cdcd(c1,d2,c3,
4200: 64 34 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f d4);. fprintf(o
4210: 75 74 2c 22 2d 3e 25 75 5c 6e 22 2c 75 73 72 29 ut,"->%u\n",usr)
4220: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
4230: 0a 20 20 75 73 72 20 3d 20 30 3b 20 63 6c 65 61 . usr = 0; clea
4240: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
4250: 5f 73 74 61 72 74 5f 75 73 68 6f 72 74 28 61 2c _start_ushort(a,
4260: 75 73 5f 63 64 63 64 2c 26 75 73 72 29 3b 0a 20 us_cdcd,&usr);.
4270: 20 61 76 5f 63 68 61 72 28 61 2c 63 31 29 3b 0a av_char(a,c1);.
4280: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 32 av_double(a,d2
4290: 29 3b 0a 20 20 61 76 5f 63 68 61 72 28 61 2c 63 );. av_char(a,c
42a0: 33 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 3);. av_double(
42b0: 61 2c 64 34 29 3b 0a 20 20 61 76 5f 63 61 6c 6c a,d4);. av_call
42c0: 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f (a);. fprintf(o
42d0: 75 74 2c 22 2d 3e 25 75 5c 6e 22 2c 75 73 72 29 ut,"->%u\n",usr)
42e0: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
42f0: 0a 0a 23 69 66 64 65 66 20 48 41 56 45 5f 4c 4f ..#ifdef HAVE_LO
4300: 4e 47 5f 4c 4f 4e 47 5f 49 4e 54 0a 20 20 2f 2a NG_LONG_INT. /*
4310: 20 4c 6f 6e 67 20 6c 6f 6e 67 20 74 79 70 65 73 Long long types
4320: 2e 0a 20 20 20 2a 2f 0a 20 20 6c 6c 72 20 3d 20 .. */. llr =
4330: 6c 6c 5f 66 6c 6c 69 28 66 31 33 2c 6c 6c 31 2c ll_flli(f13,ll1,
4340: 69 31 33 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 i13);. fprintf(
4350: 6f 75 74 2c 22 2d 3e 30 78 25 6c 78 25 30 38 6c out,"->0x%lx%08l
4360: 78 5c 6e 22 2c 28 6c 6f 6e 67 29 28 6c 6c 72 3e x\n",(long)(llr>
4370: 3e 33 32 29 2c 28 6c 6f 6e 67 29 28 6c 6c 72 26 >32),(long)(llr&
4380: 30 78 66 66 66 66 66 66 66 66 29 29 3b 0a 20 20 0xffffffff));.
4390: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 6c fflush(out);. l
43a0: 6c 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 lr = 0; clear_tr
43b0: 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 aces();. av_sta
43c0: 72 74 5f 6c 6f 6e 67 6c 6f 6e 67 28 61 2c 6c 6c rt_longlong(a,ll
43d0: 5f 66 6c 6c 69 2c 26 6c 6c 72 29 3b 0a 20 20 61 _flli,&llr);. a
43e0: 76 5f 66 6c 6f 61 74 28 61 2c 66 31 33 29 3b 0a v_float(a,f13);.
43f0: 20 20 61 76 5f 6c 6f 6e 67 6c 6f 6e 67 28 61 2c av_longlong(a,
4400: 6c 6c 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ll1);. av_int(a
4410: 2c 69 31 33 29 3b 0a 20 20 61 76 5f 63 61 6c 6c ,i13);. av_call
4420: 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f (a);. fprintf(o
4430: 75 74 2c 22 2d 3e 30 78 25 6c 78 25 30 38 6c 78 ut,"->0x%lx%08lx
4440: 5c 6e 22 2c 28 6c 6f 6e 67 29 28 6c 6c 72 3e 3e \n",(long)(llr>>
4450: 33 32 29 2c 28 6c 6f 6e 67 29 28 6c 6c 72 26 30 32),(long)(llr&0
4460: 78 66 66 66 66 66 66 66 66 29 29 3b 0a 20 20 66 xffffffff));. f
4470: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 23 65 6e 64 flush(out);.#end
4480: 69 66 0a 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a if.. return;.}.
4490: 76 6f 69 64 0a 20 20 70 6f 69 6e 74 65 72 5f 74 void. pointer_t
44a0: 65 73 74 73 20 28 76 6f 69 64 29 0a 7b 0a 20 20 ests (void).{.
44b0: 61 76 5f 61 6c 69 73 74 20 61 3b 0a 20 20 76 6f av_alist a;. vo
44c0: 69 64 2a 20 76 70 72 3b 0a 0a 20 20 76 70 72 20 id* vpr;.. vpr
44d0: 3d 20 76 70 5f 76 70 64 70 63 70 73 70 28 26 75 = vp_vpdpcpsp(&u
44e0: 63 31 2c 26 64 32 2c 73 74 72 33 2c 26 49 34 29 c1,&d2,str3,&I4)
44f0: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
4500: 22 2d 3e 30 78 25 6c 78 5c 6e 22 2c 28 6c 6f 6e "->0x%lx\n",(lon
4510: 67 29 76 70 72 29 3b 0a 20 20 66 66 6c 75 73 68 g)vpr);. fflush
4520: 28 6f 75 74 29 3b 0a 20 20 76 70 72 20 3d 20 30 (out);. vpr = 0
4530: 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 ; clear_traces()
4540: 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 70 74 72 ;. av_start_ptr
4550: 28 61 2c 76 70 5f 76 70 64 70 63 70 73 70 2c 76 (a,vp_vpdpcpsp,v
4560: 6f 69 64 2a 2c 26 76 70 72 29 3b 0a 20 20 61 76 oid*,&vpr);. av
4570: 5f 70 74 72 28 61 2c 76 6f 69 64 2a 2c 26 75 63 _ptr(a,void*,&uc
4580: 31 29 3b 0a 20 20 61 76 5f 70 74 72 28 61 2c 64 1);. av_ptr(a,d
4590: 6f 75 62 6c 65 2a 2c 26 64 32 29 3b 0a 20 20 61 ouble*,&d2);. a
45a0: 76 5f 70 74 72 28 61 2c 63 68 61 72 2a 2c 73 74 v_ptr(a,char*,st
45b0: 72 33 29 3b 0a 20 20 61 76 5f 70 74 72 28 61 2c r3);. av_ptr(a,
45c0: 49 6e 74 2a 2c 26 49 34 29 3b 0a 20 20 61 76 5f Int*,&I4);. av_
45d0: 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e call(a);. fprin
45e0: 74 66 28 6f 75 74 2c 22 2d 3e 30 78 25 6c 78 5c tf(out,"->0x%lx\
45f0: 6e 22 2c 28 6c 6f 6e 67 29 76 70 72 29 3b 0a 20 n",(long)vpr);.
4600: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 fflush(out);..
4610: 20 72 65 74 75 72 6e 3b 0a 7d 0a 76 6f 69 64 0a return;.}.void.
4620: 20 20 73 74 72 75 63 74 75 72 65 5f 74 65 73 74 structure_test
4630: 73 20 28 76 6f 69 64 29 0a 7b 0a 20 20 61 76 5f s (void).{. av_
4640: 61 6c 69 73 74 20 61 3b 0a 20 20 49 6e 74 20 49 alist a;. Int I
4650: 72 3b 0a 20 20 43 68 61 72 20 43 72 3b 0a 20 20 r;. Char Cr;.
4660: 46 6c 6f 61 74 20 46 72 3b 0a 20 20 44 6f 75 62 Float Fr;. Doub
4670: 6c 65 20 44 72 3b 0a 20 20 4a 20 4a 72 3b 0a 20 le Dr;. J Jr;.
4680: 20 54 20 54 72 3b 0a 20 20 58 20 58 72 3b 0a 0a T Tr;. X Xr;..
4690: 20 20 49 72 20 3d 20 49 5f 49 49 49 28 49 31 2c Ir = I_III(I1,
46a0: 49 32 2c 49 33 29 3b 0a 20 20 66 70 72 69 6e 74 I2,I3);. fprint
46b0: 66 28 6f 75 74 2c 22 2d 3e 7b 25 64 7d 5c 6e 22 f(out,"->{%d}\n"
46c0: 2c 49 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 ,Ir.x);. fflush
46d0: 28 6f 75 74 29 3b 0a 20 20 49 72 2e 78 20 3d 20 (out);. Ir.x =
46e0: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
46f0: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 73 74 );. av_start_st
4700: 72 75 63 74 28 61 2c 49 5f 49 49 49 2c 49 6e 74 ruct(a,I_III,Int
4710: 2c 31 2c 26 49 72 29 3b 0a 20 20 61 76 5f 73 74 ,1,&Ir);. av_st
4720: 72 75 63 74 28 61 2c 49 6e 74 2c 49 31 29 3b 0a ruct(a,Int,I1);.
4730: 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c 49 6e av_struct(a,In
4740: 74 2c 49 32 29 3b 0a 20 20 61 76 5f 73 74 72 75 t,I2);. av_stru
4750: 63 74 28 61 2c 49 6e 74 2c 49 33 29 3b 0a 20 20 ct(a,Int,I3);.
4760: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
4770: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 25 64 rintf(out,"->{%d
4780: 7d 5c 6e 22 2c 49 72 2e 78 29 3b 0a 20 20 66 66 }\n",Ir.x);. ff
4790: 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 23 69 66 6e lush(out);..#ifn
47a0: 64 65 66 20 53 4b 49 50 5f 45 58 54 52 41 5f 53 def SKIP_EXTRA_S
47b0: 54 52 55 43 54 53 0a 20 20 43 72 20 3d 20 43 5f TRUCTS. Cr = C_
47c0: 43 64 43 28 43 31 2c 64 32 2c 43 33 29 3b 0a 20 CdC(C1,d2,C3);.
47d0: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
47e0: 7b 27 25 63 27 7d 5c 6e 22 2c 43 72 2e 78 29 3b {'%c'}\n",Cr.x);
47f0: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
4800: 20 20 43 72 2e 78 20 3d 20 27 5c 30 27 3b 20 63 Cr.x = '\0'; c
4810: 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 lear_traces();.
4820: 20 61 76 5f 73 74 61 72 74 5f 73 74 72 75 63 74 av_start_struct
4830: 28 61 2c 43 5f 43 64 43 2c 43 68 61 72 2c 31 2c (a,C_CdC,Char,1,
4840: 26 43 72 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 &Cr);. av_struc
4850: 74 28 61 2c 43 68 61 72 2c 43 31 29 3b 0a 20 20 t(a,Char,C1);.
4860: 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 32 29 3b av_double(a,d2);
4870: 0a 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c 43 . av_struct(a,C
4880: 68 61 72 2c 43 33 29 3b 0a 20 20 61 76 5f 63 61 har,C3);. av_ca
4890: 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 ll(a);. fprintf
48a0: 28 6f 75 74 2c 22 2d 3e 7b 27 25 63 27 7d 5c 6e (out,"->{'%c'}\n
48b0: 22 2c 43 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 ",Cr.x);. fflus
48c0: 68 28 6f 75 74 29 3b 0a 0a 20 20 46 72 20 3d 20 h(out);.. Fr =
48d0: 46 5f 46 66 64 28 46 31 2c 66 32 2c 64 33 29 3b F_Ffd(F1,f2,d3);
48e0: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
48f0: 2d 3e 7b 25 67 7d 5c 6e 22 2c 46 72 2e 78 29 3b ->{%g}\n",Fr.x);
4900: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
4910: 20 20 46 72 2e 78 20 3d 20 30 2e 30 3b 20 63 6c Fr.x = 0.0; cl
4920: 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 ear_traces();.
4930: 61 76 5f 73 74 61 72 74 5f 73 74 72 75 63 74 28 av_start_struct(
4940: 61 2c 46 5f 46 66 64 2c 46 6c 6f 61 74 2c 61 76 a,F_Ffd,Float,av
4950: 5f 77 6f 72 64 5f 73 70 6c 69 74 74 61 62 6c 65 _word_splittable
4960: 5f 31 28 66 6c 6f 61 74 29 2c 26 46 72 29 3b 0a _1(float),&Fr);.
4970: 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c 46 6c av_struct(a,Fl
4980: 6f 61 74 2c 46 31 29 3b 0a 20 20 61 76 5f 66 6c oat,F1);. av_fl
4990: 6f 61 74 28 61 2c 66 32 29 3b 0a 20 20 61 76 5f oat(a,f2);. av_
49a0: 64 6f 75 62 6c 65 28 61 2c 64 33 29 3b 0a 20 20 double(a,d3);.
49b0: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
49c0: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 25 67 rintf(out,"->{%g
49d0: 7d 5c 6e 22 2c 46 72 2e 78 29 3b 0a 20 20 66 66 }\n",Fr.x);. ff
49e0: 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 44 72 lush(out);.. Dr
49f0: 20 3d 20 44 5f 66 44 64 28 66 31 2c 44 32 2c 64 = D_fDd(f1,D2,d
4a00: 33 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 3);. fprintf(ou
4a10: 74 2c 22 2d 3e 7b 25 67 7d 5c 6e 22 2c 44 72 2e t,"->{%g}\n",Dr.
4a20: 78 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 x);. fflush(out
4a30: 29 3b 0a 20 20 44 72 2e 78 20 3d 20 30 2e 30 3b );. Dr.x = 0.0;
4a40: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
4a50: 0a 20 20 61 76 5f 73 74 61 72 74 5f 73 74 72 75 . av_start_stru
4a60: 63 74 28 61 2c 44 5f 66 44 64 2c 44 6f 75 62 6c ct(a,D_fDd,Doubl
4a70: 65 2c 61 76 5f 77 6f 72 64 5f 73 70 6c 69 74 74 e,av_word_splitt
4a80: 61 62 6c 65 5f 31 28 64 6f 75 62 6c 65 29 2c 26 able_1(double),&
4a90: 44 72 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 Dr);. av_float(
4aa0: 61 2c 66 31 29 3b 0a 20 20 61 76 5f 73 74 72 75 a,f1);. av_stru
4ab0: 63 74 28 61 2c 44 6f 75 62 6c 65 2c 44 32 29 3b ct(a,Double,D2);
4ac0: 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 . av_double(a,d
4ad0: 33 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3);. av_call(a)
4ae0: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
4af0: 22 2d 3e 7b 25 67 7d 5c 6e 22 2c 44 72 2e 78 29 "->{%g}\n",Dr.x)
4b00: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
4b10: 0a 23 65 6e 64 69 66 0a 0a 20 20 4a 72 20 3d 20 .#endif.. Jr =
4b20: 4a 5f 4a 69 4a 28 4a 31 2c 69 32 2c 4a 32 29 3b J_JiJ(J1,i2,J2);
4b30: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
4b40: 2d 3e 7b 25 6c 64 2c 25 6c 64 7d 5c 6e 22 2c 4a ->{%ld,%ld}\n",J
4b50: 72 2e 6c 31 2c 4a 72 2e 6c 32 29 3b 0a 20 20 66 r.l1,Jr.l2);. f
4b60: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 4a 72 flush(out);. Jr
4b70: 2e 6c 31 20 3d 20 4a 72 2e 6c 32 20 3d 20 30 3b .l1 = Jr.l2 = 0;
4b80: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
4b90: 0a 20 20 61 76 5f 73 74 61 72 74 5f 73 74 72 75 . av_start_stru
4ba0: 63 74 28 61 2c 4a 5f 4a 69 4a 2c 4a 2c 61 76 5f ct(a,J_JiJ,J,av_
4bb0: 77 6f 72 64 5f 73 70 6c 69 74 74 61 62 6c 65 5f word_splittable_
4bc0: 32 28 6c 6f 6e 67 2c 6c 6f 6e 67 29 2c 26 4a 72 2(long,long),&Jr
4bd0: 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 74 28 61 );. av_struct(a
4be0: 2c 4a 2c 4a 31 29 3b 0a 20 20 61 76 5f 69 6e 74 ,J,J1);. av_int
4bf0: 28 61 2c 69 32 29 3b 0a 20 20 61 76 5f 73 74 72 (a,i2);. av_str
4c00: 75 63 74 28 61 2c 4a 2c 4a 32 29 3b 0a 20 20 61 uct(a,J,J2);. a
4c10: 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 v_call(a);. fpr
4c20: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 25 6c 64 intf(out,"->{%ld
4c30: 2c 25 6c 64 7d 5c 6e 22 2c 4a 72 2e 6c 31 2c 4a ,%ld}\n",Jr.l1,J
4c40: 72 2e 6c 32 29 3b 0a 20 20 66 66 6c 75 73 68 28 r.l2);. fflush(
4c50: 6f 75 74 29 3b 0a 0a 23 69 66 6e 64 65 66 20 53 out);..#ifndef S
4c60: 4b 49 50 5f 45 58 54 52 41 5f 53 54 52 55 43 54 KIP_EXTRA_STRUCT
4c70: 53 0a 23 69 66 6e 64 65 66 20 53 4b 49 50 5f 54 S.#ifndef SKIP_T
4c80: 0a 20 20 54 72 20 3d 20 54 5f 54 63 54 28 54 31 . Tr = T_TcT(T1
4c90: 2c 27 20 27 2c 54 32 29 3b 0a 20 20 66 70 72 69 ,' ',T2);. fpri
4ca0: 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 5c 22 25 63 ntf(out,"->{\"%c
4cb0: 25 63 25 63 5c 22 7d 5c 6e 22 2c 54 72 2e 63 5b %c%c\"}\n",Tr.c[
4cc0: 30 5d 2c 54 72 2e 63 5b 31 5d 2c 54 72 2e 63 5b 0],Tr.c[1],Tr.c[
4cd0: 32 5d 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 2]);. fflush(ou
4ce0: 74 29 3b 0a 20 20 54 72 2e 63 5b 30 5d 20 3d 20 t);. Tr.c[0] =
4cf0: 54 72 2e 63 5b 31 5d 20 3d 20 54 72 2e 63 5b 32 Tr.c[1] = Tr.c[2
4d00: 5d 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 ] = 0; clear_tra
4d10: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
4d20: 74 5f 73 74 72 75 63 74 28 61 2c 54 5f 54 63 54 t_struct(a,T_TcT
4d30: 2c 54 2c 31 2c 26 54 72 29 3b 0a 20 20 61 76 5f ,T,1,&Tr);. av_
4d40: 73 74 72 75 63 74 28 61 2c 54 2c 54 31 29 3b 0a struct(a,T,T1);.
4d50: 20 20 61 76 5f 63 68 61 72 28 61 2c 27 20 27 29 av_char(a,' ')
4d60: 3b 0a 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c ;. av_struct(a,
4d70: 54 2c 54 32 29 3b 0a 20 20 61 76 5f 63 61 6c 6c T,T2);. av_call
4d80: 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f (a);. fprintf(o
4d90: 75 74 2c 22 2d 3e 7b 5c 22 25 63 25 63 25 63 5c ut,"->{\"%c%c%c\
4da0: 22 7d 5c 6e 22 2c 54 72 2e 63 5b 30 5d 2c 54 72 "}\n",Tr.c[0],Tr
4db0: 2e 63 5b 31 5d 2c 54 72 2e 63 5b 32 5d 29 3b 0a .c[1],Tr.c[2]);.
4dc0: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 23 fflush(out);.#
4dd0: 65 6e 64 69 66 0a 0a 20 20 58 72 20 3d 20 58 5f endif.. Xr = X_
4de0: 42 63 64 42 28 42 31 2c 63 32 2c 64 33 2c 42 32 BcdB(B1,c2,d3,B2
4df0: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
4e00: 2c 22 2d 3e 7b 5c 22 25 73 5c 22 2c 27 25 63 27 ,"->{\"%s\",'%c'
4e10: 7d 5c 6e 22 2c 58 72 2e 63 2c 58 72 2e 63 31 29 }\n",Xr.c,Xr.c1)
4e20: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
4e30: 0a 20 20 58 72 2e 63 5b 30 5d 3d 58 72 2e 63 31 . Xr.c[0]=Xr.c1
4e40: 3d 27 5c 30 27 3b 20 63 6c 65 61 72 5f 74 72 61 ='\0'; clear_tra
4e50: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
4e60: 74 5f 73 74 72 75 63 74 28 61 2c 58 5f 42 63 64 t_struct(a,X_Bcd
4e70: 42 2c 58 2c 30 2c 26 58 72 29 3b 0a 20 20 61 76 B,X,0,&Xr);. av
4e80: 5f 73 74 72 75 63 74 28 61 2c 42 2c 42 31 29 3b _struct(a,B,B1);
4e90: 0a 20 20 61 76 5f 63 68 61 72 28 61 2c 63 32 29 . av_char(a,c2)
4ea0: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
4eb0: 64 33 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 74 d3);. av_struct
4ec0: 28 61 2c 42 2c 42 32 29 3b 0a 20 20 61 76 5f 63 (a,B,B2);. av_c
4ed0: 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 all(a);. fprint
4ee0: 66 28 6f 75 74 2c 22 2d 3e 7b 5c 22 25 73 5c 22 f(out,"->{\"%s\"
4ef0: 2c 27 25 63 27 7d 5c 6e 22 2c 58 72 2e 63 2c 58 ,'%c'}\n",Xr.c,X
4f00: 72 2e 63 31 29 3b 0a 20 20 66 66 6c 75 73 68 28 r.c1);. fflush(
4f10: 6f 75 74 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 out);.#endif..
4f20: 72 65 74 75 72 6e 3b 0a 7d 0a 69 6e 74 0a 20 20 return;.}.int.
4f30: 6d 61 69 6e 20 28 76 6f 69 64 29 0a 7b 0a 20 20 main (void).{.
4f40: 6f 75 74 20 3d 20 73 74 64 6f 75 74 3b 0a 20 20 out = stdout;.
4f50: 76 6f 69 64 5f 74 65 73 74 73 28 29 3b 0a 20 20 void_tests();.
4f60: 69 6e 74 5f 74 65 73 74 73 28 29 3b 0a 20 20 66 int_tests();. f
4f70: 6c 6f 61 74 5f 74 65 73 74 73 28 29 3b 0a 20 20 loat_tests();.
4f80: 64 6f 75 62 6c 65 5f 74 65 73 74 73 28 29 3b 0a double_tests();.
4f90: 20 20 6d 69 78 65 64 5f 6e 75 6d 62 65 72 5f 74 mixed_number_t
4fa0: 65 73 74 73 28 29 3b 0a 20 20 70 6f 69 6e 74 65 ests();. pointe
4fb0: 72 5f 74 65 73 74 73 28 29 3b 0a 20 20 73 74 72 r_tests();. str
4fc0: 75 63 74 75 72 65 5f 74 65 73 74 73 28 29 3b 0a ucture_tests();.
4fd0: 0a 20 20 65 78 69 74 28 30 29 3b 0a 7d 0a 0a 23 . exit(0);.}..#
4fe0: 65 6e 64 69 66 20 2f 2a 5f 74 65 73 74 73 5f 63 endif /*_tests_c
4ff0: 20 2a 2f 0a */.