Artifact 837f3e48787cf7a48fd7de6530350fe95810a8b6:


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