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: 0a 20 20 54 68 69 73 20 69 73 20 66 72 65 65 20 . This is free
0080: 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 software distrib
0090: 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 47 uted under the G
00a0: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 NU General Publi
00b0: 63 0a 20 20 4c 69 63 65 6e 63 65 20 64 65 73 63 c. Licence desc
00c0: 72 69 62 65 64 20 69 6e 20 74 68 65 20 66 69 6c ribed in the fil
00d0: 65 20 43 4f 50 59 49 4e 47 2e 20 43 6f 6e 74 61 e COPYING. Conta
00e0: 63 74 20 74 68 65 20 61 75 74 68 6f 72 20 69 66 ct the author if
00f0: 0a 20 20 79 6f 75 20 64 6f 6e 27 74 20 68 61 76 . you don't hav
0100: 65 20 74 68 69 73 20 6f 72 20 63 61 6e 27 74 20 e this or can't
0110: 6c 69 76 65 20 77 69 74 68 20 69 74 2e 20 54 68 live with it. Th
0120: 65 72 65 20 69 73 20 41 42 53 4f 4c 55 54 45 4c ere is ABSOLUTEL
0130: 59 0a 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c Y. NO WARRANTY,
0140: 20 65 78 70 6c 69 63 69 74 20 6f 72 20 69 6d 70 explicit or imp
0150: 6c 69 65 64 2c 20 6f 6e 20 74 68 69 73 20 73 6f lied, on this so
0160: 66 74 77 61 72 65 2e 0a 2a 2a 2f 0a 2f 2a 2d 2d ftware..**/./*--
0170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0190: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01b0: 2d 2d 2d 2d 0a 20 20 53 6f 6d 65 20 74 65 73 74 ----. Some test
01c0: 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 61 76 routines for av
01d0: 63 61 6c 6c 20 66 6f 72 65 69 67 6e 20 66 75 6e call foreign fun
01e0: 63 74 69 6f 6e 20 69 6e 74 65 72 66 61 63 65 2e ction interface.
01f0: 0a 20 20 54 68 65 20 63 6f 76 65 72 61 67 65 20 . The coverage
0200: 69 73 20 65 6e 74 69 72 65 6c 79 20 72 61 6e 64 is entirely rand
0210: 6f 6d 2c 20 74 68 69 73 20 6a 75 73 74 20 63 6f om, this just co
0220: 6e 74 61 69 6e 73 20 73 6f 6d 65 20 6f 66 20 74 ntains some of t
0230: 68 65 20 74 68 69 6e 67 73 0a 20 20 74 68 61 74 he things. that
0240: 20 49 20 74 68 69 6e 6b 20 61 72 65 20 6c 69 6b I think are lik
0250: 65 6c 79 20 74 6f 20 62 72 65 61 6b 2e 0a 0a 20 ely to break...
0260: 20 57 65 20 72 65 61 6c 6c 79 20 6e 65 65 64 20 We really need
0270: 74 6f 20 61 64 64 20 73 6f 6d 65 20 6d 6f 72 65 to add some more
0280: 20 70 6f 69 6e 74 65 72 20 28 76 6f 69 64 2a 20 pointer (void*
0290: 2f 20 63 68 61 72 2a 20 2f 20 66 75 6e 63 2a 29 / char* / func*)
02a0: 20 74 65 73 74 73 0a 20 20 61 6e 64 20 73 6f 6d tests. and som
02b0: 65 20 76 61 72 61 72 67 73 20 6f 6e 65 73 2c 20 e varargs ones,
02c0: 61 6e 64 20 61 6c 73 6f 20 74 72 79 20 74 6f 20 and also try to
02d0: 74 65 73 74 20 73 74 72 75 63 74 75 72 65 20 61 test structure a
02e0: 6c 69 67 6e 6d 65 6e 74 20 6d 6f 72 65 0a 20 20 lignment more.
02f0: 74 68 72 6f 75 67 68 6c 79 2e 0a 20 2d 2d 2d 2d throughly.. ----
0300: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0310: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0320: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0330: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0340: 2d 2d 2a 2f 0a 23 69 6e 63 6c 75 64 65 20 3c 73 --*/.#include <s
0350: 74 64 69 6f 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 tdio.h>.#include
0360: 20 3c 73 74 64 6c 69 62 2e 68 3e 0a 23 69 6e 63 <stdlib.h>.#inc
0370: 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0a lude <string.h>.
0380: 23 69 6e 63 6c 75 64 65 20 22 61 76 63 61 6c 6c #include "avcall
0390: 2e 68 22 0a 46 49 4c 45 2a 20 6f 75 74 3b 0a 0a .h".FILE* out;..
03a0: 2f 2a 20 4e 42 20 73 69 6e 63 65 20 4b 26 52 20 /* NB since K&R
03b0: 43 20 61 6c 77 61 79 73 20 70 61 73 73 65 73 20 C always passes
03c0: 63 68 61 72 73 20 61 6e 64 20 73 68 6f 72 74 73 chars and shorts
03d0: 20 61 73 20 69 6e 74 73 20 61 6e 64 20 66 6c 6f as ints and flo
03e0: 61 74 73 20 61 73 20 64 6f 75 62 6c 65 73 2c 0a ats as doubles,.
03f0: 20 2a 20 75 6e 70 72 6f 74 6f 74 79 70 65 64 20 * unprototyped
0400: 41 4e 53 49 2d 43 20 66 75 6e 63 74 69 6f 6e 73 ANSI-C functions
0410: 20 6d 75 73 74 20 64 6f 20 74 68 65 20 73 61 6d must do the sam
0420: 65 2c 20 65 67 3a 0a 20 2a 20 2d 20 66 6f 6f 28 e, eg:. * - foo(
0430: 78 29 20 66 6c 6f 61 74 20 78 3b 20 7b 20 2e 2e x) float x; { ..
0440: 2e 20 7d 20 70 61 73 73 65 73 20 78 20 61 73 20 . } passes x as
0450: 61 20 64 6f 75 62 6c 65 20 26 20 63 6f 6e 76 65 a double & conve
0460: 72 74 73 20 69 74 20 74 6f 20 61 20 66 6c 6f 61 rts it to a floa
0470: 74 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 2a t internally.. *
0480: 20 2d 20 66 6f 6f 28 66 6c 6f 61 74 20 78 29 20 - foo(float x)
0490: 7b 20 2e 2e 2e 20 7d 20 70 61 73 73 65 73 20 78 { ... } passes x
04a0: 20 61 73 20 61 20 66 6c 6f 61 74 2e 0a 20 2a 2f as a float.. */
04b0: 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 53 .#if defined(__S
04c0: 54 44 43 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 TDC__) || define
04d0: 64 28 5f 5f 47 4e 55 43 5f 5f 29 20 7c 7c 20 64 d(__GNUC__) || d
04e0: 65 66 69 6e 65 64 28 5f 5f 63 70 6c 75 73 70 6c efined(__cpluspl
04f0: 75 73 29 0a 23 64 65 66 69 6e 65 20 5f 20 2c 0a us).#define _ ,.
0500: 23 64 65 66 69 6e 65 20 5f 50 28 41 52 47 53 2c #define _P(ARGS,
0510: 54 59 50 45 53 29 20 28 54 59 50 45 53 29 0a 23 TYPES) (TYPES).#
0520: 65 6c 73 65 0a 23 64 65 66 69 6e 65 20 5f 20 3b else.#define _ ;
0530: 0a 23 64 65 66 69 6e 65 20 5f 50 28 41 52 47 53 .#define _P(ARGS
0540: 2c 54 59 50 45 53 29 20 41 52 47 53 20 54 59 50 ,TYPES) ARGS TYP
0550: 45 53 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 ES;.#endif..#if
0560: 64 65 66 69 6e 65 64 28 5f 5f 68 70 70 61 5f 5f defined(__hppa__
0570: 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f 47 ) && defined(__G
0580: 4e 55 43 5f 5f 29 0a 23 69 66 20 28 5f 5f 47 4e NUC__).#if (__GN
0590: 55 43 5f 5f 20 3d 3d 20 32 20 26 26 20 5f 5f 47 UC__ == 2 && __G
05a0: 4e 55 43 5f 4d 49 4e 4f 52 5f 5f 20 3c 20 36 29 NUC_MINOR__ < 6)
05b0: 0a 2f 2a 20 67 63 63 2d 32 2e 35 2e 32 20 62 75 ./* gcc-2.5.2 bu
05c0: 67 73 20 70 72 65 76 65 6e 74 20 74 68 65 20 54 gs prevent the T
05d0: 20 74 65 73 74 20 66 72 6f 6d 20 77 6f 72 6b 69 test from worki
05e0: 6e 67 2e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 ng. */.#define S
05f0: 4b 49 50 5f 54 0a 23 65 6e 64 69 66 0a 23 65 6e KIP_T.#endif.#en
0600: 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28 dif.#if defined(
0610: 5f 5f 6d 36 38 6b 5f 5f 29 20 26 26 20 64 65 66 __m68k__) && def
0620: 69 6e 65 64 28 5f 5f 47 4e 55 43 5f 5f 29 0a 2f ined(__GNUC__)./
0630: 2a 20 22 67 63 63 2d 32 2e 36 2e 33 20 2d 66 72 * "gcc-2.6.3 -fr
0640: 65 67 2d 73 74 72 75 63 74 2d 72 65 74 75 72 6e eg-struct-return
0650: 22 20 72 65 74 75 72 6e 73 20 20 54 20 3d 20 73 " returns T = s
0660: 74 72 75 63 74 20 7b 20 63 68 61 72 20 63 5b 33 truct { char c[3
0670: 5d 3b 20 7d 20 20 28 77 68 69 63 68 0a 20 2a 20 ]; } (which. *
0680: 68 61 73 20 73 69 7a 65 20 34 20 21 29 20 69 6e has size 4 !) in
0690: 20 6d 65 6d 6f 72 79 2c 20 69 6e 20 63 6f 6e 74 memory, in cont
06a0: 72 61 73 74 20 74 6f 20 20 73 74 72 75 63 74 20 rast to struct
06b0: 7b 20 63 68 61 72 20 61 2c 62 2c 63 3b 20 7d 20 { char a,b,c; }
06c0: 20 61 6e 64 0a 20 2a 20 73 74 72 75 63 74 20 7b and. * struct {
06d0: 20 63 68 61 72 20 63 5b 34 5d 3b 20 7d 20 20 61 char c[4]; } a
06e0: 6e 64 20 20 73 74 72 75 63 74 20 7b 20 63 68 61 nd struct { cha
06f0: 72 20 61 2c 62 2c 63 2c 64 3b 20 7d 20 20 77 68 r a,b,c,d; } wh
0700: 69 63 68 20 68 61 76 65 20 74 68 65 20 73 61 6d ich have the sam
0710: 65 0a 20 2a 20 73 69 7a 65 20 61 6e 64 20 74 68 e. * size and th
0720: 65 20 73 61 6d 65 20 61 6c 69 67 6e 6d 65 6e 74 e same alignment
0730: 20 62 75 74 20 61 72 65 20 72 65 74 75 72 6e 65 but are returne
0740: 64 20 69 6e 20 72 65 67 69 73 74 65 72 73 2e 20 d in registers.
0750: 49 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 79 I don't know why
0760: 2e 0a 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 4b .. */.#define SK
0770: 49 50 5f 54 0a 23 65 6e 64 69 66 0a 0a 23 69 66 IP_T.#endif..#if
0780: 20 64 65 66 69 6e 65 64 28 41 4d 49 47 41 29 0a defined(AMIGA).
0790: 2f 2a 20 57 65 20 64 6f 6e 27 74 20 74 65 73 74 /* We don't test
07a0: 20 70 61 73 73 69 6e 67 20 61 72 67 75 6d 65 6e passing argumen
07b0: 74 73 20 69 6e 20 72 65 67 69 73 74 65 72 73 20 ts in registers
07c0: 79 65 74 2e 0a 20 2a 20 2d 31 20 6d 65 61 6e 73 yet.. * -1 means
07d0: 20 70 61 73 73 69 6e 67 20 61 6e 20 61 72 67 75 passing an argu
07e0: 6d 65 6e 74 20 69 6e 20 74 68 65 20 73 74 61 63 ment in the stac
07f0: 6b 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 72 k instead of a r
0800: 65 67 69 73 74 65 72 2e 0a 20 2a 2f 0a 23 64 65 egister.. */.#de
0810: 66 69 6e 65 20 41 56 5f 41 52 47 5f 52 45 47 4e fine AV_ARG_REGN
0820: 55 4d 20 2d 31 0a 23 65 6e 64 69 66 0a 0a 23 64 UM -1.#endif..#d
0830: 65 66 69 6e 65 20 75 63 68 61 72 20 75 6e 73 69 efine uchar unsi
0840: 67 6e 65 64 20 63 68 61 72 0a 23 64 65 66 69 6e gned char.#defin
0850: 65 20 75 73 68 6f 72 74 20 75 6e 73 69 67 6e 65 e ushort unsigne
0860: 64 20 73 68 6f 72 74 0a 23 64 65 66 69 6e 65 20 d short.#define
0870: 75 69 6e 74 20 75 6e 73 69 67 6e 65 64 20 69 6e uint unsigned in
0880: 74 0a 23 64 65 66 69 6e 65 20 75 6c 6f 6e 67 20 t.#define ulong
0890: 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 0a 0a 74 unsigned long..t
08a0: 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 20 ypedef struct {
08b0: 63 68 61 72 20 78 3b 20 7d 20 43 68 61 72 3b 0a char x; } Char;.
08c0: 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b typedef struct {
08d0: 20 73 68 6f 72 74 20 78 3b 20 7d 20 53 68 6f 72 short x; } Shor
08e0: 74 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 t;.typedef struc
08f0: 74 20 7b 20 69 6e 74 20 78 3b 20 7d 20 49 6e 74 t { int x; } Int
0900: 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 ;.typedef struct
0910: 20 7b 20 6c 6f 6e 67 20 78 3b 20 7d 20 4c 6f 6e { long x; } Lon
0920: 67 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 g;.typedef struc
0930: 74 20 7b 20 66 6c 6f 61 74 20 78 3b 20 7d 20 46 t { float x; } F
0940: 6c 6f 61 74 3b 0a 74 79 70 65 64 65 66 20 73 74 loat;.typedef st
0950: 72 75 63 74 20 7b 20 64 6f 75 62 6c 65 20 78 3b ruct { double x;
0960: 20 7d 20 44 6f 75 62 6c 65 3b 0a 74 79 70 65 64 } Double;.typed
0970: 65 66 20 73 74 72 75 63 74 20 7b 20 63 68 61 72 ef struct { char
0980: 20 63 3b 20 66 6c 6f 61 74 20 66 3b 20 7d 20 41 c; float f; } A
0990: 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 ;.typedef struct
09a0: 20 7b 20 64 6f 75 62 6c 65 20 64 3b 20 69 6e 74 { double d; int
09b0: 20 69 5b 33 5d 3b 20 7d 20 42 3b 0a 74 79 70 65 i[3]; } B;.type
09c0: 64 65 66 20 73 74 72 75 63 74 20 7b 20 6c 6f 6e def struct { lon
09d0: 67 20 6c 31 3b 20 6c 6f 6e 67 20 6c 32 3b 20 7d g l1; long l2; }
09e0: 20 4a 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 J;.typedef stru
09f0: 63 74 20 7b 20 63 68 61 72 20 63 5b 33 5d 3b 20 ct { char c[3];
0a00: 7d 20 54 3b 0a 74 79 70 65 64 65 66 20 73 74 72 } T;.typedef str
0a10: 75 63 74 20 7b 20 63 68 61 72 20 63 5b 33 33 5d uct { char c[33]
0a20: 2c 63 31 3b 20 7d 20 58 3b 0a 0a 63 68 61 72 20 ,c1; } X;..char
0a30: 63 31 3d 27 61 27 2c 20 63 32 3d 31 32 37 2c 20 c1='a', c2=127,
0a40: 63 33 3d 28 63 68 61 72 29 31 32 38 2c 20 63 34 c3=(char)128, c4
0a50: 3d 28 63 68 61 72 29 32 35 35 2c 20 63 35 3d 2d =(char)255, c5=-
0a60: 31 3b 0a 73 68 6f 72 74 20 73 31 3d 33 32 37 36 1;.short s1=3276
0a70: 37 2c 20 73 32 3d 28 73 68 6f 72 74 29 33 32 37 7, s2=(short)327
0a80: 36 38 2c 20 73 33 3d 33 2c 20 73 34 3d 34 2c 20 68, s3=3, s4=4,
0a90: 73 35 3d 35 2c 20 73 36 3d 36 2c 20 73 37 3d 37 s5=5, s6=6, s7=7
0aa0: 2c 20 73 38 3d 38 2c 20 73 39 3d 39 3b 0a 69 6e , s8=8, s9=9;.in
0ab0: 74 20 69 31 3d 31 2c 20 69 32 3d 32 2c 20 69 33 t i1=1, i2=2, i3
0ac0: 3d 33 2c 20 69 34 3d 34 2c 20 69 35 3d 35 2c 20 =3, i4=4, i5=5,
0ad0: 69 36 3d 36 2c 20 69 37 3d 37 2c 20 69 38 3d 38 i6=6, i7=7, i8=8
0ae0: 2c 20 69 39 3d 39 2c 0a 20 20 20 20 69 31 30 3d , i9=9,. i10=
0af0: 31 31 2c 20 69 31 31 3d 31 32 2c 20 69 31 32 3d 11, i11=12, i12=
0b00: 31 33 2c 20 69 31 33 3d 31 34 2c 20 69 31 34 3d 13, i13=14, i14=
0b10: 31 35 2c 20 69 31 35 3d 31 36 2c 20 69 31 36 3d 15, i15=16, i16=
0b20: 31 37 3b 0a 6c 6f 6e 67 20 6c 31 3d 31 2c 20 6c 17;.long l1=1, l
0b30: 32 3d 32 2c 20 6c 33 3d 33 2c 20 6c 34 3d 34 2c 2=2, l3=3, l4=4,
0b40: 20 6c 35 3d 35 2c 20 6c 36 3d 36 2c 20 6c 37 3d l5=5, l6=6, l7=
0b50: 37 2c 20 6c 38 3d 38 2c 20 6c 39 3d 39 3b 0a 23 7, l8=8, l9=9;.#
0b60: 69 66 64 65 66 20 48 41 56 45 5f 4c 4f 4e 47 4c ifdef HAVE_LONGL
0b70: 4f 4e 47 0a 6c 6f 6e 67 20 6c 6f 6e 67 20 6c 6c ONG.long long ll
0b80: 31 20 3d 20 33 38 37 35 30 35 36 31 34 33 31 33 1 = 387505614313
0b90: 30 36 38 39 35 33 30 4c 4c 3b 0a 23 65 6e 64 69 0689530LL;.#endi
0ba0: 66 0a 66 6c 6f 61 74 20 66 31 3d 30 2e 31 2c 20 f.float f1=0.1,
0bb0: 66 32 3d 30 2e 32 2c 20 66 33 3d 30 2e 33 2c 20 f2=0.2, f3=0.3,
0bc0: 66 34 3d 30 2e 34 2c 20 66 35 3d 30 2e 35 2c 20 f4=0.4, f5=0.5,
0bd0: 66 36 3d 30 2e 36 2c 20 66 37 3d 30 2e 37 2c 20 f6=0.6, f7=0.7,
0be0: 66 38 3d 30 2e 38 2c 20 66 39 3d 30 2e 39 2c 0a f8=0.8, f9=0.9,.
0bf0: 20 20 20 20 20 20 66 31 30 3d 31 2e 31 2c 20 66 f10=1.1, f
0c00: 31 31 3d 31 2e 32 2c 20 66 31 32 3d 31 2e 33 2c 11=1.2, f12=1.3,
0c10: 20 66 31 33 3d 31 2e 34 2c 20 66 31 34 3d 31 2e f13=1.4, f14=1.
0c20: 35 2c 20 66 31 35 3d 31 2e 36 2c 20 66 31 36 3d 5, f15=1.6, f16=
0c30: 31 2e 37 3b 0a 64 6f 75 62 6c 65 20 64 31 3d 30 1.7;.double d1=0
0c40: 2e 31 2c 20 64 32 3d 30 2e 32 2c 20 64 33 3d 30 .1, d2=0.2, d3=0
0c50: 2e 33 2c 20 64 34 3d 30 2e 34 2c 20 64 35 3d 30 .3, d4=0.4, d5=0
0c60: 2e 35 2c 20 64 36 3d 30 2e 36 2c 20 64 37 3d 30 .5, d6=0.6, d7=0
0c70: 2e 37 2c 20 64 38 3d 30 2e 38 2c 20 64 39 3d 30 .7, d8=0.8, d9=0
0c80: 2e 39 2c 0a 20 20 20 20 20 20 20 64 31 30 3d 31 .9,. d10=1
0c90: 2e 31 2c 20 64 31 31 3d 31 2e 32 2c 20 64 31 32 .1, d11=1.2, d12
0ca0: 3d 31 2e 33 2c 20 64 31 33 3d 31 2e 34 2c 20 64 =1.3, d13=1.4, d
0cb0: 31 34 3d 31 2e 35 2c 20 64 31 35 3d 31 2e 36 2c 14=1.5, d15=1.6,
0cc0: 20 64 31 36 3d 31 2e 37 3b 0a 0a 75 63 68 61 72 d16=1.7;..uchar
0cd0: 20 75 63 31 3d 27 61 27 2c 20 75 63 32 3d 31 32 uc1='a', uc2=12
0ce0: 37 2c 20 75 63 33 3d 31 32 38 2c 20 75 63 34 3d 7, uc3=128, uc4=
0cf0: 32 35 35 2c 20 75 63 35 3d 2d 31 3b 0a 75 73 68 255, uc5=-1;.ush
0d00: 6f 72 74 20 75 73 31 3d 31 2c 20 75 73 32 3d 32 ort us1=1, us2=2
0d10: 2c 20 75 73 33 3d 33 2c 20 75 73 34 3d 34 2c 20 , us3=3, us4=4,
0d20: 75 73 35 3d 35 2c 20 75 73 36 3d 36 2c 20 75 73 us5=5, us6=6, us
0d30: 37 3d 37 2c 20 75 73 38 3d 38 2c 20 75 73 39 3d 7=7, us8=8, us9=
0d40: 39 3b 0a 75 69 6e 74 20 75 69 31 3d 31 2c 20 75 9;.uint ui1=1, u
0d50: 69 32 3d 32 2c 20 75 69 33 3d 33 2c 20 75 69 34 i2=2, ui3=3, ui4
0d60: 3d 34 2c 20 75 69 35 3d 35 2c 20 75 69 36 3d 36 =4, ui5=5, ui6=6
0d70: 2c 20 75 69 37 3d 37 2c 20 75 69 38 3d 38 2c 20 , ui7=7, ui8=8,
0d80: 75 69 39 3d 39 3b 0a 75 6c 6f 6e 67 20 75 6c 31 ui9=9;.ulong ul1
0d90: 3d 31 2c 20 75 6c 32 3d 32 2c 20 75 6c 33 3d 33 =1, ul2=2, ul3=3
0da0: 2c 20 75 6c 34 3d 34 2c 20 75 6c 35 3d 35 2c 20 , ul4=4, ul5=5,
0db0: 75 6c 36 3d 36 2c 20 75 6c 37 3d 37 2c 20 75 6c ul6=6, ul7=7, ul
0dc0: 38 3d 38 2c 20 75 6c 39 3d 39 3b 0a 0a 63 68 61 8=8, ul9=9;..cha
0dd0: 72 20 2a 73 74 72 31 3d 22 68 65 6c 6c 6f 22 2c r *str1="hello",
0de0: 73 74 72 32 5b 5d 3d 22 67 6f 6f 64 62 79 65 22 str2[]="goodbye"
0df0: 2c 2a 73 74 72 33 3d 22 73 74 69 6c 6c 20 68 65 ,*str3="still he
0e00: 72 65 3f 22 3b 0a 43 68 61 72 20 43 31 3d 7b 27 re?";.Char C1={'
0e10: 41 27 7d 2c 20 43 32 3d 7b 27 42 27 7d 2c 20 43 A'}, C2={'B'}, C
0e20: 33 3d 7b 27 43 27 7d 2c 20 43 34 3d 7b 27 5c 33 3={'C'}, C4={'\3
0e30: 37 37 27 7d 2c 20 43 35 3d 7b 2d 31 7d 3b 0a 53 77'}, C5={-1};.S
0e40: 68 6f 72 74 20 53 31 3d 7b 31 7d 2c 20 53 32 3d hort S1={1}, S2=
0e50: 7b 32 7d 2c 20 53 33 3d 7b 33 7d 2c 20 53 34 3d {2}, S3={3}, S4=
0e60: 7b 34 7d 2c 20 53 35 3d 7b 35 7d 2c 20 53 36 3d {4}, S5={5}, S6=
0e70: 7b 36 7d 2c 20 53 37 3d 7b 37 7d 2c 20 53 38 3d {6}, S7={7}, S8=
0e80: 7b 38 7d 2c 20 53 39 3d 7b 39 7d 3b 0a 49 6e 74 {8}, S9={9};.Int
0e90: 20 49 31 3d 7b 31 7d 2c 20 49 32 3d 7b 32 7d 2c I1={1}, I2={2},
0ea0: 20 49 33 3d 7b 33 7d 2c 20 49 34 3d 7b 34 7d 2c I3={3}, I4={4},
0eb0: 20 49 35 3d 7b 35 7d 2c 20 49 36 3d 7b 36 7d 2c I5={5}, I6={6},
0ec0: 20 49 37 3d 7b 37 7d 2c 20 49 38 3d 7b 38 7d 2c I7={7}, I8={8},
0ed0: 20 49 39 3d 7b 39 7d 3b 0a 46 6c 6f 61 74 20 46 I9={9};.Float F
0ee0: 31 3d 7b 30 2e 31 7d 2c 20 46 32 3d 7b 30 2e 32 1={0.1}, F2={0.2
0ef0: 7d 2c 20 46 33 3d 7b 30 2e 33 7d 2c 20 46 34 3d }, F3={0.3}, F4=
0f00: 7b 30 2e 34 7d 2c 20 46 35 3d 7b 30 2e 35 7d 2c {0.4}, F5={0.5},
0f10: 20 46 36 3d 7b 30 2e 36 7d 2c 20 46 37 3d 7b 30 F6={0.6}, F7={0
0f20: 2e 37 7d 2c 20 46 38 3d 7b 30 2e 38 7d 2c 20 46 .7}, F8={0.8}, F
0f30: 39 3d 7b 30 2e 39 7d 3b 0a 44 6f 75 62 6c 65 20 9={0.9};.Double
0f40: 44 31 3d 7b 30 2e 31 7d 2c 20 44 32 3d 7b 30 2e D1={0.1}, D2={0.
0f50: 32 7d 2c 20 44 33 3d 7b 30 2e 33 7d 2c 20 44 34 2}, D3={0.3}, D4
0f60: 3d 7b 30 2e 34 7d 2c 20 44 35 3d 7b 30 2e 35 7d ={0.4}, D5={0.5}
0f70: 2c 20 44 36 3d 7b 30 2e 36 7d 2c 20 44 37 3d 7b , D6={0.6}, D7={
0f80: 30 2e 37 7d 2c 20 44 38 3d 7b 30 2e 38 7d 2c 20 0.7}, D8={0.8},
0f90: 44 39 3d 7b 30 2e 39 7d 3b 0a 0a 41 20 41 31 3d D9={0.9};..A A1=
0fa0: 7b 27 61 27 2c 30 2e 31 7d 2c 41 32 3d 7b 27 62 {'a',0.1},A2={'b
0fb0: 27 2c 30 2e 32 7d 2c 41 33 3d 7b 27 5c 33 37 37 ',0.2},A3={'\377
0fc0: 27 2c 30 2e 33 7d 3b 0a 42 20 42 31 3d 7b 30 2e ',0.3};.B B1={0.
0fd0: 31 2c 7b 31 2c 32 2c 33 7d 7d 2c 42 32 3d 7b 30 1,{1,2,3}},B2={0
0fe0: 2e 32 2c 7b 35 2c 34 2c 33 7d 7d 3b 0a 4a 20 4a .2,{5,4,3}};.J J
0ff0: 31 3d 7b 34 37 2c 31 31 7d 2c 4a 32 3d 7b 37 33 1={47,11},J2={73
1000: 2c 35 35 7d 3b 0a 54 20 54 31 3d 7b 27 74 27 2c ,55};.T T1={'t',
1010: 27 68 27 2c 27 65 27 7d 2c 54 32 3d 7b 27 66 27 'h','e'},T2={'f'
1020: 2c 27 6f 27 2c 27 78 27 7d 3b 0a 58 20 58 31 3d ,'o','x'};.X X1=
1030: 7b 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e {"abcdefghijklmn
1040: 6f 70 71 72 73 74 75 76 77 78 79 7a 41 42 43 44 opqrstuvwxyzABCD
1050: 45 46 22 2c 27 47 27 7d 2c 20 58 32 3d 7b 22 31 EF",'G'}, X2={"1
1060: 32 33 22 2c 27 39 27 7d 2c 20 58 33 3d 7b 22 72 23",'9'}, X3={"r
1070: 65 74 75 72 6e 2d 72 65 74 75 72 6e 2d 72 65 74 eturn-return-ret
1080: 75 72 6e 22 2c 27 52 27 7d 3b 0a 0a 76 6f 69 64 urn",'R'};..void
1090: 20 76 5f 76 28 29 0a 7b 0a 20 20 66 70 72 69 6e v_v().{. fprin
10a0: 74 66 28 6f 75 74 2c 22 76 6f 69 64 20 66 28 76 tf(out,"void f(v
10b0: 6f 69 64 29 3a 5c 6e 22 29 3b 0a 20 20 66 66 6c oid):\n");. ffl
10c0: 75 73 68 28 6f 75 74 29 3b 0a 7d 0a 69 6e 74 20 ush(out);.}.int
10d0: 69 5f 76 28 29 0a 7b 0a 20 20 69 6e 74 20 72 3d i_v().{. int r=
10e0: 39 39 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 99;. fprintf(ou
10f0: 74 2c 22 69 6e 74 20 66 28 76 6f 69 64 29 3a 22 t,"int f(void):"
1100: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
1110: 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a ;. return r;.}.
1120: 69 6e 74 20 69 5f 69 20 5f 50 28 28 61 29 2c 20 int i_i _P((a),
1130: 69 6e 74 20 61 29 0a 7b 0a 20 20 69 6e 74 20 72 int a).{. int r
1140: 3d 61 2b 31 3b 0a 20 20 66 70 72 69 6e 74 66 28 =a+1;. fprintf(
1150: 6f 75 74 2c 22 69 6e 74 20 66 28 69 6e 74 29 3a out,"int f(int):
1160: 28 25 64 29 22 2c 61 29 3b 0a 20 20 66 66 6c 75 (%d)",a);. fflu
1170: 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 sh(out);. retur
1180: 6e 20 72 3b 0a 7d 0a 69 6e 74 20 69 5f 69 32 20 n r;.}.int i_i2
1190: 5f 50 28 28 61 2c 62 29 2c 20 69 6e 74 20 61 20 _P((a,b), int a
11a0: 5f 20 69 6e 74 20 62 29 0a 7b 0a 20 20 69 6e 74 _ int b).{. int
11b0: 20 72 3d 61 2b 62 3b 0a 20 20 66 70 72 69 6e 74 r=a+b;. fprint
11c0: 66 28 6f 75 74 2c 22 69 6e 74 20 66 28 32 2a 69 f(out,"int f(2*i
11d0: 6e 74 29 3a 28 25 64 2c 25 64 29 22 2c 61 2c 62 nt):(%d,%d)",a,b
11e0: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
11f0: 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a ;. return r;.}.
1200: 69 6e 74 20 69 5f 69 34 20 5f 50 28 28 61 2c 62 int i_i4 _P((a,b
1210: 2c 63 2c 64 29 2c 20 69 6e 74 20 61 20 5f 20 69 ,c,d), int a _ i
1220: 6e 74 20 62 20 5f 20 69 6e 74 20 63 20 5f 20 69 nt b _ int c _ i
1230: 6e 74 20 64 29 0a 7b 0a 20 20 69 6e 74 20 72 3d nt d).{. int r=
1240: 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 72 69 6e a+b+c+d;. fprin
1250: 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 28 34 2a tf(out,"int f(4*
1260: 69 6e 74 29 3a 28 25 64 2c 25 64 2c 25 64 2c 25 int):(%d,%d,%d,%
1270: 64 29 22 2c 61 2c 62 2c 63 2c 64 29 3b 0a 20 20 d)",a,b,c,d);.
1280: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 fflush(out);. r
1290: 65 74 75 72 6e 20 72 3b 0a 7d 0a 69 6e 74 20 69 eturn r;.}.int i
12a0: 5f 69 38 20 5f 50 28 28 61 2c 62 2c 63 2c 64 2c _i8 _P((a,b,c,d,
12b0: 65 2c 66 2c 67 2c 68 29 2c 0a 09 20 20 20 20 69 e,f,g,h),.. i
12c0: 6e 74 20 61 20 5f 20 69 6e 74 20 62 20 5f 20 69 nt a _ int b _ i
12d0: 6e 74 20 63 20 5f 20 69 6e 74 20 64 20 5f 20 69 nt c _ int d _ i
12e0: 6e 74 20 65 20 5f 20 69 6e 74 20 66 20 5f 20 69 nt e _ int f _ i
12f0: 6e 74 20 67 20 5f 20 69 6e 74 20 68 29 0a 7b 0a nt g _ int h).{.
1300: 20 20 69 6e 74 20 72 3d 61 2b 62 2b 63 2b 64 2b int r=a+b+c+d+
1310: 65 2b 66 2b 67 2b 68 3b 0a 20 20 66 70 72 69 6e e+f+g+h;. fprin
1320: 74 66 28 6f 75 74 2c 22 69 6e 74 20 66 28 38 2a tf(out,"int f(8*
1330: 69 6e 74 29 3a 28 25 64 2c 25 64 2c 25 64 2c 25 int):(%d,%d,%d,%
1340: 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 29 22 2c d,%d,%d,%d,%d)",
1350: 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 2c 68 29 a,b,c,d,e,f,g,h)
1360: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
1370: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 69 . return r;.}.i
1380: 6e 74 20 69 5f 69 31 36 20 5f 50 28 28 61 2c 62 nt i_i16 _P((a,b
1390: 2c 63 2c 64 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a ,c,d,e,f,g,h,i,j
13a0: 2c 6b 2c 6c 2c 6d 2c 6e 2c 6f 2c 70 29 2c 0a 09 ,k,l,m,n,o,p),..
13b0: 20 20 20 20 20 69 6e 74 20 61 20 5f 20 69 6e 74 int a _ int
13c0: 20 62 20 5f 20 69 6e 74 20 63 20 5f 20 69 6e 74 b _ int c _ int
13d0: 20 64 20 5f 20 69 6e 74 20 65 20 5f 20 69 6e 74 d _ int e _ int
13e0: 20 66 20 5f 20 69 6e 74 20 67 20 5f 20 69 6e 74 f _ int g _ int
13f0: 20 68 0a 09 20 20 20 20 20 5f 20 69 6e 74 20 69 h.. _ int i
1400: 20 5f 20 69 6e 74 20 6a 20 5f 20 69 6e 74 20 6b _ int j _ int k
1410: 20 5f 20 69 6e 74 20 6c 20 5f 20 69 6e 74 20 6d _ int l _ int m
1420: 20 5f 20 69 6e 74 20 6e 20 5f 20 69 6e 74 20 6f _ int n _ int o
1430: 20 5f 20 69 6e 74 20 70 29 0a 7b 0a 20 20 69 6e _ int p).{. in
1440: 74 20 72 3d 61 2b 62 2b 63 2b 64 2b 65 2b 66 2b t r=a+b+c+d+e+f+
1450: 67 2b 68 2b 69 2b 6a 2b 6b 2b 6c 2b 6d 2b 6e 2b g+h+i+j+k+l+m+n+
1460: 6f 2b 70 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f o+p;. fprintf(o
1470: 75 74 2c 22 69 6e 74 20 66 28 31 36 2a 69 6e 74 ut,"int f(16*int
1480: 29 3a 28 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 ):(%d,%d,%d,%d,%
1490: 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 d,%d,%d,%d,%d,%d
14a0: 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c 25 64 2c ,%d,%d,%d,%d,%d,
14b0: 25 64 29 22 2c 0a 09 20 20 61 2c 62 2c 63 2c 64 %d)",.. a,b,c,d
14c0: 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c ,e,f,g,h,i,j,k,l
14d0: 2c 6d 2c 6e 2c 6f 2c 70 29 3b 0a 20 20 66 66 6c ,m,n,o,p);. ffl
14e0: 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 ush(out);. retu
14f0: 72 6e 20 72 3b 0a 7d 0a 0a 66 6c 6f 61 74 20 66 rn r;.}..float f
1500: 5f 66 20 5f 50 28 28 61 29 2c 20 66 6c 6f 61 74 _f _P((a), float
1510: 20 61 29 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 3d a).{. float r=
1520: 61 2b 31 2e 30 3b 0a 20 20 66 70 72 69 6e 74 66 a+1.0;. fprintf
1530: 28 6f 75 74 2c 22 66 6c 6f 61 74 20 66 28 66 6c (out,"float f(fl
1540: 6f 61 74 29 3a 28 25 67 29 22 2c 61 29 3b 0a 20 oat):(%g)",a);.
1550: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
1560: 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 66 6c 6f 61 return r;.}.floa
1570: 74 20 66 5f 66 32 20 5f 50 28 28 61 2c 62 29 2c t f_f2 _P((a,b),
1580: 20 66 6c 6f 61 74 20 61 20 5f 20 66 6c 6f 61 74 float a _ float
1590: 20 62 29 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 3d b).{. float r=
15a0: 61 2b 62 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f a+b;. fprintf(o
15b0: 75 74 2c 22 66 6c 6f 61 74 20 66 28 32 2a 66 6c ut,"float f(2*fl
15c0: 6f 61 74 29 3a 28 25 67 2c 25 67 29 22 2c 61 2c oat):(%g,%g)",a,
15d0: 62 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 b);. fflush(out
15e0: 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d );. return r;.}
15f0: 0a 66 6c 6f 61 74 20 66 5f 66 34 20 5f 50 28 28 .float f_f4 _P((
1600: 61 2c 62 2c 63 2c 64 29 2c 20 66 6c 6f 61 74 20 a,b,c,d), float
1610: 61 20 5f 20 66 6c 6f 61 74 20 62 20 5f 20 66 6c a _ float b _ fl
1620: 6f 61 74 20 63 20 5f 20 66 6c 6f 61 74 20 64 29 oat c _ float d)
1630: 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 3d 61 2b 62 .{. float r=a+b
1640: 2b 63 2b 64 3b 0a 20 20 66 70 72 69 6e 74 66 28 +c+d;. fprintf(
1650: 6f 75 74 2c 22 66 6c 6f 61 74 20 66 28 34 2a 66 out,"float f(4*f
1660: 6c 6f 61 74 29 3a 28 25 67 2c 25 67 2c 25 67 2c loat):(%g,%g,%g,
1670: 25 67 29 22 2c 61 2c 62 2c 63 2c 64 29 3b 0a 20 %g)",a,b,c,d);.
1680: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
1690: 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 66 6c 6f 61 return r;.}.floa
16a0: 74 20 66 5f 66 38 20 5f 50 28 28 61 2c 62 2c 63 t f_f8 _P((a,b,c
16b0: 2c 64 2c 65 2c 66 2c 67 2c 68 29 2c 20 66 6c 6f ,d,e,f,g,h), flo
16c0: 61 74 20 61 20 5f 20 66 6c 6f 61 74 20 62 20 5f at a _ float b _
16d0: 20 66 6c 6f 61 74 20 63 20 5f 20 66 6c 6f 61 74 float c _ float
16e0: 20 64 20 5f 20 66 6c 6f 61 74 20 65 20 5f 20 66 d _ float e _ f
16f0: 6c 6f 61 74 20 66 0a 09 20 20 20 20 20 20 5f 20 loat f.. _
1700: 66 6c 6f 61 74 20 67 20 5f 20 66 6c 6f 61 74 20 float g _ float
1710: 68 29 0a 7b 0a 20 20 66 6c 6f 61 74 20 72 3d 61 h).{. float r=a
1720: 2b 62 2b 63 2b 64 2b 65 2b 66 2b 67 2b 68 3b 0a +b+c+d+e+f+g+h;.
1730: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 66 fprintf(out,"f
1740: 6c 6f 61 74 20 66 28 38 2a 66 6c 6f 61 74 29 3a loat f(8*float):
1750: 28 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c (%g,%g,%g,%g,%g,
1760: 25 67 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 %g,%g,%g)",a,b,c
1770: 2c 64 2c 65 2c 66 2c 67 2c 68 29 3b 0a 20 20 66 ,d,e,f,g,h);. f
1780: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 flush(out);. re
1790: 74 75 72 6e 20 72 3b 0a 7d 0a 66 6c 6f 61 74 20 turn r;.}.float
17a0: 66 5f 66 31 36 20 5f 50 28 28 61 2c 62 2c 63 2c f_f16 _P((a,b,c,
17b0: 64 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c d,e,f,g,h,i,j,k,
17c0: 6c 2c 6d 2c 6e 2c 6f 2c 70 29 2c 0a 09 20 20 20 l,m,n,o,p),..
17d0: 20 20 20 20 66 6c 6f 61 74 20 61 20 5f 20 66 6c float a _ fl
17e0: 6f 61 74 20 62 20 5f 20 66 6c 6f 61 74 20 63 20 oat b _ float c
17f0: 5f 20 66 6c 6f 61 74 20 64 20 5f 20 66 6c 6f 61 _ float d _ floa
1800: 74 20 65 20 5f 20 66 6c 6f 61 74 20 66 20 5f 20 t e _ float f _
1810: 66 6c 6f 61 74 20 67 20 5f 20 66 6c 6f 61 74 20 float g _ float
1820: 68 0a 09 20 20 20 20 20 20 20 5f 20 66 6c 6f 61 h.. _ floa
1830: 74 20 69 20 5f 20 66 6c 6f 61 74 20 6a 20 5f 20 t i _ float j _
1840: 66 6c 6f 61 74 20 6b 20 5f 20 66 6c 6f 61 74 20 float k _ float
1850: 6c 20 5f 20 66 6c 6f 61 74 20 6d 20 5f 20 66 6c l _ float m _ fl
1860: 6f 61 74 20 6e 20 5f 20 66 6c 6f 61 74 20 6f 20 oat n _ float o
1870: 5f 20 66 6c 6f 61 74 20 70 29 0a 7b 0a 20 20 66 _ float p).{. f
1880: 6c 6f 61 74 20 72 3d 61 2b 62 2b 63 2b 64 2b 65 loat r=a+b+c+d+e
1890: 2b 66 2b 67 2b 68 2b 69 2b 6a 2b 6b 2b 6c 2b 6d +f+g+h+i+j+k+l+m
18a0: 2b 6e 2b 6f 2b 70 3b 0a 20 20 66 70 72 69 6e 74 +n+o+p;. fprint
18b0: 66 28 6f 75 74 2c 22 66 6c 6f 61 74 20 66 28 31 f(out,"float f(1
18c0: 36 2a 66 6c 6f 61 74 29 3a 28 25 67 2c 25 67 2c 6*float):(%g,%g,
18d0: 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 %g,%g,%g,%g,%g,%
18e0: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
18f0: 2c 25 67 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c ,%g,%g,%g)",a,b,
1900: 63 2c 64 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c c,d,e,f,g,h,i,j,
1910: 6b 2c 6c 2c 6d 2c 6e 2c 6f 2c 70 29 3b 0a 20 20 k,l,m,n,o,p);.
1920: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 fflush(out);. r
1930: 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 64 6f 75 62 eturn r;.}..doub
1940: 6c 65 20 64 5f 64 20 5f 50 28 28 61 29 2c 20 64 le d_d _P((a), d
1950: 6f 75 62 6c 65 20 61 29 0a 7b 0a 20 20 64 6f 75 ouble a).{. dou
1960: 62 6c 65 20 72 3d 61 2b 31 2e 30 3b 0a 20 20 66 ble r=a+1.0;. f
1970: 70 72 69 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 printf(out,"doub
1980: 6c 65 20 66 28 64 6f 75 62 6c 65 29 3a 28 25 67 le f(double):(%g
1990: 29 22 2c 61 29 3b 0a 20 20 66 66 6c 75 73 68 28 )",a);. fflush(
19a0: 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 out);. return r
19b0: 3b 0a 7d 0a 64 6f 75 62 6c 65 20 64 5f 64 32 20 ;.}.double d_d2
19c0: 5f 50 28 28 61 2c 62 29 2c 20 64 6f 75 62 6c 65 _P((a,b), double
19d0: 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 29 0a 7b a _ double b).{
19e0: 0a 20 20 64 6f 75 62 6c 65 20 72 3d 61 2b 62 3b . double r=a+b;
19f0: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
1a00: 64 6f 75 62 6c 65 20 66 28 32 2a 64 6f 75 62 6c double f(2*doubl
1a10: 65 29 3a 28 25 67 2c 25 67 29 22 2c 61 2c 62 29 e):(%g,%g)",a,b)
1a20: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
1a30: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 64 . return r;.}.d
1a40: 6f 75 62 6c 65 20 64 5f 64 34 20 5f 50 28 28 61 ouble d_d4 _P((a
1a50: 2c 62 2c 63 2c 64 29 2c 20 64 6f 75 62 6c 65 20 ,b,c,d), double
1a60: 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 5f 20 64 a _ double b _ d
1a70: 6f 75 62 6c 65 20 63 20 5f 20 64 6f 75 62 6c 65 ouble c _ double
1a80: 20 64 29 0a 7b 0a 20 20 64 6f 75 62 6c 65 20 72 d).{. double r
1a90: 3d 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 72 69 =a+b+c+d;. fpri
1aa0: 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 ntf(out,"double
1ab0: 66 28 34 2a 64 6f 75 62 6c 65 29 3a 28 25 67 2c f(4*double):(%g,
1ac0: 25 67 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 %g,%g,%g)",a,b,c
1ad0: 2c 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ,d);. fflush(ou
1ae0: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
1af0: 7d 0a 64 6f 75 62 6c 65 20 64 5f 64 38 20 5f 50 }.double d_d8 _P
1b00: 28 28 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 2c ((a,b,c,d,e,f,g,
1b10: 68 29 2c 0a 09 20 20 20 20 20 20 20 64 6f 75 62 h),.. doub
1b20: 6c 65 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 le a _ double b
1b30: 5f 20 64 6f 75 62 6c 65 20 63 20 5f 20 64 6f 75 _ double c _ dou
1b40: 62 6c 65 20 64 20 5f 20 64 6f 75 62 6c 65 20 65 ble d _ double e
1b50: 20 5f 20 64 6f 75 62 6c 65 20 66 0a 09 20 20 20 _ double f..
1b60: 20 20 20 20 5f 20 64 6f 75 62 6c 65 20 67 20 5f _ double g _
1b70: 20 64 6f 75 62 6c 65 20 68 29 0a 7b 0a 20 20 64 double h).{. d
1b80: 6f 75 62 6c 65 20 72 3d 61 2b 62 2b 63 2b 64 2b ouble r=a+b+c+d+
1b90: 65 2b 66 2b 67 2b 68 3b 0a 20 20 66 70 72 69 6e e+f+g+h;. fprin
1ba0: 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 66 tf(out,"double f
1bb0: 28 38 2a 64 6f 75 62 6c 65 29 3a 28 25 67 2c 25 (8*double):(%g,%
1bc0: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
1bd0: 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 2c 65 2c ,%g)",a,b,c,d,e,
1be0: 66 2c 67 2c 68 29 3b 0a 20 20 66 66 6c 75 73 68 f,g,h);. fflush
1bf0: 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 (out);. return
1c00: 72 3b 0a 7d 0a 64 6f 75 62 6c 65 20 64 5f 64 31 r;.}.double d_d1
1c10: 36 20 5f 50 28 28 61 2c 62 2c 63 2c 64 2c 65 2c 6 _P((a,b,c,d,e,
1c20: 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c 6d 2c f,g,h,i,j,k,l,m,
1c30: 6e 2c 6f 2c 70 29 2c 0a 09 09 64 6f 75 62 6c 65 n,o,p),...double
1c40: 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 5f 20 a _ double b _
1c50: 64 6f 75 62 6c 65 20 63 20 5f 20 64 6f 75 62 6c double c _ doubl
1c60: 65 20 64 20 5f 20 64 6f 75 62 6c 65 20 65 20 5f e d _ double e _
1c70: 20 64 6f 75 62 6c 65 20 66 0a 09 09 5f 20 64 6f double f..._ do
1c80: 75 62 6c 65 20 67 20 5f 20 64 6f 75 62 6c 65 20 uble g _ double
1c90: 68 20 5f 20 64 6f 75 62 6c 65 20 69 20 5f 20 64 h _ double i _ d
1ca0: 6f 75 62 6c 65 20 6a 20 5f 20 64 6f 75 62 6c 65 ouble j _ double
1cb0: 20 6b 20 5f 20 64 6f 75 62 6c 65 20 6c 0a 09 09 k _ double l...
1cc0: 5f 20 64 6f 75 62 6c 65 20 6d 20 5f 20 64 6f 75 _ double m _ dou
1cd0: 62 6c 65 20 6e 20 5f 20 64 6f 75 62 6c 65 20 6f ble n _ double o
1ce0: 20 5f 20 64 6f 75 62 6c 65 20 70 29 0a 7b 0a 20 _ double p).{.
1cf0: 20 64 6f 75 62 6c 65 20 72 3d 61 2b 62 2b 63 2b double r=a+b+c+
1d00: 64 2b 65 2b 66 2b 67 2b 68 2b 69 2b 6a 2b 6b 2b d+e+f+g+h+i+j+k+
1d10: 6c 2b 6d 2b 6e 2b 6f 2b 70 3b 0a 20 20 66 70 72 l+m+n+o+p;. fpr
1d20: 69 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 intf(out,"double
1d30: 20 66 28 31 36 2a 64 6f 75 62 6c 65 29 3a 28 25 f(16*double):(%
1d40: 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 g,%g,%g,%g,%g,%g
1d50: 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 2c ,%g,%g,%g,%g,%g,
1d60: 25 67 2c 25 67 2c 25 67 2c 25 67 2c 25 67 29 22 %g,%g,%g,%g,%g)"
1d70: 2c 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c 67 2c 68 ,a,b,c,d,e,f,g,h
1d80: 2c 69 2c 6a 2c 6b 2c 6c 2c 6d 2c 6e 2c 6f 2c 70 ,i,j,k,l,m,n,o,p
1d90: 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 );. fflush(out)
1da0: 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a ;. return r;.}.
1db0: 0a 76 6f 69 64 2a 20 76 70 5f 76 70 64 70 63 70 .void* vp_vpdpcp
1dc0: 73 70 20 5f 50 28 28 61 2c 62 2c 63 2c 64 29 2c sp _P((a,b,c,d),
1dd0: 20 76 6f 69 64 2a 20 61 20 5f 20 64 6f 75 62 6c void* a _ doubl
1de0: 65 2a 20 62 20 5f 20 63 68 61 72 2a 20 63 20 5f e* b _ char* c _
1df0: 20 49 6e 74 2a 20 64 29 0a 7b 0a 20 20 76 6f 69 Int* d).{. voi
1e00: 64 2a 20 72 65 74 20 3d 20 28 63 68 61 72 2a 29 d* ret = (char*)
1e10: 62 20 2b 20 31 3b 0a 20 20 66 70 72 69 6e 74 66 b + 1;. fprintf
1e20: 28 6f 75 74 2c 22 76 6f 69 64 2a 20 66 28 76 6f (out,"void* f(vo
1e30: 69 64 2a 2c 64 6f 75 62 6c 65 2a 2c 63 68 61 72 id*,double*,char
1e40: 2a 2c 49 6e 74 2a 29 3a 28 30 78 25 6c 78 2c 30 *,Int*):(0x%lx,0
1e50: 78 25 6c 78 2c 30 78 25 6c 78 2c 30 78 25 6c 78 x%lx,0x%lx,0x%lx
1e60: 29 22 2c 28 6c 6f 6e 67 29 61 2c 28 6c 6f 6e 67 )",(long)a,(long
1e70: 29 62 2c 28 6c 6f 6e 67 29 63 2c 28 6c 6f 6e 67 )b,(long)c,(long
1e80: 29 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 )d);. fflush(ou
1e90: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 t);. return ret
1ea0: 3b 0a 7d 0a 0a 75 63 68 61 72 20 75 63 5f 75 63 ;.}..uchar uc_uc
1eb0: 73 69 6c 20 5f 50 28 28 61 2c 62 2c 63 2c 64 29 sil _P((a,b,c,d)
1ec0: 2c 20 75 63 68 61 72 20 61 20 5f 20 75 73 68 6f , uchar a _ usho
1ed0: 72 74 20 62 20 5f 20 75 69 6e 74 20 63 20 5f 20 rt b _ uint c _
1ee0: 75 6c 6f 6e 67 20 64 29 0a 7b 0a 20 20 75 63 68 ulong d).{. uch
1ef0: 61 72 20 72 20 3d 20 2d 31 3b 0a 20 20 66 70 72 ar r = -1;. fpr
1f00: 69 6e 74 66 28 6f 75 74 2c 22 75 63 68 61 72 20 intf(out,"uchar
1f10: 66 28 75 63 68 61 72 2c 75 73 68 6f 72 74 2c 75 f(uchar,ushort,u
1f20: 69 6e 74 2c 75 6c 6f 6e 67 29 3a 28 25 75 2c 25 int,ulong):(%u,%
1f30: 75 2c 25 75 2c 25 6c 75 29 22 2c 61 2c 62 2c 63 u,%u,%lu)",a,b,c
1f40: 2c 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 ,d);. fflush(ou
1f50: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
1f60: 7d 0a 0a 64 6f 75 62 6c 65 20 64 5f 69 69 64 64 }..double d_iidd
1f70: 20 5f 50 28 28 61 2c 62 2c 63 2c 64 29 2c 20 69 _P((a,b,c,d), i
1f80: 6e 74 20 61 20 5f 20 69 6e 74 20 62 20 5f 20 64 nt a _ int b _ d
1f90: 6f 75 62 6c 65 20 63 20 5f 20 64 6f 75 62 6c 65 ouble c _ double
1fa0: 20 64 29 0a 7b 0a 20 20 64 6f 75 62 6c 65 20 72 d).{. double r
1fb0: 20 3d 20 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 = a+b+c+d;. fp
1fc0: 72 69 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c rintf(out,"doubl
1fd0: 65 20 66 28 69 6e 74 2c 69 6e 74 2c 64 6f 75 62 e f(int,int,doub
1fe0: 6c 65 2c 64 6f 75 62 6c 65 29 3a 28 25 64 2c 25 le,double):(%d,%
1ff0: 64 2c 25 67 2c 25 67 29 22 2c 61 2c 62 2c 63 2c d,%g,%g)",a,b,c,
2000: 64 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 d);. fflush(out
2010: 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d );. return r;.}
2020: 0a 64 6f 75 62 6c 65 20 64 5f 69 64 69 64 20 5f .double d_idid _
2030: 50 28 28 61 2c 62 2c 63 2c 64 29 2c 20 69 6e 74 P((a,b,c,d), int
2040: 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 5f 20 a _ double b _
2050: 69 6e 74 20 63 20 5f 20 64 6f 75 62 6c 65 20 64 int c _ double d
2060: 29 0a 7b 0a 20 20 64 6f 75 62 6c 65 20 72 20 3d ).{. double r =
2070: 20 61 2b 62 2b 63 2b 64 3b 0a 20 20 66 70 72 69 a+b+c+d;. fpri
2080: 6e 74 66 28 6f 75 74 2c 22 64 6f 75 62 6c 65 20 ntf(out,"double
2090: 66 28 69 6e 74 2c 64 6f 75 62 6c 65 2c 69 6e 74 f(int,double,int
20a0: 2c 64 6f 75 62 6c 65 29 3a 28 25 64 2c 25 67 2c ,double):(%d,%g,
20b0: 25 64 2c 25 67 29 22 2c 61 2c 62 2c 63 2c 64 29 %d,%g)",a,b,c,d)
20c0: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
20d0: 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 75 . return r;.}.u
20e0: 73 68 6f 72 74 20 75 73 5f 63 64 63 64 20 5f 50 short us_cdcd _P
20f0: 28 28 61 2c 62 2c 63 2c 64 29 2c 20 63 68 61 72 ((a,b,c,d), char
2100: 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 5f 20 a _ double b _
2110: 63 68 61 72 20 63 20 5f 20 64 6f 75 62 6c 65 20 char c _ double
2120: 64 29 0a 7b 0a 20 20 75 73 68 6f 72 74 20 72 20 d).{. ushort r
2130: 3d 20 28 75 73 68 6f 72 74 29 28 61 20 2b 20 62 = (ushort)(a + b
2140: 20 2b 20 63 20 2b 20 64 29 3b 0a 20 20 66 70 72 + c + d);. fpr
2150: 69 6e 74 66 28 6f 75 74 2c 22 75 73 68 6f 72 74 intf(out,"ushort
2160: 20 66 28 63 68 61 72 2c 64 6f 75 62 6c 65 2c 63 f(char,double,c
2170: 68 61 72 2c 64 6f 75 62 6c 65 29 3a 28 27 25 63 har,double):('%c
2180: 27 2c 25 67 2c 27 25 63 27 2c 25 67 29 22 2c 61 ',%g,'%c',%g)",a
2190: 2c 62 2c 63 2c 64 29 3b 0a 20 20 66 66 6c 75 73 ,b,c,d);. fflus
21a0: 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e h(out);. return
21b0: 20 72 3b 0a 7d 0a 0a 23 69 66 64 65 66 20 48 41 r;.}..#ifdef HA
21c0: 56 45 5f 4c 4f 4e 47 4c 4f 4e 47 0a 6c 6f 6e 67 VE_LONGLONG.long
21d0: 20 6c 6f 6e 67 20 6c 6c 5f 66 6c 6c 69 20 5f 50 long ll_flli _P
21e0: 28 28 61 2c 62 2c 63 29 2c 20 66 6c 6f 61 74 20 ((a,b,c), float
21f0: 61 20 5f 20 6c 6f 6e 67 20 6c 6f 6e 67 20 62 20 a _ long long b
2200: 5f 20 69 6e 74 20 63 29 0a 7b 0a 20 20 6c 6f 6e _ int c).{. lon
2210: 67 20 6c 6f 6e 67 20 72 20 3d 20 28 6c 6f 6e 67 g long r = (long
2220: 20 6c 6f 6e 67 29 28 69 6e 74 29 61 20 2b 20 62 long)(int)a + b
2230: 20 2b 20 28 6c 6f 6e 67 20 6c 6f 6e 67 29 63 3b + (long long)c;
2240: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
2250: 6c 6f 6e 67 20 6c 6f 6e 67 20 66 28 66 6c 6f 61 long long f(floa
2260: 74 2c 6c 6f 6e 67 20 6c 6f 6e 67 2c 69 6e 74 29 t,long long,int)
2270: 3a 28 25 67 2c 30 78 25 6c 78 25 30 38 6c 78 2c :(%g,0x%lx%08lx,
2280: 30 78 25 6c 78 29 22 2c 61 2c 28 6c 6f 6e 67 29 0x%lx)",a,(long)
2290: 28 62 3e 3e 33 32 29 2c 28 6c 6f 6e 67 29 28 62 (b>>32),(long)(b
22a0: 26 30 78 66 66 66 66 66 66 66 66 29 2c 28 6c 6f &0xffffffff),(lo
22b0: 6e 67 29 63 29 3b 0a 20 20 66 66 6c 75 73 68 28 ng)c);. fflush(
22c0: 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 out);. return r
22d0: 3b 0a 7d 0a 23 65 6e 64 69 66 0a 0a 49 6e 74 20 ;.}.#endif..Int
22e0: 49 5f 49 49 49 20 5f 50 28 28 61 2c 62 2c 63 29 I_III _P((a,b,c)
22f0: 2c 20 49 6e 74 20 61 20 5f 20 49 6e 74 20 62 20 , Int a _ Int b
2300: 5f 20 49 6e 74 20 63 29 0a 7b 0a 20 20 49 6e 74 _ Int c).{. Int
2310: 20 72 3b 0a 20 20 72 2e 78 20 3d 20 61 2e 78 20 r;. r.x = a.x
2320: 2b 20 62 2e 78 20 2b 20 63 2e 78 3b 0a 20 20 66 + b.x + c.x;. f
2330: 70 72 69 6e 74 66 28 6f 75 74 2c 22 49 6e 74 20 printf(out,"Int
2340: 66 28 49 6e 74 2c 49 6e 74 2c 49 6e 74 29 3a 28 f(Int,Int,Int):(
2350: 7b 25 64 7d 2c 7b 25 64 7d 2c 7b 25 64 7d 29 22 {%d},{%d},{%d})"
2360: 2c 61 2e 78 2c 62 2e 78 2c 63 2e 78 29 3b 0a 20 ,a.x,b.x,c.x);.
2370: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
2380: 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 23 69 66 6e return r;.}.#ifn
2390: 64 65 66 20 53 4b 49 50 5f 45 58 54 52 41 5f 53 def SKIP_EXTRA_S
23a0: 54 52 55 43 54 53 0a 43 68 61 72 20 43 5f 43 64 TRUCTS.Char C_Cd
23b0: 43 20 5f 50 28 28 61 2c 62 2c 63 29 2c 20 43 68 C _P((a,b,c), Ch
23c0: 61 72 20 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 ar a _ double b
23d0: 5f 20 43 68 61 72 20 63 29 0a 7b 0a 20 20 43 68 _ Char c).{. Ch
23e0: 61 72 20 72 3b 0a 20 20 72 2e 78 20 3d 20 28 61 ar r;. r.x = (a
23f0: 2e 78 20 2b 20 63 2e 78 29 2f 32 3b 0a 20 20 66 .x + c.x)/2;. f
2400: 70 72 69 6e 74 66 28 6f 75 74 2c 22 43 68 61 72 printf(out,"Char
2410: 20 66 28 43 68 61 72 2c 64 6f 75 62 6c 65 2c 43 f(Char,double,C
2420: 68 61 72 29 3a 28 7b 27 25 63 27 7d 2c 25 67 2c har):({'%c'},%g,
2430: 7b 27 25 63 27 7d 29 22 2c 61 2e 78 2c 62 2c 63 {'%c'})",a.x,b,c
2440: 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 .x);. fflush(ou
2450: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
2460: 7d 0a 46 6c 6f 61 74 20 46 5f 46 66 64 20 5f 50 }.Float F_Ffd _P
2470: 28 28 61 2c 62 2c 63 29 2c 20 46 6c 6f 61 74 20 ((a,b,c), Float
2480: 61 20 5f 20 66 6c 6f 61 74 20 62 20 5f 20 64 6f a _ float b _ do
2490: 75 62 6c 65 20 63 29 0a 7b 0a 20 20 46 6c 6f 61 uble c).{. Floa
24a0: 74 20 72 3b 0a 20 20 72 2e 78 20 3d 20 61 2e 78 t r;. r.x = a.x
24b0: 20 2b 20 62 20 2b 20 63 3b 0a 20 20 66 70 72 69 + b + c;. fpri
24c0: 6e 74 66 28 6f 75 74 2c 22 46 6c 6f 61 74 20 66 ntf(out,"Float f
24d0: 28 46 6c 6f 61 74 2c 66 6c 6f 61 74 2c 64 6f 75 (Float,float,dou
24e0: 62 6c 65 29 3a 28 7b 25 67 7d 2c 25 67 2c 25 67 ble):({%g},%g,%g
24f0: 29 22 2c 61 2e 78 2c 62 2c 63 29 3b 0a 20 20 66 )",a.x,b,c);. f
2500: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 flush(out);. re
2510: 74 75 72 6e 20 72 3b 0a 7d 0a 44 6f 75 62 6c 65 turn r;.}.Double
2520: 20 44 5f 66 44 64 20 5f 50 28 28 61 2c 62 2c 63 D_fDd _P((a,b,c
2530: 29 2c 20 66 6c 6f 61 74 20 61 20 5f 20 44 6f 75 ), float a _ Dou
2540: 62 6c 65 20 62 20 5f 20 64 6f 75 62 6c 65 20 63 ble b _ double c
2550: 29 0a 7b 0a 20 20 44 6f 75 62 6c 65 20 72 3b 0a ).{. Double r;.
2560: 20 20 72 2e 78 20 3d 20 61 20 2b 20 62 2e 78 20 r.x = a + b.x
2570: 2b 20 63 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f + c;. fprintf(o
2580: 75 74 2c 22 44 6f 75 62 6c 65 20 66 28 66 6c 6f ut,"Double f(flo
2590: 61 74 2c 44 6f 75 62 6c 65 2c 64 6f 75 62 6c 65 at,Double,double
25a0: 29 3a 28 25 67 2c 7b 25 67 7d 2c 25 67 29 22 2c ):(%g,{%g},%g)",
25b0: 61 2c 62 2e 78 2c 63 29 3b 0a 20 20 66 66 6c 75 a,b.x,c);. fflu
25c0: 73 68 28 6f 75 74 29 3b 0a 20 20 72 65 74 75 72 sh(out);. retur
25d0: 6e 20 72 3b 0a 7d 0a 23 65 6e 64 69 66 0a 4a 20 n r;.}.#endif.J
25e0: 4a 5f 4a 69 4a 20 5f 50 28 28 61 2c 62 2c 63 29 J_JiJ _P((a,b,c)
25f0: 2c 20 4a 20 61 20 5f 20 69 6e 74 20 62 20 5f 20 , J a _ int b _
2600: 4a 20 63 29 0a 7b 0a 20 20 4a 20 72 3b 0a 20 20 J c).{. J r;.
2610: 72 2e 6c 31 20 3d 20 61 2e 6c 31 2b 63 2e 6c 31 r.l1 = a.l1+c.l1
2620: 3b 20 72 2e 6c 32 20 3d 20 61 2e 6c 32 2b 62 2b ; r.l2 = a.l2+b+
2630: 63 2e 6c 32 3b 0a 20 20 66 70 72 69 6e 74 66 28 c.l2;. fprintf(
2640: 6f 75 74 2c 22 4a 20 66 28 4a 2c 69 6e 74 2c 4a out,"J f(J,int,J
2650: 29 3a 28 7b 25 6c 64 2c 25 6c 64 7d 2c 25 64 2c ):({%ld,%ld},%d,
2660: 7b 25 6c 64 2c 25 6c 64 7d 29 22 2c 61 2e 6c 31 {%ld,%ld})",a.l1
2670: 2c 61 2e 6c 32 2c 62 2c 63 2e 6c 31 2c 63 2e 6c ,a.l2,b,c.l1,c.l
2680: 32 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 2);. fflush(out
2690: 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d );. return r;.}
26a0: 0a 23 69 66 6e 64 65 66 20 53 4b 49 50 5f 45 58 .#ifndef SKIP_EX
26b0: 54 52 41 5f 53 54 52 55 43 54 53 0a 54 20 54 5f TRA_STRUCTS.T T_
26c0: 54 63 54 20 5f 50 28 28 61 2c 62 2c 63 29 2c 20 TcT _P((a,b,c),
26d0: 54 20 61 20 5f 20 63 68 61 72 20 62 20 5f 20 54 T a _ char b _ T
26e0: 20 63 29 0a 7b 0a 20 20 54 20 72 3b 0a 20 20 72 c).{. T r;. r
26f0: 2e 63 5b 30 5d 3d 27 62 27 3b 20 72 2e 63 5b 31 .c[0]='b'; r.c[1
2700: 5d 3d 63 2e 63 5b 31 5d 3b 20 72 2e 63 5b 32 5d ]=c.c[1]; r.c[2]
2710: 3d 63 2e 63 5b 32 5d 3b 0a 20 20 66 70 72 69 6e =c.c[2];. fprin
2720: 74 66 28 6f 75 74 2c 22 54 20 66 28 54 2c 63 68 tf(out,"T f(T,ch
2730: 61 72 2c 54 29 3a 28 7b 5c 22 25 63 25 63 25 63 ar,T):({\"%c%c%c
2740: 5c 22 7d 2c 27 25 63 27 2c 7b 5c 22 25 63 25 63 \"},'%c',{\"%c%c
2750: 25 63 5c 22 7d 29 22 2c 61 2e 63 5b 30 5d 2c 61 %c\"})",a.c[0],a
2760: 2e 63 5b 31 5d 2c 61 2e 63 5b 32 5d 2c 62 2c 63 .c[1],a.c[2],b,c
2770: 2e 63 5b 30 5d 2c 63 2e 63 5b 31 5d 2c 63 2e 63 .c[0],c.c[1],c.c
2780: 5b 32 5d 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f [2]);. fflush(o
2790: 75 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b ut);. return r;
27a0: 0a 7d 0a 58 20 58 5f 42 63 64 42 20 5f 50 28 28 .}.X X_BcdB _P((
27b0: 61 2c 62 2c 63 2c 64 29 2c 20 42 20 61 20 5f 20 a,b,c,d), B a _
27c0: 63 68 61 72 20 62 20 5f 20 64 6f 75 62 6c 65 20 char b _ double
27d0: 63 20 5f 20 42 20 64 29 0a 7b 0a 20 20 73 74 61 c _ B d).{. sta
27e0: 74 69 63 20 58 20 78 72 3d 7b 22 72 65 74 75 72 tic X xr={"retur
27f0: 6e 20 76 61 6c 22 2c 27 52 27 7d 3b 0a 20 20 58 n val",'R'};. X
2800: 20 72 3b 0a 20 20 72 20 3d 20 78 72 3b 0a 20 20 r;. r = xr;.
2810: 72 2e 63 31 20 3d 20 62 3b 0a 20 20 66 70 72 69 r.c1 = b;. fpri
2820: 6e 74 66 28 6f 75 74 2c 22 58 20 66 28 42 2c 63 ntf(out,"X f(B,c
2830: 68 61 72 2c 64 6f 75 62 6c 65 2c 42 29 3a 28 7b har,double,B):({
2840: 25 67 2c 7b 25 64 2c 25 64 2c 25 64 7d 7d 2c 27 %g,{%d,%d,%d}},'
2850: 25 63 27 2c 25 67 2c 7b 25 67 2c 7b 25 64 2c 25 %c',%g,{%g,{%d,%
2860: 64 2c 25 64 7d 7d 29 22 2c 0a 09 20 20 61 2e 64 d,%d}})",.. a.d
2870: 2c 61 2e 69 5b 30 5d 2c 61 2e 69 5b 31 5d 2c 61 ,a.i[0],a.i[1],a
2880: 2e 69 5b 32 5d 2c 62 2c 63 2c 64 2e 64 2c 64 2e .i[2],b,c,d.d,d.
2890: 69 5b 30 5d 2c 64 2e 69 5b 31 5d 2c 64 2e 69 5b i[0],d.i[1],d.i[
28a0: 32 5d 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 2]);. fflush(ou
28b0: 74 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a t);. return r;.
28c0: 7d 0a 23 65 6e 64 69 66 0a 0a 2f 2a 0a 20 2a 20 }.#endif../*. *
28d0: 54 68 65 20 77 61 79 20 77 65 20 72 75 6e 20 74 The way we run t
28e0: 68 65 73 65 20 74 65 73 74 73 20 2d 20 66 69 72 hese tests - fir
28f0: 73 74 20 63 61 6c 6c 20 74 68 65 20 66 75 6e 63 st call the func
2900: 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 2c 20 74 tion directly, t
2910: 68 65 6e 0a 20 2a 20 74 68 72 6f 75 67 68 20 61 hen. * through a
2920: 76 5f 63 61 6c 6c 28 29 20 2d 20 74 68 65 72 65 v_call() - there
2930: 20 69 73 20 74 68 65 20 64 61 6e 67 65 72 20 74 is the danger t
2940: 68 61 74 20 61 72 67 75 6d 65 6e 74 73 20 6f 72 hat arguments or
2950: 20 72 65 73 75 6c 74 73 20 73 65 65 6d 0a 20 2a results seem. *
2960: 20 74 6f 20 62 65 20 70 61 73 73 65 64 20 63 6f to be passed co
2970: 72 72 65 63 74 6c 79 2c 20 62 75 74 20 77 68 61 rrectly, but wha
2980: 74 20 77 65 20 61 72 65 20 73 65 65 69 6e 67 20 t we are seeing
2990: 61 72 65 20 69 6e 20 66 61 63 74 20 74 68 65 20 are in fact the
29a0: 76 65 73 74 69 67 65 73 0a 20 2a 20 28 74 72 61 vestiges. * (tra
29b0: 63 65 73 29 20 6f 72 20 74 68 65 20 70 72 65 76 ces) or the prev
29c0: 69 6f 75 73 20 63 61 6c 6c 2e 20 54 68 69 73 20 ious call. This
29d0: 6d 61 79 20 73 65 72 69 6f 75 73 6c 79 20 66 61 may seriously fa
29e0: 6b 65 20 74 68 65 20 74 65 73 74 2e 0a 20 2a 20 ke the test.. *
29f0: 41 76 6f 69 64 20 74 68 69 73 20 62 79 20 63 6c Avoid this by cl
2a00: 65 61 72 69 6e 67 20 74 68 65 20 72 65 67 69 73 earing the regis
2a10: 74 65 72 73 20 62 65 74 77 65 65 6e 20 74 68 65 ters between the
2a20: 20 66 69 72 73 74 20 61 6e 64 20 74 68 65 20 73 first and the s
2a30: 65 63 6f 6e 64 20 63 61 6c 6c 2e 0a 20 2a 2f 0a econd call.. */.
2a40: 6c 6f 6e 67 20 63 6c 65 61 72 5f 74 72 61 63 65 long clear_trace
2a50: 73 5f 69 20 5f 50 28 28 61 2c 62 2c 63 2c 64 2c s_i _P((a,b,c,d,
2a60: 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c e,f,g,h,i,j,k,l,
2a70: 6d 2c 6e 2c 6f 2c 70 29 2c 0a 20 20 6c 6f 6e 67 m,n,o,p),. long
2a80: 20 61 20 5f 20 6c 6f 6e 67 20 62 20 5f 20 6c 6f a _ long b _ lo
2a90: 6e 67 20 63 20 5f 20 6c 6f 6e 67 20 64 20 5f 20 ng c _ long d _
2aa0: 6c 6f 6e 67 20 65 20 5f 20 6c 6f 6e 67 20 66 20 long e _ long f
2ab0: 5f 20 6c 6f 6e 67 20 67 20 5f 20 6c 6f 6e 67 20 _ long g _ long
2ac0: 68 20 5f 0a 20 20 6c 6f 6e 67 20 69 20 5f 20 6c h _. long i _ l
2ad0: 6f 6e 67 20 6a 20 5f 20 6c 6f 6e 67 20 6b 20 5f ong j _ long k _
2ae0: 20 6c 6f 6e 67 20 6c 20 5f 20 6c 6f 6e 67 20 6d long l _ long m
2af0: 20 5f 20 6c 6f 6e 67 20 6e 20 5f 20 6c 6f 6e 67 _ long n _ long
2b00: 20 6f 20 5f 20 6c 6f 6e 67 20 70 29 0a 7b 20 72 o _ long p).{ r
2b10: 65 74 75 72 6e 20 30 3b 20 7d 0a 66 6c 6f 61 74 eturn 0; }.float
2b20: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 5f 66 20 clear_traces_f
2b30: 5f 50 28 28 61 2c 62 2c 63 2c 64 2c 65 2c 66 2c _P((a,b,c,d,e,f,
2b40: 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c 6d 2c 6e 2c g,h,i,j,k,l,m,n,
2b50: 6f 2c 70 29 2c 0a 20 20 66 6c 6f 61 74 20 61 20 o,p),. float a
2b60: 5f 20 66 6c 6f 61 74 20 62 20 5f 20 66 6c 6f 61 _ float b _ floa
2b70: 74 20 63 20 5f 20 66 6c 6f 61 74 20 64 20 5f 20 t c _ float d _
2b80: 66 6c 6f 61 74 20 65 20 5f 20 66 6c 6f 61 74 20 float e _ float
2b90: 66 20 5f 20 66 6c 6f 61 74 20 67 20 5f 0a 20 20 f _ float g _.
2ba0: 66 6c 6f 61 74 20 68 20 5f 20 66 6c 6f 61 74 20 float h _ float
2bb0: 69 20 5f 20 66 6c 6f 61 74 20 6a 20 5f 20 66 6c i _ float j _ fl
2bc0: 6f 61 74 20 6b 20 5f 20 66 6c 6f 61 74 20 6c 20 oat k _ float l
2bd0: 5f 20 66 6c 6f 61 74 20 6d 20 5f 20 66 6c 6f 61 _ float m _ floa
2be0: 74 20 6e 20 5f 0a 20 20 66 6c 6f 61 74 20 6f 20 t n _. float o
2bf0: 5f 20 66 6c 6f 61 74 20 70 29 0a 7b 20 72 65 74 _ float p).{ ret
2c00: 75 72 6e 20 30 2e 30 3b 20 7d 0a 64 6f 75 62 6c urn 0.0; }.doubl
2c10: 65 20 63 6c 65 61 72 5f 74 72 61 63 65 73 5f 64 e clear_traces_d
2c20: 20 5f 50 28 28 61 2c 62 2c 63 2c 64 2c 65 2c 66 _P((a,b,c,d,e,f
2c30: 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c 6d 2c 6e ,g,h,i,j,k,l,m,n
2c40: 2c 6f 2c 70 29 2c 0a 20 20 64 6f 75 62 6c 65 20 ,o,p),. double
2c50: 61 20 5f 20 64 6f 75 62 6c 65 20 62 20 5f 20 64 a _ double b _ d
2c60: 6f 75 62 6c 65 20 63 20 5f 20 64 6f 75 62 6c 65 ouble c _ double
2c70: 20 64 20 5f 20 64 6f 75 62 6c 65 20 65 20 5f 20 d _ double e _
2c80: 64 6f 75 62 6c 65 20 66 20 5f 20 64 6f 75 62 6c double f _ doubl
2c90: 65 20 67 20 5f 0a 20 20 64 6f 75 62 6c 65 20 68 e g _. double h
2ca0: 20 5f 20 64 6f 75 62 6c 65 20 69 20 5f 20 64 6f _ double i _ do
2cb0: 75 62 6c 65 20 6a 20 5f 20 64 6f 75 62 6c 65 20 uble j _ double
2cc0: 6b 20 5f 20 64 6f 75 62 6c 65 20 6c 20 5f 20 64 k _ double l _ d
2cd0: 6f 75 62 6c 65 20 6d 20 5f 20 64 6f 75 62 6c 65 ouble m _ double
2ce0: 20 6e 20 5f 0a 20 20 64 6f 75 62 6c 65 20 6f 20 n _. double o
2cf0: 5f 20 64 6f 75 62 6c 65 20 70 29 0a 7b 20 72 65 _ double p).{ re
2d00: 74 75 72 6e 20 30 2e 30 3b 20 7d 0a 4a 20 63 6c turn 0.0; }.J cl
2d10: 65 61 72 5f 74 72 61 63 65 73 5f 4a 20 28 29 0a ear_traces_J ().
2d20: 7b 20 4a 20 6a 3b 20 6a 2e 6c 31 20 3d 20 6a 2e { J j; j.l1 = j.
2d30: 6c 32 20 3d 20 30 3b 20 72 65 74 75 72 6e 20 6a l2 = 0; return j
2d40: 3b 20 7d 0a 76 6f 69 64 20 63 6c 65 61 72 5f 74 ; }.void clear_t
2d50: 72 61 63 65 73 28 29 0a 7b 20 63 6c 65 61 72 5f races().{ clear_
2d60: 74 72 61 63 65 73 5f 69 28 30 2c 30 2c 30 2c 30 traces_i(0,0,0,0
2d70: 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 ,0,0,0,0,0,0,0,0
2d80: 2c 30 2c 30 2c 30 2c 30 29 3b 0a 20 20 63 6c 65 ,0,0,0,0);. cle
2d90: 61 72 5f 74 72 61 63 65 73 5f 66 28 30 2e 30 2c ar_traces_f(0.0,
2da0: 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 0.0,0.0,0.0,0.0,
2db0: 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 0.0,0.0,0.0,0.0,
2dc0: 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 0.0,0.0,0.0,0.0,
2dd0: 30 2e 30 2c 30 2e 30 2c 30 2e 30 29 3b 0a 20 20 0.0,0.0,0.0);.
2de0: 63 6c 65 61 72 5f 74 72 61 63 65 73 5f 64 28 30 clear_traces_d(0
2df0: 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 .0,0.0,0.0,0.0,0
2e00: 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 .0,0.0,0.0,0.0,0
2e10: 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 .0,0.0,0.0,0.0,0
2e20: 2e 30 2c 30 2e 30 2c 30 2e 30 2c 30 2e 30 29 3b .0,0.0,0.0,0.0);
2e30: 0a 20 20 63 6c 65 61 72 5f 74 72 61 63 65 73 5f . clear_traces_
2e40: 4a 28 29 3b 0a 7d 0a 0a 76 6f 69 64 0a 20 20 76 J();.}..void. v
2e50: 6f 69 64 5f 74 65 73 74 73 28 29 0a 7b 0a 20 20 oid_tests().{.
2e60: 61 76 5f 61 6c 69 73 74 20 61 3b 0a 20 20 76 5f av_alist a;. v_
2e70: 76 28 29 3b 0a 20 20 63 6c 65 61 72 5f 74 72 61 v();. clear_tra
2e80: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
2e90: 74 5f 76 6f 69 64 28 61 2c 76 5f 76 29 3b 0a 20 t_void(a,v_v);.
2ea0: 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 72 av_call(a);. r
2eb0: 65 74 75 72 6e 3b 0a 7d 0a 76 6f 69 64 0a 20 20 eturn;.}.void.
2ec0: 69 6e 74 5f 74 65 73 74 73 28 29 0a 7b 0a 20 20 int_tests().{.
2ed0: 61 76 5f 61 6c 69 73 74 20 61 3b 0a 20 20 69 6e av_alist a;. in
2ee0: 74 20 69 72 3b 0a 0a 20 20 69 72 20 3d 20 69 5f t ir;.. ir = i_
2ef0: 76 28 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f v();. fprintf(o
2f00: 75 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b ut,"->%d\n",ir);
2f10: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
2f20: 20 20 69 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f ir = 0; clear_
2f30: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
2f40: 74 61 72 74 5f 69 6e 74 28 61 2c 69 5f 76 2c 26 tart_int(a,i_v,&
2f50: 69 72 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 ir);. av_call(a
2f60: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
2f70: 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 ,"->%d\n",ir);.
2f80: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 fflush(out);..
2f90: 20 69 72 20 3d 20 69 5f 69 28 69 31 29 3b 0a 20 ir = i_i(i1);.
2fa0: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
2fb0: 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c %d\n",ir);. ffl
2fc0: 75 73 68 28 6f 75 74 29 3b 0a 20 20 69 72 20 3d ush(out);. ir =
2fd0: 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 0; clear_traces
2fe0: 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 69 ();. av_start_i
2ff0: 6e 74 28 61 2c 69 5f 69 2c 26 69 72 29 3b 0a 20 nt(a,i_i,&ir);.
3000: 20 61 76 5f 69 6e 74 28 61 2c 69 31 29 3b 0a 20 av_int(a,i1);.
3010: 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 av_call(a);. f
3020: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 printf(out,"->%d
3030: 5c 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 \n",ir);. fflus
3040: 68 28 6f 75 74 29 3b 0a 0a 20 20 69 72 20 3d 20 h(out);.. ir =
3050: 69 5f 69 32 28 69 31 2c 69 32 29 3b 0a 20 20 66 i_i2(i1,i2);. f
3060: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 printf(out,"->%d
3070: 5c 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 \n",ir);. fflus
3080: 68 28 6f 75 74 29 3b 0a 20 20 69 72 20 3d 20 30 h(out);. ir = 0
3090: 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 ; clear_traces()
30a0: 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 69 6e 74 ;. av_start_int
30b0: 28 61 2c 69 5f 69 32 2c 26 69 72 29 3b 0a 20 20 (a,i_i2,&ir);.
30c0: 61 76 5f 69 6e 74 28 61 2c 69 31 29 3b 0a 20 20 av_int(a,i1);.
30d0: 61 76 5f 69 6e 74 28 61 2c 69 32 29 3b 0a 20 20 av_int(a,i2);.
30e0: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
30f0: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c rintf(out,"->%d\
3100: 6e 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",ir);. fflush
3110: 28 6f 75 74 29 3b 0a 0a 20 20 69 72 20 3d 20 69 (out);.. ir = i
3120: 5f 69 34 28 69 31 2c 69 32 2c 69 33 2c 69 34 29 _i4(i1,i2,i3,i4)
3130: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
3140: 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 20 "->%d\n",ir);.
3150: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 69 fflush(out);. i
3160: 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 r = 0; clear_tra
3170: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
3180: 74 5f 69 6e 74 28 61 2c 69 5f 69 34 2c 26 69 72 t_int(a,i_i4,&ir
3190: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 31 );. av_int(a,i1
31a0: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 32 );. av_int(a,i2
31b0: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 33 );. av_int(a,i3
31c0: 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 34 );. av_int(a,i4
31d0: 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b );. av_call(a);
31e0: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
31f0: 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 20 66 ->%d\n",ir);. f
3200: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 69 flush(out);.. i
3210: 72 20 3d 20 69 5f 69 38 28 69 31 2c 69 32 2c 69 r = i_i8(i1,i2,i
3220: 33 2c 69 34 2c 69 35 2c 69 36 2c 69 37 2c 69 38 3,i4,i5,i6,i7,i8
3230: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3240: 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 ,"->%d\n",ir);.
3250: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
3260: 69 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 ir = 0; clear_tr
3270: 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 aces();. av_sta
3280: 72 74 5f 69 6e 74 28 61 2c 69 5f 69 38 2c 26 69 rt_int(a,i_i8,&i
3290: 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 r);. av_int(a,i
32a0: 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 1);. av_int(a,i
32b0: 32 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 2);. av_int(a,i
32c0: 33 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 3);. av_int(a,i
32d0: 34 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 4);. av_int(a,i
32e0: 35 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 5);. av_int(a,i
32f0: 36 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 6);. av_int(a,i
3300: 37 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c 69 7);. av_int(a,i
3310: 38 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 8);. av_call(a)
3320: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
3330: 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a 20 20 "->%d\n",ir);.
3340: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 fflush(out);..
3350: 69 72 20 3d 20 69 5f 69 31 36 28 69 31 2c 69 32 ir = i_i16(i1,i2
3360: 2c 69 33 2c 69 34 2c 69 35 2c 69 36 2c 69 37 2c ,i3,i4,i5,i6,i7,
3370: 69 38 2c 69 39 2c 69 31 30 2c 69 31 31 2c 69 31 i8,i9,i10,i11,i1
3380: 32 2c 69 31 33 2c 69 31 34 2c 69 31 35 2c 69 31 2,i13,i14,i15,i1
3390: 36 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 6);. fprintf(ou
33a0: 74 2c 22 2d 3e 25 64 5c 6e 22 2c 69 72 29 3b 0a t,"->%d\n",ir);.
33b0: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 fflush(out);.
33c0: 20 69 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 ir = 0; clear_t
33d0: 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 races();. av_st
33e0: 61 72 74 5f 69 6e 74 28 61 2c 69 5f 69 31 36 2c art_int(a,i_i16,
33f0: 26 69 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 &ir);. av_int(a
3400: 2c 69 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i1);. av_int(a
3410: 2c 69 32 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i2);. av_int(a
3420: 2c 69 33 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i3);. av_int(a
3430: 2c 69 34 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i4);. av_int(a
3440: 2c 69 35 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i5);. av_int(a
3450: 2c 69 36 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i6);. av_int(a
3460: 2c 69 37 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i7);. av_int(a
3470: 2c 69 38 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i8);. av_int(a
3480: 2c 69 39 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 ,i9);. av_int(a
3490: 2c 69 31 30 29 3b 0a 20 20 61 76 5f 69 6e 74 28 ,i10);. av_int(
34a0: 61 2c 69 31 31 29 3b 0a 20 20 61 76 5f 69 6e 74 a,i11);. av_int
34b0: 28 61 2c 69 31 32 29 3b 0a 20 20 61 76 5f 69 6e (a,i12);. av_in
34c0: 74 28 61 2c 69 31 33 29 3b 0a 20 20 61 76 5f 69 t(a,i13);. av_i
34d0: 6e 74 28 61 2c 69 31 34 29 3b 0a 20 20 61 76 5f nt(a,i14);. av_
34e0: 69 6e 74 28 61 2c 69 31 35 29 3b 0a 20 20 61 76 int(a,i15);. av
34f0: 5f 69 6e 74 28 61 2c 69 31 36 29 3b 0a 20 20 61 _int(a,i16);. a
3500: 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 v_call(a);. fpr
3510: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 64 5c 6e intf(out,"->%d\n
3520: 22 2c 69 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",ir);. fflush(
3530: 6f 75 74 29 3b 0a 0a 20 20 72 65 74 75 72 6e 3b out);.. return;
3540: 0a 7d 0a 76 6f 69 64 0a 20 20 66 6c 6f 61 74 5f .}.void. float_
3550: 74 65 73 74 73 28 29 0a 7b 0a 20 20 61 76 5f 61 tests().{. av_a
3560: 6c 69 73 74 20 61 3b 0a 20 20 66 6c 6f 61 74 20 list a;. float
3570: 66 72 3b 0a 0a 20 20 66 72 20 3d 20 66 5f 66 28 fr;.. fr = f_f(
3580: 66 31 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f f1);. fprintf(o
3590: 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b ut,"->%g\n",fr);
35a0: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
35b0: 20 20 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 fr = 0.0; clea
35c0: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
35d0: 5f 73 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c 66 _start_float(a,f
35e0: 5f 66 2c 26 66 72 29 3b 0a 20 20 61 76 5f 66 6c _f,&fr);. av_fl
35f0: 6f 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 76 5f oat(a,f1);. av_
3600: 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e call(a);. fprin
3610: 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c tf(out,"->%g\n",
3620: 66 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 fr);. fflush(ou
3630: 74 29 3b 0a 0a 20 20 66 72 20 3d 20 66 5f 66 32 t);.. fr = f_f2
3640: 28 66 31 2c 66 32 29 3b 0a 20 20 66 70 72 69 6e (f1,f2);. fprin
3650: 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c tf(out,"->%g\n",
3660: 66 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 fr);. fflush(ou
3670: 74 29 3b 0a 20 20 66 72 20 3d 20 30 2e 30 3b 20 t);. fr = 0.0;
3680: 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a clear_traces();.
3690: 20 20 61 76 5f 73 74 61 72 74 5f 66 6c 6f 61 74 av_start_float
36a0: 28 61 2c 66 5f 66 32 2c 26 66 72 29 3b 0a 20 20 (a,f_f2,&fr);.
36b0: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 29 3b 0a av_float(a,f1);.
36c0: 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 av_float(a,f2)
36d0: 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a ;. av_call(a);.
36e0: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d fprintf(out,"-
36f0: 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 66 >%g\n",fr);. ff
3700: 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 66 72 lush(out);.. fr
3710: 20 3d 20 66 5f 66 34 28 66 31 2c 66 32 2c 66 33 = f_f4(f1,f2,f3
3720: 2c 66 34 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 ,f4);. fprintf(
3730: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 out,"->%g\n",fr)
3740: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
3750: 0a 20 20 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 . fr = 0.0; cle
3760: 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 ar_traces();. a
3770: 76 5f 73 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c v_start_float(a,
3780: 66 5f 66 34 2c 26 66 72 29 3b 0a 20 20 61 76 5f f_f4,&fr);. av_
3790: 66 6c 6f 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 float(a,f1);. a
37a0: 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 3b 0a 20 v_float(a,f2);.
37b0: 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 33 29 3b av_float(a,f3);
37c0: 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 34 . av_float(a,f4
37d0: 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b );. av_call(a);
37e0: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
37f0: 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 20 66 ->%g\n",fr);. f
3800: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 66 flush(out);.. f
3810: 72 20 3d 20 66 5f 66 38 28 66 31 2c 66 32 2c 66 r = f_f8(f1,f2,f
3820: 33 2c 66 34 2c 66 35 2c 66 36 2c 66 37 2c 66 38 3,f4,f5,f6,f7,f8
3830: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3840: 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 ,"->%g\n",fr);.
3850: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
3860: 66 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 72 5f fr = 0.0; clear_
3870: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
3880: 74 61 72 74 5f 66 6c 6f 61 74 28 61 2c 66 5f 66 tart_float(a,f_f
3890: 38 2c 26 66 72 29 3b 0a 20 20 61 76 5f 66 6c 6f 8,&fr);. av_flo
38a0: 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 76 5f 66 at(a,f1);. av_f
38b0: 6c 6f 61 74 28 61 2c 66 32 29 3b 0a 20 20 61 76 loat(a,f2);. av
38c0: 5f 66 6c 6f 61 74 28 61 2c 66 33 29 3b 0a 20 20 _float(a,f3);.
38d0: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 34 29 3b 0a av_float(a,f4);.
38e0: 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 35 29 av_float(a,f5)
38f0: 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 ;. av_float(a,f
3900: 36 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 6);. av_float(a
3910: 2c 66 37 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 ,f7);. av_float
3920: 28 61 2c 66 38 29 3b 0a 20 20 61 76 5f 63 61 6c (a,f8);. av_cal
3930: 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 l(a);. fprintf(
3940: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 out,"->%g\n",fr)
3950: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
3960: 0a 0a 20 20 66 72 20 3d 20 66 5f 66 31 36 28 66 .. fr = f_f16(f
3970: 31 2c 66 32 2c 66 33 2c 66 34 2c 66 35 2c 66 36 1,f2,f3,f4,f5,f6
3980: 2c 66 37 2c 66 38 2c 66 39 2c 66 31 30 2c 66 31 ,f7,f8,f9,f10,f1
3990: 31 2c 66 31 32 2c 66 31 33 2c 66 31 34 2c 66 31 1,f12,f13,f14,f1
39a0: 35 2c 66 31 36 29 3b 0a 20 20 66 70 72 69 6e 74 5,f16);. fprint
39b0: 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 66 f(out,"->%g\n",f
39c0: 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 r);. fflush(out
39d0: 29 3b 0a 20 20 66 72 20 3d 20 30 2e 30 3b 20 63 );. fr = 0.0; c
39e0: 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 lear_traces();.
39f0: 20 61 76 5f 73 74 61 72 74 5f 66 6c 6f 61 74 28 av_start_float(
3a00: 61 2c 66 5f 66 31 36 2c 26 66 72 29 3b 0a 20 20 a,f_f16,&fr);.
3a10: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 29 3b 0a av_float(a,f1);.
3a20: 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 av_float(a,f2)
3a30: 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 ;. av_float(a,f
3a40: 33 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 3);. av_float(a
3a50: 2c 66 34 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 ,f4);. av_float
3a60: 28 61 2c 66 35 29 3b 0a 20 20 61 76 5f 66 6c 6f (a,f5);. av_flo
3a70: 61 74 28 61 2c 66 36 29 3b 0a 20 20 61 76 5f 66 at(a,f6);. av_f
3a80: 6c 6f 61 74 28 61 2c 66 37 29 3b 0a 20 20 61 76 loat(a,f7);. av
3a90: 5f 66 6c 6f 61 74 28 61 2c 66 38 29 3b 0a 20 20 _float(a,f8);.
3aa0: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 39 29 3b 0a av_float(a,f9);.
3ab0: 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 30 av_float(a,f10
3ac0: 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c );. av_float(a,
3ad0: 66 31 31 29 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 f11);. av_float
3ae0: 28 61 2c 66 31 32 29 3b 0a 20 20 61 76 5f 66 6c (a,f12);. av_fl
3af0: 6f 61 74 28 61 2c 66 31 33 29 3b 0a 20 20 61 76 oat(a,f13);. av
3b00: 5f 66 6c 6f 61 74 28 61 2c 66 31 34 29 3b 0a 20 _float(a,f14);.
3b10: 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 31 35 29 av_float(a,f15)
3b20: 3b 0a 20 20 61 76 5f 66 6c 6f 61 74 28 61 2c 66 ;. av_float(a,f
3b30: 31 36 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 16);. av_call(a
3b40: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
3b50: 2c 22 2d 3e 25 67 5c 6e 22 2c 66 72 29 3b 0a 20 ,"->%g\n",fr);.
3b60: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 7d 0a fflush(out);.}.
3b70: 76 6f 69 64 0a 20 20 64 6f 75 62 6c 65 5f 74 65 void. double_te
3b80: 73 74 73 28 29 0a 7b 0a 20 20 61 76 5f 61 6c 69 sts().{. av_ali
3b90: 73 74 20 61 3b 0a 20 20 64 6f 75 62 6c 65 20 64 st a;. double d
3ba0: 72 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 28 64 r;.. dr = d_d(d
3bb0: 31 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 1);. fprintf(ou
3bc0: 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 3b 0a t,"->%g\n",dr);.
3bd0: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 fflush(out);.
3be0: 20 64 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 72 dr = 0.0; clear
3bf0: 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f _traces();. av_
3c00: 73 74 61 72 74 5f 64 6f 75 62 6c 65 28 61 2c 64 start_double(a,d
3c10: 5f 64 2c 26 64 72 29 3b 0a 20 20 61 76 5f 64 6f _d,&dr);. av_do
3c20: 75 62 6c 65 28 61 2c 64 31 29 3b 0a 20 20 61 76 uble(a,d1);. av
3c30: 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 _call(a);. fpri
3c40: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
3c50: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
3c60: 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 ut);.. dr = d_d
3c70: 32 28 64 31 2c 64 32 29 3b 0a 20 20 66 70 72 69 2(d1,d2);. fpri
3c80: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
3c90: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
3ca0: 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e 30 3b ut);. dr = 0.0;
3cb0: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
3cc0: 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f 75 62 . av_start_doub
3cd0: 6c 65 28 61 2c 64 5f 64 32 2c 26 64 72 29 3b 0a le(a,d_d2,&dr);.
3ce0: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 av_double(a,d1
3cf0: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
3d00: 2c 64 32 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 ,d2);. av_call(
3d10: 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 a);. fprintf(ou
3d20: 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 3b 0a t,"->%g\n",dr);.
3d30: 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a fflush(out);..
3d40: 20 20 64 72 20 3d 20 64 5f 64 34 28 64 31 2c 64 dr = d_d4(d1,d
3d50: 32 2c 64 33 2c 64 34 29 3b 0a 20 20 66 70 72 69 2,d3,d4);. fpri
3d60: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
3d70: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
3d80: 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e 30 3b ut);. dr = 0.0;
3d90: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
3da0: 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f 75 62 . av_start_doub
3db0: 6c 65 28 61 2c 64 5f 64 34 2c 26 64 72 29 3b 0a le(a,d_d4,&dr);.
3dc0: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 av_double(a,d1
3dd0: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
3de0: 2c 64 32 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,d2);. av_doubl
3df0: 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f 64 6f e(a,d3);. av_do
3e00: 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 61 76 uble(a,d4);. av
3e10: 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 _call(a);. fpri
3e20: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
3e30: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
3e40: 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 ut);.. dr = d_d
3e50: 38 28 64 31 2c 64 32 2c 64 33 2c 64 34 2c 64 35 8(d1,d2,d3,d4,d5
3e60: 2c 64 36 2c 64 37 2c 64 38 29 3b 0a 20 20 66 70 ,d6,d7,d8);. fp
3e70: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c rintf(out,"->%g\
3e80: 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 n",dr);. fflush
3e90: 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e (out);. dr = 0.
3ea0: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
3eb0: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f );. av_start_do
3ec0: 75 62 6c 65 28 61 2c 64 5f 64 38 2c 26 64 72 29 uble(a,d_d8,&dr)
3ed0: 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c ;. av_double(a,
3ee0: 64 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 d1);. av_double
3ef0: 28 61 2c 64 32 29 3b 0a 20 20 61 76 5f 64 6f 75 (a,d2);. av_dou
3f00: 62 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f ble(a,d3);. av_
3f10: 64 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 double(a,d4);.
3f20: 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 35 29 3b av_double(a,d5);
3f30: 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 . av_double(a,d
3f40: 36 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 6);. av_double(
3f50: 61 2c 64 37 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,d7);. av_doub
3f60: 6c 65 28 61 2c 64 38 29 3b 0a 20 20 61 76 5f 63 le(a,d8);. av_c
3f70: 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 all(a);. fprint
3f80: 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 f(out,"->%g\n",d
3f90: 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 r);. fflush(out
3fa0: 29 3b 0a 0a 20 20 64 72 20 3d 20 64 5f 64 31 36 );.. dr = d_d16
3fb0: 28 64 31 2c 64 32 2c 64 33 2c 64 34 2c 64 35 2c (d1,d2,d3,d4,d5,
3fc0: 64 36 2c 64 37 2c 64 38 2c 64 39 2c 64 31 30 2c d6,d7,d8,d9,d10,
3fd0: 64 31 31 2c 64 31 32 2c 64 31 33 2c 64 31 34 2c d11,d12,d13,d14,
3fe0: 64 31 35 2c 64 31 36 29 3b 0a 20 20 66 70 72 69 d15,d16);. fpri
3ff0: 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 ntf(out,"->%g\n"
4000: 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f ,dr);. fflush(o
4010: 75 74 29 3b 0a 20 20 64 72 20 3d 20 30 2e 30 3b ut);. dr = 0.0;
4020: 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b clear_traces();
4030: 0a 20 20 61 76 5f 73 74 61 72 74 5f 64 6f 75 62 . av_start_doub
4040: 6c 65 28 61 2c 64 5f 64 31 36 2c 26 64 72 29 3b le(a,d_d16,&dr);
4050: 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 . av_double(a,d
4060: 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 1);. av_double(
4070: 61 2c 64 32 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,d2);. av_doub
4080: 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f 64 le(a,d3);. av_d
4090: 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 61 ouble(a,d4);. a
40a0: 76 5f 64 6f 75 62 6c 65 28 61 2c 64 35 29 3b 0a v_double(a,d5);.
40b0: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 36 av_double(a,d6
40c0: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
40d0: 2c 64 37 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,d7);. av_doubl
40e0: 65 28 61 2c 64 38 29 3b 0a 20 20 61 76 5f 64 6f e(a,d8);. av_do
40f0: 75 62 6c 65 28 61 2c 64 39 29 3b 0a 20 20 61 76 uble(a,d9);. av
4100: 5f 64 6f 75 62 6c 65 28 61 2c 64 31 30 29 3b 0a _double(a,d10);.
4110: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 av_double(a,d1
4120: 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 1);. av_double(
4130: 61 2c 64 31 32 29 3b 0a 20 20 61 76 5f 64 6f 75 a,d12);. av_dou
4140: 62 6c 65 28 61 2c 64 31 33 29 3b 0a 20 20 61 76 ble(a,d13);. av
4150: 5f 64 6f 75 62 6c 65 28 61 2c 64 31 34 29 3b 0a _double(a,d14);.
4160: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 31 av_double(a,d1
4170: 35 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 5);. av_double(
4180: 61 2c 64 31 36 29 3b 0a 20 20 61 76 5f 63 61 6c a,d16);. av_cal
4190: 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 l(a);. fprintf(
41a0: 6f 75 74 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 out,"->%g\n",dr)
41b0: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
41c0: 0a 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a 76 6f .. return;.}.vo
41d0: 69 64 0a 20 20 6d 69 78 65 64 5f 6e 75 6d 62 65 id. mixed_numbe
41e0: 72 5f 74 65 73 74 73 28 29 0a 7b 0a 20 20 61 76 r_tests().{. av
41f0: 5f 61 6c 69 73 74 20 61 3b 0a 20 20 75 63 68 61 _alist a;. ucha
4200: 72 20 75 63 72 3b 0a 20 20 75 73 68 6f 72 74 20 r ucr;. ushort
4210: 75 73 72 3b 0a 20 20 64 6f 75 62 6c 65 20 64 72 usr;. double dr
4220: 3b 0a 23 69 66 64 65 66 20 48 41 56 45 5f 4c 4f ;.#ifdef HAVE_LO
4230: 4e 47 4c 4f 4e 47 0a 20 20 6c 6f 6e 67 20 6c 6f NGLONG. long lo
4240: 6e 67 20 6c 6c 72 3b 0a 23 65 6e 64 69 66 0a 0a ng llr;.#endif..
4250: 20 20 2f 2a 20 55 6e 73 69 67 6e 65 64 20 74 79 /* Unsigned ty
4260: 70 65 73 2e 0a 20 20 20 2a 2f 0a 20 20 75 63 72 pes.. */. ucr
4270: 20 3d 20 75 63 5f 75 63 73 69 6c 28 75 63 31 2c = uc_ucsil(uc1,
4280: 75 73 32 2c 75 69 33 2c 75 6c 34 29 3b 0a 20 20 us2,ui3,ul4);.
4290: 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 fprintf(out,"->%
42a0: 75 5c 6e 22 2c 75 63 72 29 3b 0a 20 20 66 66 6c u\n",ucr);. ffl
42b0: 75 73 68 28 6f 75 74 29 3b 0a 20 20 75 63 72 20 ush(out);. ucr
42c0: 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 = 0; clear_trace
42d0: 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f s();. av_start_
42e0: 75 63 68 61 72 28 61 2c 75 63 5f 75 63 73 69 6c uchar(a,uc_ucsil
42f0: 2c 26 75 63 72 29 3b 0a 20 20 61 76 5f 75 63 68 ,&ucr);. av_uch
4300: 61 72 28 61 2c 75 63 31 29 3b 0a 20 20 61 76 5f ar(a,uc1);. av_
4310: 75 73 68 6f 72 74 28 61 2c 75 73 32 29 3b 0a 20 ushort(a,us2);.
4320: 20 61 76 5f 75 69 6e 74 28 61 2c 75 69 33 29 3b av_uint(a,ui3);
4330: 0a 20 20 61 76 5f 75 6c 6f 6e 67 28 61 2c 75 6c . av_ulong(a,ul
4340: 34 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 4);. av_call(a)
4350: 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c ;. fprintf(out,
4360: 22 2d 3e 25 75 5c 6e 22 2c 75 63 72 29 3b 0a 20 "->%u\n",ucr);.
4370: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 fflush(out);..
4380: 20 2f 2a 20 4d 69 78 65 64 20 69 6e 74 20 26 20 /* Mixed int &
4390: 66 6c 6f 61 74 20 74 79 70 65 73 2e 0a 20 20 20 float types..
43a0: 2a 2f 0a 20 20 64 72 20 3d 20 64 5f 69 69 64 64 */. dr = d_iidd
43b0: 28 69 31 2c 69 32 2c 64 33 2c 64 34 29 3b 0a 20 (i1,i2,d3,d4);.
43c0: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
43d0: 25 67 5c 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c %g\n",dr);. ffl
43e0: 75 73 68 28 6f 75 74 29 3b 0a 20 20 64 72 20 3d ush(out);. dr =
43f0: 20 30 2e 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 0.0; clear_trac
4400: 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 es();. av_start
4410: 5f 64 6f 75 62 6c 65 28 61 2c 64 5f 69 69 64 64 _double(a,d_iidd
4420: 2c 26 64 72 29 3b 0a 20 20 61 76 5f 69 6e 74 28 ,&dr);. av_int(
4430: 61 2c 69 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 a,i1);. av_int(
4440: 61 2c 69 32 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,i2);. av_doub
4450: 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f 64 le(a,d3);. av_d
4460: 6f 75 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 61 ouble(a,d4);. a
4470: 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 v_call(a);. fpr
4480: 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 25 67 5c 6e intf(out,"->%g\n
4490: 22 2c 64 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 ",dr);. fflush(
44a0: 6f 75 74 29 3b 0a 0a 20 20 64 72 20 3d 20 64 5f out);.. dr = d_
44b0: 69 64 69 64 28 69 31 2c 64 32 2c 69 33 2c 64 34 idid(i1,d2,i3,d4
44c0: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
44d0: 2c 22 2d 3e 25 67 5c 6e 22 2c 64 72 29 3b 0a 20 ,"->%g\n",dr);.
44e0: 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 fflush(out);.
44f0: 64 72 20 3d 20 30 2e 30 3b 20 63 6c 65 61 72 5f dr = 0.0; clear_
4500: 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 traces();. av_s
4510: 74 61 72 74 5f 64 6f 75 62 6c 65 28 61 2c 64 5f tart_double(a,d_
4520: 69 64 69 64 2c 26 64 72 29 3b 0a 20 20 61 76 5f idid,&dr);. av_
4530: 69 6e 74 28 61 2c 69 31 29 3b 0a 20 20 61 76 5f int(a,i1);. av_
4540: 64 6f 75 62 6c 65 28 61 2c 64 32 29 3b 0a 20 20 double(a,d2);.
4550: 61 76 5f 69 6e 74 28 61 2c 69 33 29 3b 0a 20 20 av_int(a,i3);.
4560: 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 34 29 3b av_double(a,d4);
4570: 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 . av_call(a);.
4580: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
4590: 25 67 5c 6e 22 2c 64 72 29 3b 0a 20 20 66 66 6c %g\n",dr);. ffl
45a0: 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 75 73 72 ush(out);.. usr
45b0: 20 3d 20 75 73 5f 63 64 63 64 28 63 31 2c 64 32 = us_cdcd(c1,d2
45c0: 2c 63 33 2c 64 34 29 3b 0a 20 20 66 70 72 69 6e ,c3,d4);. fprin
45d0: 74 66 28 6f 75 74 2c 22 2d 3e 25 75 5c 6e 22 2c tf(out,"->%u\n",
45e0: 75 73 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f usr);. fflush(o
45f0: 75 74 29 3b 0a 20 20 75 73 72 20 3d 20 30 3b 20 ut);. usr = 0;
4600: 63 6c 65 61 72 5f 74 72 61 63 65 73 28 29 3b 0a clear_traces();.
4610: 20 20 61 76 5f 73 74 61 72 74 5f 75 73 68 6f 72 av_start_ushor
4620: 74 28 61 2c 75 73 5f 63 64 63 64 2c 26 75 73 72 t(a,us_cdcd,&usr
4630: 29 3b 0a 20 20 61 76 5f 63 68 61 72 28 61 2c 63 );. av_char(a,c
4640: 31 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 1);. av_double(
4650: 61 2c 64 32 29 3b 0a 20 20 61 76 5f 63 68 61 72 a,d2);. av_char
4660: 28 61 2c 63 33 29 3b 0a 20 20 61 76 5f 64 6f 75 (a,c3);. av_dou
4670: 62 6c 65 28 61 2c 64 34 29 3b 0a 20 20 61 76 5f ble(a,d4);. av_
4680: 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e call(a);. fprin
4690: 74 66 28 6f 75 74 2c 22 2d 3e 25 75 5c 6e 22 2c tf(out,"->%u\n",
46a0: 75 73 72 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f usr);. fflush(o
46b0: 75 74 29 3b 0a 0a 23 69 66 64 65 66 20 48 41 56 ut);..#ifdef HAV
46c0: 45 5f 4c 4f 4e 47 4c 4f 4e 47 0a 20 20 2f 2a 20 E_LONGLONG. /*
46d0: 4c 6f 6e 67 20 6c 6f 6e 67 20 74 79 70 65 73 2e Long long types.
46e0: 0a 20 20 20 2a 2f 0a 20 20 6c 6c 72 20 3d 20 6c . */. llr = l
46f0: 6c 5f 66 6c 6c 69 28 66 31 33 2c 6c 6c 31 2c 69 l_flli(f13,ll1,i
4700: 31 33 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 13);. fprintf(o
4710: 75 74 2c 22 2d 3e 30 78 25 6c 78 25 30 38 6c 78 ut,"->0x%lx%08lx
4720: 5c 6e 22 2c 28 6c 6f 6e 67 29 28 6c 6c 72 3e 3e \n",(long)(llr>>
4730: 33 32 29 2c 28 6c 6f 6e 67 29 28 6c 6c 72 26 30 32),(long)(llr&0
4740: 78 66 66 66 66 66 66 66 66 29 29 3b 0a 20 20 66 xffffffff));. f
4750: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 6c 6c flush(out);. ll
4760: 72 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 r = 0; clear_tra
4770: 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 ces();. av_star
4780: 74 5f 6c 6f 6e 67 6c 6f 6e 67 28 61 2c 6c 6c 5f t_longlong(a,ll_
4790: 66 6c 6c 69 2c 26 6c 6c 72 29 3b 0a 20 20 61 76 flli,&llr);. av
47a0: 5f 66 6c 6f 61 74 28 61 2c 66 31 33 29 3b 0a 20 _float(a,f13);.
47b0: 20 61 76 5f 6c 6f 6e 67 6c 6f 6e 67 28 61 2c 6c av_longlong(a,l
47c0: 6c 31 29 3b 0a 20 20 61 76 5f 69 6e 74 28 61 2c l1);. av_int(a,
47d0: 69 31 33 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 i13);. av_call(
47e0: 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 a);. fprintf(ou
47f0: 74 2c 22 2d 3e 30 78 25 6c 78 25 30 38 6c 78 5c t,"->0x%lx%08lx\
4800: 6e 22 2c 28 6c 6f 6e 67 29 28 6c 6c 72 3e 3e 33 n",(long)(llr>>3
4810: 32 29 2c 28 6c 6f 6e 67 29 28 6c 6c 72 26 30 78 2),(long)(llr&0x
4820: 66 66 66 66 66 66 66 66 29 29 3b 0a 20 20 66 66 ffffffff));. ff
4830: 6c 75 73 68 28 6f 75 74 29 3b 0a 23 65 6e 64 69 lush(out);.#endi
4840: 66 0a 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a 76 f.. return;.}.v
4850: 6f 69 64 0a 20 20 70 6f 69 6e 74 65 72 5f 74 65 oid. pointer_te
4860: 73 74 73 28 29 0a 7b 0a 20 20 61 76 5f 61 6c 69 sts().{. av_ali
4870: 73 74 20 61 3b 0a 20 20 76 6f 69 64 2a 20 76 70 st a;. void* vp
4880: 72 3b 0a 0a 20 20 76 70 72 20 3d 20 76 70 5f 76 r;.. vpr = vp_v
4890: 70 64 70 63 70 73 70 28 26 75 63 31 2c 26 64 32 pdpcpsp(&uc1,&d2
48a0: 2c 73 74 72 33 2c 26 49 34 29 3b 0a 20 20 66 70 ,str3,&I4);. fp
48b0: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 30 78 25 rintf(out,"->0x%
48c0: 6c 78 5c 6e 22 2c 28 6c 6f 6e 67 29 76 70 72 29 lx\n",(long)vpr)
48d0: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
48e0: 0a 20 20 76 70 72 20 3d 20 30 3b 20 63 6c 65 61 . vpr = 0; clea
48f0: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
4900: 5f 73 74 61 72 74 5f 70 74 72 28 61 2c 76 70 5f _start_ptr(a,vp_
4910: 76 70 64 70 63 70 73 70 2c 76 6f 69 64 2a 2c 26 vpdpcpsp,void*,&
4920: 76 70 72 29 3b 0a 20 20 61 76 5f 70 74 72 28 61 vpr);. av_ptr(a
4930: 2c 76 6f 69 64 2a 2c 26 75 63 31 29 3b 0a 20 20 ,void*,&uc1);.
4940: 61 76 5f 70 74 72 28 61 2c 64 6f 75 62 6c 65 2a av_ptr(a,double*
4950: 2c 26 64 32 29 3b 0a 20 20 61 76 5f 70 74 72 28 ,&d2);. av_ptr(
4960: 61 2c 63 68 61 72 2a 2c 73 74 72 33 29 3b 0a 20 a,char*,str3);.
4970: 20 61 76 5f 70 74 72 28 61 2c 49 6e 74 2a 2c 26 av_ptr(a,Int*,&
4980: 49 34 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 I4);. av_call(a
4990: 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 );. fprintf(out
49a0: 2c 22 2d 3e 30 78 25 6c 78 5c 6e 22 2c 28 6c 6f ,"->0x%lx\n",(lo
49b0: 6e 67 29 76 70 72 29 3b 0a 20 20 66 66 6c 75 73 ng)vpr);. fflus
49c0: 68 28 6f 75 74 29 3b 0a 0a 20 20 72 65 74 75 72 h(out);.. retur
49d0: 6e 3b 0a 7d 0a 76 6f 69 64 0a 20 20 73 74 72 75 n;.}.void. stru
49e0: 63 74 75 72 65 5f 74 65 73 74 73 28 29 0a 7b 0a cture_tests().{.
49f0: 20 20 61 76 5f 61 6c 69 73 74 20 61 3b 0a 20 20 av_alist a;.
4a00: 49 6e 74 20 49 72 3b 0a 20 20 43 68 61 72 20 43 Int Ir;. Char C
4a10: 72 3b 0a 20 20 46 6c 6f 61 74 20 46 72 3b 0a 20 r;. Float Fr;.
4a20: 20 44 6f 75 62 6c 65 20 44 72 3b 0a 20 20 4a 20 Double Dr;. J
4a30: 4a 72 3b 0a 20 20 54 20 54 72 3b 0a 20 20 58 20 Jr;. T Tr;. X
4a40: 58 72 3b 0a 0a 20 20 49 72 20 3d 20 49 5f 49 49 Xr;.. Ir = I_II
4a50: 49 28 49 31 2c 49 32 2c 49 33 29 3b 0a 20 20 66 I(I1,I2,I3);. f
4a60: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 25 printf(out,"->{%
4a70: 64 7d 5c 6e 22 2c 49 72 2e 78 29 3b 0a 20 20 66 d}\n",Ir.x);. f
4a80: 66 6c 75 73 68 28 6f 75 74 29 3b 0a 20 20 49 72 flush(out);. Ir
4a90: 2e 78 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 .x = 0; clear_tr
4aa0: 61 63 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 aces();. av_sta
4ab0: 72 74 5f 73 74 72 75 63 74 28 61 2c 49 5f 49 49 rt_struct(a,I_II
4ac0: 49 2c 49 6e 74 2c 31 2c 26 49 72 29 3b 0a 20 20 I,Int,1,&Ir);.
4ad0: 61 76 5f 73 74 72 75 63 74 28 61 2c 49 6e 74 2c av_struct(a,Int,
4ae0: 49 31 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 74 I1);. av_struct
4af0: 28 61 2c 49 6e 74 2c 49 32 29 3b 0a 20 20 61 76 (a,Int,I2);. av
4b00: 5f 73 74 72 75 63 74 28 61 2c 49 6e 74 2c 49 33 _struct(a,Int,I3
4b10: 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b );. av_call(a);
4b20: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
4b30: 2d 3e 7b 25 64 7d 5c 6e 22 2c 49 72 2e 78 29 3b ->{%d}\n",Ir.x);
4b40: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
4b50: 0a 23 69 66 6e 64 65 66 20 53 4b 49 50 5f 45 58 .#ifndef SKIP_EX
4b60: 54 52 41 5f 53 54 52 55 43 54 53 0a 20 20 43 72 TRA_STRUCTS. Cr
4b70: 20 3d 20 43 5f 43 64 43 28 43 31 2c 64 32 2c 43 = C_CdC(C1,d2,C
4b80: 33 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 3);. fprintf(ou
4b90: 74 2c 22 2d 3e 7b 27 25 63 27 7d 5c 6e 22 2c 43 t,"->{'%c'}\n",C
4ba0: 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f r.x);. fflush(o
4bb0: 75 74 29 3b 0a 20 20 43 72 2e 78 20 3d 20 27 5c ut);. Cr.x = '\
4bc0: 30 27 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 0'; clear_traces
4bd0: 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 73 ();. av_start_s
4be0: 74 72 75 63 74 28 61 2c 43 5f 43 64 43 2c 43 68 truct(a,C_CdC,Ch
4bf0: 61 72 2c 31 2c 26 43 72 29 3b 0a 20 20 61 76 5f ar,1,&Cr);. av_
4c00: 73 74 72 75 63 74 28 61 2c 43 68 61 72 2c 43 31 struct(a,Char,C1
4c10: 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 );. av_double(a
4c20: 2c 64 32 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 ,d2);. av_struc
4c30: 74 28 61 2c 43 68 61 72 2c 43 33 29 3b 0a 20 20 t(a,Char,C3);.
4c40: 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 av_call(a);. fp
4c50: 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 27 25 rintf(out,"->{'%
4c60: 63 27 7d 5c 6e 22 2c 43 72 2e 78 29 3b 0a 20 20 c'}\n",Cr.x);.
4c70: 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 20 20 fflush(out);..
4c80: 46 72 20 3d 20 46 5f 46 66 64 28 46 31 2c 66 32 Fr = F_Ffd(F1,f2
4c90: 2c 64 33 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 ,d3);. fprintf(
4ca0: 6f 75 74 2c 22 2d 3e 7b 25 67 7d 5c 6e 22 2c 46 out,"->{%g}\n",F
4cb0: 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f r.x);. fflush(o
4cc0: 75 74 29 3b 0a 20 20 46 72 2e 78 20 3d 20 30 2e ut);. Fr.x = 0.
4cd0: 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 65 73 28 0; clear_traces(
4ce0: 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 5f 73 74 );. av_start_st
4cf0: 72 75 63 74 28 61 2c 46 5f 46 66 64 2c 46 6c 6f ruct(a,F_Ffd,Flo
4d00: 61 74 2c 61 76 5f 77 6f 72 64 5f 73 70 6c 69 74 at,av_word_split
4d10: 74 61 62 6c 65 5f 31 28 66 6c 6f 61 74 29 2c 26 table_1(float),&
4d20: 46 72 29 3b 0a 20 20 61 76 5f 73 74 72 75 63 74 Fr);. av_struct
4d30: 28 61 2c 46 6c 6f 61 74 2c 46 31 29 3b 0a 20 20 (a,Float,F1);.
4d40: 61 76 5f 66 6c 6f 61 74 28 61 2c 66 32 29 3b 0a av_float(a,f2);.
4d50: 20 20 61 76 5f 64 6f 75 62 6c 65 28 61 2c 64 33 av_double(a,d3
4d60: 29 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b );. av_call(a);
4d70: 0a 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 . fprintf(out,"
4d80: 2d 3e 7b 25 67 7d 5c 6e 22 2c 46 72 2e 78 29 3b ->{%g}\n",Fr.x);
4d90: 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b 0a . fflush(out);.
4da0: 0a 20 20 44 72 20 3d 20 44 5f 66 44 64 28 66 31 . Dr = D_fDd(f1
4db0: 2c 44 32 2c 64 33 29 3b 0a 20 20 66 70 72 69 6e ,D2,d3);. fprin
4dc0: 74 66 28 6f 75 74 2c 22 2d 3e 7b 25 67 7d 5c 6e tf(out,"->{%g}\n
4dd0: 22 2c 44 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 ",Dr.x);. fflus
4de0: 68 28 6f 75 74 29 3b 0a 20 20 44 72 2e 78 20 3d h(out);. Dr.x =
4df0: 20 30 2e 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 0.0; clear_trac
4e00: 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 es();. av_start
4e10: 5f 73 74 72 75 63 74 28 61 2c 44 5f 66 44 64 2c _struct(a,D_fDd,
4e20: 44 6f 75 62 6c 65 2c 61 76 5f 77 6f 72 64 5f 73 Double,av_word_s
4e30: 70 6c 69 74 74 61 62 6c 65 5f 31 28 64 6f 75 62 plittable_1(doub
4e40: 6c 65 29 2c 26 44 72 29 3b 0a 20 20 61 76 5f 66 le),&Dr);. av_f
4e50: 6c 6f 61 74 28 61 2c 66 31 29 3b 0a 20 20 61 76 loat(a,f1);. av
4e60: 5f 73 74 72 75 63 74 28 61 2c 44 6f 75 62 6c 65 _struct(a,Double
4e70: 2c 44 32 29 3b 0a 20 20 61 76 5f 64 6f 75 62 6c ,D2);. av_doubl
4e80: 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f 63 61 e(a,d3);. av_ca
4e90: 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 6e 74 66 ll(a);. fprintf
4ea0: 28 6f 75 74 2c 22 2d 3e 7b 25 67 7d 5c 6e 22 2c (out,"->{%g}\n",
4eb0: 44 72 2e 78 29 3b 0a 20 20 66 66 6c 75 73 68 28 Dr.x);. fflush(
4ec0: 6f 75 74 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 out);.#endif..
4ed0: 4a 72 20 3d 20 4a 5f 4a 69 4a 28 4a 31 2c 69 32 Jr = J_JiJ(J1,i2
4ee0: 2c 4a 32 29 3b 0a 20 20 66 70 72 69 6e 74 66 28 ,J2);. fprintf(
4ef0: 6f 75 74 2c 22 2d 3e 7b 25 6c 64 2c 25 6c 64 7d out,"->{%ld,%ld}
4f00: 5c 6e 22 2c 4a 72 2e 6c 31 2c 4a 72 2e 6c 32 29 \n",Jr.l1,Jr.l2)
4f10: 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 74 29 3b ;. fflush(out);
4f20: 0a 20 20 4a 72 2e 6c 31 20 3d 20 4a 72 2e 6c 32 . Jr.l1 = Jr.l2
4f30: 20 3d 20 30 3b 20 63 6c 65 61 72 5f 74 72 61 63 = 0; clear_trac
4f40: 65 73 28 29 3b 0a 20 20 61 76 5f 73 74 61 72 74 es();. av_start
4f50: 5f 73 74 72 75 63 74 28 61 2c 4a 5f 4a 69 4a 2c _struct(a,J_JiJ,
4f60: 4a 2c 61 76 5f 77 6f 72 64 5f 73 70 6c 69 74 74 J,av_word_splitt
4f70: 61 62 6c 65 5f 32 28 6c 6f 6e 67 2c 6c 6f 6e 67 able_2(long,long
4f80: 29 2c 26 4a 72 29 3b 0a 20 20 61 76 5f 73 74 72 ),&Jr);. av_str
4f90: 75 63 74 28 61 2c 4a 2c 4a 31 29 3b 0a 20 20 61 uct(a,J,J1);. a
4fa0: 76 5f 69 6e 74 28 61 2c 69 32 29 3b 0a 20 20 61 v_int(a,i2);. a
4fb0: 76 5f 73 74 72 75 63 74 28 61 2c 4a 2c 4a 32 29 v_struct(a,J,J2)
4fc0: 3b 0a 20 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a ;. av_call(a);.
4fd0: 20 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d fprintf(out,"-
4fe0: 3e 7b 25 6c 64 2c 25 6c 64 7d 5c 6e 22 2c 4a 72 >{%ld,%ld}\n",Jr
4ff0: 2e 6c 31 2c 4a 72 2e 6c 32 29 3b 0a 20 20 66 66 .l1,Jr.l2);. ff
5000: 6c 75 73 68 28 6f 75 74 29 3b 0a 0a 23 69 66 6e lush(out);..#ifn
5010: 64 65 66 20 53 4b 49 50 5f 45 58 54 52 41 5f 53 def SKIP_EXTRA_S
5020: 54 52 55 43 54 53 0a 23 69 66 6e 64 65 66 20 53 TRUCTS.#ifndef S
5030: 4b 49 50 5f 54 0a 20 20 54 72 20 3d 20 54 5f 54 KIP_T. Tr = T_T
5040: 63 54 28 54 31 2c 27 20 27 2c 54 32 29 3b 0a 20 cT(T1,' ',T2);.
5050: 20 66 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e fprintf(out,"->
5060: 7b 5c 22 25 63 25 63 25 63 5c 22 7d 5c 6e 22 2c {\"%c%c%c\"}\n",
5070: 54 72 2e 63 5b 30 5d 2c 54 72 2e 63 5b 31 5d 2c Tr.c[0],Tr.c[1],
5080: 54 72 2e 63 5b 32 5d 29 3b 0a 20 20 66 66 6c 75 Tr.c[2]);. fflu
5090: 73 68 28 6f 75 74 29 3b 0a 20 20 54 72 2e 63 5b sh(out);. Tr.c[
50a0: 30 5d 20 3d 20 54 72 2e 63 5b 31 5d 20 3d 20 54 0] = Tr.c[1] = T
50b0: 72 2e 63 5b 32 5d 20 3d 20 30 3b 20 63 6c 65 61 r.c[2] = 0; clea
50c0: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
50d0: 5f 73 74 61 72 74 5f 73 74 72 75 63 74 28 61 2c _start_struct(a,
50e0: 54 5f 54 63 54 2c 54 2c 31 2c 26 54 72 29 3b 0a T_TcT,T,1,&Tr);.
50f0: 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c 54 2c av_struct(a,T,
5100: 54 31 29 3b 0a 20 20 61 76 5f 63 68 61 72 28 61 T1);. av_char(a
5110: 2c 27 20 27 29 3b 0a 20 20 61 76 5f 73 74 72 75 ,' ');. av_stru
5120: 63 74 28 61 2c 54 2c 54 32 29 3b 0a 20 20 61 76 ct(a,T,T2);. av
5130: 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 70 72 69 _call(a);. fpri
5140: 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 5c 22 25 63 ntf(out,"->{\"%c
5150: 25 63 25 63 5c 22 7d 5c 6e 22 2c 54 72 2e 63 5b %c%c\"}\n",Tr.c[
5160: 30 5d 2c 54 72 2e 63 5b 31 5d 2c 54 72 2e 63 5b 0],Tr.c[1],Tr.c[
5170: 32 5d 29 3b 0a 20 20 66 66 6c 75 73 68 28 6f 75 2]);. fflush(ou
5180: 74 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 58 72 t);.#endif.. Xr
5190: 20 3d 20 58 5f 42 63 64 42 28 42 31 2c 63 32 2c = X_BcdB(B1,c2,
51a0: 64 33 2c 42 32 29 3b 0a 20 20 66 70 72 69 6e 74 d3,B2);. fprint
51b0: 66 28 6f 75 74 2c 22 2d 3e 7b 5c 22 25 73 5c 22 f(out,"->{\"%s\"
51c0: 2c 27 25 63 27 7d 5c 6e 22 2c 58 72 2e 63 2c 58 ,'%c'}\n",Xr.c,X
51d0: 72 2e 63 31 29 3b 0a 20 20 66 66 6c 75 73 68 28 r.c1);. fflush(
51e0: 6f 75 74 29 3b 0a 20 20 58 72 2e 63 5b 30 5d 3d out);. Xr.c[0]=
51f0: 58 72 2e 63 31 3d 27 5c 30 27 3b 20 63 6c 65 61 Xr.c1='\0'; clea
5200: 72 5f 74 72 61 63 65 73 28 29 3b 0a 20 20 61 76 r_traces();. av
5210: 5f 73 74 61 72 74 5f 73 74 72 75 63 74 28 61 2c _start_struct(a,
5220: 58 5f 42 63 64 42 2c 58 2c 30 2c 26 58 72 29 3b X_BcdB,X,0,&Xr);
5230: 0a 20 20 61 76 5f 73 74 72 75 63 74 28 61 2c 42 . av_struct(a,B
5240: 2c 42 31 29 3b 0a 20 20 61 76 5f 63 68 61 72 28 ,B1);. av_char(
5250: 61 2c 63 32 29 3b 0a 20 20 61 76 5f 64 6f 75 62 a,c2);. av_doub
5260: 6c 65 28 61 2c 64 33 29 3b 0a 20 20 61 76 5f 73 le(a,d3);. av_s
5270: 74 72 75 63 74 28 61 2c 42 2c 42 32 29 3b 0a 20 truct(a,B,B2);.
5280: 20 61 76 5f 63 61 6c 6c 28 61 29 3b 0a 20 20 66 av_call(a);. f
5290: 70 72 69 6e 74 66 28 6f 75 74 2c 22 2d 3e 7b 5c printf(out,"->{\
52a0: 22 25 73 5c 22 2c 27 25 63 27 7d 5c 6e 22 2c 58 "%s\",'%c'}\n",X
52b0: 72 2e 63 2c 58 72 2e 63 31 29 3b 0a 20 20 66 66 r.c,Xr.c1);. ff
52c0: 6c 75 73 68 28 6f 75 74 29 3b 0a 23 65 6e 64 69 lush(out);.#endi
52d0: 66 0a 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a 69 f.. return;.}.i
52e0: 6e 74 0a 20 20 6d 61 69 6e 28 29 0a 7b 0a 20 20 nt. main().{.
52f0: 6f 75 74 20 3d 20 73 74 64 6f 75 74 3b 0a 20 20 out = stdout;.
5300: 76 6f 69 64 5f 74 65 73 74 73 28 29 3b 0a 20 20 void_tests();.
5310: 69 6e 74 5f 74 65 73 74 73 28 29 3b 0a 20 20 66 int_tests();. f
5320: 6c 6f 61 74 5f 74 65 73 74 73 28 29 3b 0a 20 20 loat_tests();.
5330: 64 6f 75 62 6c 65 5f 74 65 73 74 73 28 29 3b 0a double_tests();.
5340: 20 20 6d 69 78 65 64 5f 6e 75 6d 62 65 72 5f 74 mixed_number_t
5350: 65 73 74 73 28 29 3b 0a 20 20 70 6f 69 6e 74 65 ests();. pointe
5360: 72 5f 74 65 73 74 73 28 29 3b 0a 20 20 73 74 72 r_tests();. str
5370: 75 63 74 75 72 65 5f 74 65 73 74 73 28 29 3b 0a ucture_tests();.
5380: 0a 20 20 65 78 69 74 28 30 29 3b 0a 7d 0a 0a 23 . exit(0);.}..#
5390: 65 6e 64 69 66 20 2f 2a 5f 74 65 73 74 73 5f 63 endif /*_tests_c
53a0: 20 2a 2f 0a */.