home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume31 / jgraph / part05 < prev    next >
Encoding:
Text File  |  1992-07-13  |  54.8 KB  |  2,346 lines

  1. Newsgroups: comp.sources.misc
  2. From: jsp@Princeton.EDU (James Plank)
  3. Subject:  v31i035:  jgraph - A filter for plotting postscript graphs v8.0, Part05/07
  4. Message-ID: <1992Jul14.151919.11129@sparky.imd.sterling.com>
  5. X-Md4-Signature: 1fdf7025b1aac687a77d4fb78c42fcf1
  6. Date: Tue, 14 Jul 1992 15:19:19 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jsp@Princeton.EDU (James Plank)
  10. Posting-number: Volume 31, Issue 35
  11. Archive-name: jgraph/part05
  12. Environment: UNIX, VMS, postscript
  13. Supersedes: jgraph: Volume 16, Issue 20
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then feed it
  17. # into a shell via "sh file" or similar.  To overwrite existing files,
  18. # type "sh file -c".
  19. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  20. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  21. # Contents:  MSDOS.help prio_list.c process.c sin.pts sin3.pts
  22. # Wrapped by kent@sparky on Sun Jul 12 20:04:03 1992
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 5 (of 7)."'
  26. if test -f 'MSDOS.help' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'MSDOS.help'\"
  28. else
  29.   echo shar: Extracting \"'MSDOS.help'\" \(321 characters\)
  30.   sed "s/^X//" >'MSDOS.help' <<'END_OF_FILE'
  31. XThis from Alan S. Raskin:
  32. X
  33. XYou may be interested in knowing what it takes to get jgraph to compile
  34. XMS-DOS/MS-QuickC:
  35. X
  36. X1) Ignore all of the "function should return a value" warnings.  :-)
  37. X2) Use the blank VMS templates for popen and pclose in token.c
  38. X3) Define float=double to avoid math-overflow run-time errors.
  39. X
  40. X-Alan
  41. X
  42. END_OF_FILE
  43.   if test 321 -ne `wc -c <'MSDOS.help'`; then
  44.     echo shar: \"'MSDOS.help'\" unpacked with wrong size!
  45.   fi
  46.   # end of 'MSDOS.help'
  47. fi
  48. if test -f 'prio_list.c' -a "${1}" != "-c" ; then 
  49.   echo shar: Will not clobber existing file \"'prio_list.c'\"
  50. else
  51.   echo shar: Extracting \"'prio_list.c'\" \(1786 characters\)
  52.   sed "s/^X//" >'prio_list.c' <<'END_OF_FILE'
  53. X/* 
  54. X * $Source: /n/fs/vd/jsp/src/jgraph/RCS/prio_list.c,v $
  55. X * $Revision: 8.0 $
  56. X * $Date: 92/07/03 14:16:06 $
  57. X * $Author: jsp $
  58. X */
  59. X
  60. X#include "list.h"
  61. X#include "prio_list.h"
  62. X#include <stdio.h>
  63. X
  64. Xtypedef int Boolean;
  65. X
  66. X/* A prioirity list is any list with the first three fields being flink, 
  67. X * blink and prio.  Use the routines of list.c to do everything except
  68. X * insertion */
  69. Xtypedef struct prio_list {
  70. X  struct prio_list *flink;
  71. X  struct prio_list *blink;
  72. X  int prio;
  73. X} *Prio_list;
  74. X
  75. X/* Prio_insert inserts nodes into their proper places in priority lists.  It first 
  76. X * checks for inserting into the head or tail, and then proceeds sequentially.
  77. X * Thus, it is worst case linear, but for most cases constant time (right). */
  78. X
  79. Xprio_insert(node, list, desc)
  80. XPrio_list node;
  81. XPrio_list list;
  82. XBoolean desc;
  83. X{
  84. X  Prio_list p;
  85. X
  86. X  /* Check nil and head of list */
  87. X  if (first(list) == nil(list) || 
  88. X      (!desc && first(list)->prio >= node->prio) ||
  89. X      (desc  && first(list)->prio <= node->prio) ) {
  90. X    node->blink = list;
  91. X    node->flink = list->flink;
  92. X    list->flink->blink = node;
  93. X    list->flink = node;
  94. X    return;
  95. X  }
  96. X  /* Check tail of list */
  97. X  if ((desc  && last(list)->prio >= node->prio) ||
  98. X      (!desc && last(list)->prio <= node->prio) ) {
  99. X    node->flink = list;
  100. X    node->blink = list->blink;
  101. X    list->blink->flink = node;
  102. X    list->blink = node;
  103. X    return;
  104. X  }
  105. X  /* Check the rest of the list sequentially */
  106. X  for(p = next(first(list));  ; p = next(p)) {
  107. X    if (p == nil(list)) fprintf(stderr, "inserting into tail did not work\n");
  108. X    if ((!desc && p->prio >= node->prio) ||
  109. X        (desc  && p->prio <= node->prio)) {
  110. X      node->flink = p;
  111. X      node->blink = p->blink;
  112. X      p->blink->flink = node;
  113. X      p->blink = node;
  114. X      return;
  115. X    }
  116. X  }
  117. X}
  118. X      
  119. X
  120. X  
  121. END_OF_FILE
  122.   if test 1786 -ne `wc -c <'prio_list.c'`; then
  123.     echo shar: \"'prio_list.c'\" unpacked with wrong size!
  124.   fi
  125.   # end of 'prio_list.c'
  126. fi
  127. if test -f 'process.c' -a "${1}" != "-c" ; then 
  128.   echo shar: Will not clobber existing file \"'process.c'\"
  129. else
  130.   echo shar: Extracting \"'process.c'\" \(23107 characters\)
  131.   sed "s/^X//" >'process.c' <<'END_OF_FILE'
  132. X/* 
  133. X * $Source: /n/fs/vd/jsp/src/jgraph/RCS/process.c,v $
  134. X * $Revision: 8.0 $
  135. X * $Date: 92/07/03 14:16:11 $
  136. X * $Author: jsp $
  137. X */
  138. X
  139. X#include <stdio.h>
  140. X#include <math.h>
  141. X
  142. X#include "jgraph.h"
  143. X
  144. X#define ABS(a) ((a > 0.0) ? (a) : (-a))
  145. X#define MAX(a, b) ((a > b) ? (a) : (b))
  146. X#define MIN(a, b) ((a < b) ? (a) : (b))
  147. X#define AXIS_CHAR(a) ((a->is_x) ? 'x' : 'y')
  148. X#define HASH_DIR(a) ((a->hash_scale > 0.0) ? 1 : -1)
  149. X
  150. Xstatic double Pi;
  151. X
  152. Xprocess_title(g)
  153. XGraph g;
  154. X{
  155. X
  156. X  float ytitleloc;
  157. X
  158. X  if (g->title->x == FSIG) g->title->x = g->x_axis->psize / 2.0;
  159. X    else g->title->x = ctop(g->title->x, g->x_axis);
  160. X  if (g->title->y != FSIG) g->title->y = ctop(g->title->y, g->y_axis);
  161. X  else {
  162. X    ytitleloc = 0.0;
  163. X    if (g->x_axis->draw_axis_label && g->x_axis->label->label != CNULL) 
  164. X      ytitleloc = MIN(ytitleloc, g->x_axis->label->ymin); 
  165. X    if (g->x_axis->draw_hash_labels)
  166. X      ytitleloc = MIN(ytitleloc, g->x_axis->hl->ymin);
  167. X    if (g->x_axis->draw_hash_marks)
  168. X      ytitleloc = MIN(ytitleloc, g->x_axis->draw_hash_marks_at - HASH_SIZE);
  169. X    if (g->legend->type == 'u')
  170. X      ytitleloc = MIN(ytitleloc, g->legend->l->ymin);
  171. X    
  172. X    g->title->y = ytitleloc - 10.0;
  173. X  }
  174. X  process_label(g->title, g, 0);
  175. X}
  176. X
  177. Xprocess_legend(g)
  178. XGraph g;
  179. X{
  180. X  Legend l;
  181. X  int anything;
  182. X  float height, hdist, y, x, width, maxmark, maxmarky;
  183. X  Curve c;
  184. X  char *s;
  185. X
  186. X  l = g->legend;
  187. X  if (l->type == 'n') return;
  188. X  if (l->l->linesep == FSIG) l->l->linesep = l->l->fontsize;
  189. X  l->anylines = 0;
  190. X  maxmark = 0.0;
  191. X  maxmarky = 0.0;
  192. X  anything = 0;
  193. X  for (c = first(g->curves); c != nil(g->curves); c = next(c)) {
  194. X    if (c->l->label != CNULL) {
  195. X      anything = 1;
  196. X      if (c->marktype == 'l') {
  197. X         maxmark = MAX(maxmark, c->lmark->xmax - c->lmark->xmin); 
  198. X         maxmarky = MAX(maxmarky, c->lmark->ymax - c->lmark->ymin); 
  199. X      } else if (c->marktype != 'n') {
  200. X        maxmark = MAX(maxmark, ABS(c->marksize[0]));
  201. X        maxmarky = MAX(maxmarky, ABS(c->marksize[1]));
  202. X      }
  203. X      if (c->linetype != '0') l->anylines = 1;
  204. X    }
  205. X  }
  206. X  if (l->linelength == FSIG)
  207. X    l->linelength = (l->anylines) ? (MAX(maxmark + 6.0, 12.0)) : 0.0;
  208. X    else l->linelength = disttop(l->linelength, g->x_axis);
  209. X  if (l->midspace == FSIG)
  210. X    l->midspace = (l->anylines) ? 4.0 : (maxmark / 2.0) + 4.0;
  211. X    else l->midspace = disttop(l->midspace, g->x_axis);
  212. X  if (l->linebreak == FSIG)
  213. X    l->linebreak = MAX(l->l->linesep * FCPI / FPPI, maxmarky);
  214. X    else l->linebreak = disttop(l->linebreak, g->y_axis);
  215. X
  216. X  if (l->type == 'c') {
  217. X    for (c = first(g->curves); c != nil(g->curves); c = next(c)) {
  218. X      if (c->l->label != CNULL) process_label(c->l, g, 1);
  219. X    }
  220. X    return;
  221. X  }
  222. X
  223. X  if (!anything) {
  224. X    l->anylines = -1; 
  225. X    return;
  226. X  }
  227. X
  228. X  width = 0.0;
  229. X  height = -l->linebreak;
  230. X  for (c = first(g->curves); c != nil(g->curves); c = next(c)) {
  231. X    if (c->l->label != CNULL) {
  232. X      s = c->l->label;
  233. X      copy_label(c->l, l->l);
  234. X      c->l->x = 0.0;
  235. X      c->l->y = 0.0;
  236. X      c->l->rotate = 0.0;
  237. X      c->l->hj = 'l';
  238. X      c->l->vj = 'b';
  239. X      c->l->label = s;
  240. X      process_label(c->l, g, 0);
  241. X      height += c->l->ymax + l->linebreak;
  242. X      width = MAX(width, c->l->xmax);
  243. X    }
  244. X  }
  245. X  hdist = (l->anylines) ? l->midspace + l->linelength : l->midspace;
  246. X  width += hdist;
  247. X
  248. X  if (l->l->x == FSIG) {
  249. X    if (l->l->hj == 'c') {
  250. X      l->l->x = g->x_axis->psize / 2;
  251. X    } else if (l->l->hj == 'l') {
  252. X      if (l->l->vj == 'c') {
  253. X        l->l->x = g->x_axis->psize;
  254. X        if (g->y_axis->draw_axis_label) 
  255. X          l->l->x = MAX(l->l->x, g->y_axis->label->xmax);
  256. X        if (g->y_axis->draw_hash_labels) 
  257. X          l->l->x = MAX(l->l->x, g->y_axis->hl->xmax);
  258. X        if (g->y_axis->draw_hash_marks) {
  259. X          l->l->x = MAX(l->l->x, g->y_axis->draw_hash_marks_at);
  260. X          l->l->x = MAX(l->l->x, g->y_axis->draw_hash_marks_at + 
  261. X                                 HASH_DIR(g->y_axis) * HASH_SIZE);
  262. X        }
  263. X        l->l->x += 15.0;
  264. X      } else {
  265. X        l->l->x = 0.0;
  266. X      }
  267. X    } else {
  268. X      if (l->l->vj == 'c') {
  269. X        l->l->x = 0.0;
  270. X        if (g->y_axis->draw_axis_label) 
  271. X          l->l->x = MIN(l->l->x, g->y_axis->label->xmin);
  272. X        if (g->y_axis->draw_hash_labels) 
  273. X          l->l->x = MIN(l->l->x, g->y_axis->hl->xmin);
  274. X        if (g->y_axis->draw_hash_marks) {
  275. X          l->l->x = MIN(l->l->x, g->y_axis->draw_hash_marks_at);
  276. X          l->l->x = MIN(l->l->x, g->y_axis->draw_hash_marks_at + 
  277. X                                 HASH_DIR(g->y_axis) * HASH_SIZE);
  278. X        }
  279. X        l->l->x = l->l->x - 15.0;
  280. X      } else {
  281. X        l->l->x = g->x_axis->psize;
  282. X      }
  283. X    }
  284. X  } else {
  285. X    l->l->x = ctop(l->l->x, g->x_axis);
  286. X  }
  287. X  if (l->l->y == FSIG) {
  288. X    if (l->l->vj == 'c') {
  289. X      l->l->y = g->y_axis->psize / 2.0;
  290. X    } else if (l->l->vj == 'b') {
  291. X      l->l->y = g->y_axis->psize;
  292. X      if (g->x_axis->draw_axis_label) 
  293. X        l->l->y = MAX(l->l->y, g->x_axis->label->ymax);
  294. X      if (g->x_axis->draw_hash_labels) 
  295. X        l->l->y = MAX(l->l->y, g->x_axis->hl->ymax);
  296. X      if (g->x_axis->draw_hash_marks) {
  297. X        l->l->y = MAX(l->l->y, g->x_axis->draw_hash_marks_at);
  298. X        l->l->y = MAX(l->l->y, g->x_axis->draw_hash_marks_at + 
  299. X                               HASH_DIR(g->x_axis) * HASH_SIZE);
  300. X      }
  301. X      l->l->y += 15.0;
  302. X    } else {
  303. X      l->l->y = 0.0;
  304. X      if (g->x_axis->draw_axis_label) 
  305. X        l->l->y = MIN(l->l->y, g->x_axis->label->ymin);
  306. X      if (g->x_axis->draw_hash_labels) 
  307. X        l->l->y = MIN(l->l->y, g->x_axis->hl->ymin);
  308. X      if (g->x_axis->draw_hash_marks) {
  309. X        l->l->y = MIN(l->l->y, g->x_axis->draw_hash_marks_at);
  310. X        l->l->y = MIN(l->l->y, g->x_axis->draw_hash_marks_at + 
  311. X                               HASH_DIR(g->x_axis) * HASH_SIZE);
  312. X      }
  313. X      l->l->y -= 15.0;
  314. X    }
  315. X  } else {
  316. X    l->l->y = ctop(l->l->y, g->y_axis);
  317. X  }
  318. X
  319. X  if (l->l->hj == 'l') x = 0.0;
  320. X  else if (l->l->hj == 'c') x = - width/2.0;
  321. X  else x = -width;
  322. X
  323. X  if (l->l->vj == 't') y = 0.0;
  324. X  else if (l->l->vj == 'c') y = height / 2.0;
  325. X  else y = height;
  326. X
  327. X  for (c = first(g->curves); c != nil(g->curves); c = next(c)) {
  328. X    if (c->l->label != CNULL) {
  329. X      c->l->x = hdist + x;
  330. X      c->l->y = y;
  331. X      c->l->vj = 't';
  332. X      c->l->hj = 'l';
  333. X      c->l->rotate = 0.0;
  334. X      process_label(c->l, g, 0);
  335. X      y = c->l->ymin - l->linebreak;
  336. X    }
  337. X  }
  338. X  
  339. X  process_label_max_n_mins(l->l, width, height);
  340. X}
  341. X
  342. Xfloat find_reasonable_hash_interval(a) 
  343. XAxis a;
  344. X{
  345. X  float s, d;
  346. X
  347. X  if (a->is_lg) return 0.0;
  348. X  s = a->max - a->min;
  349. X  d = 1.0;
  350. X  if (s > 5.0) {
  351. X    while(1) {
  352. X      if (s / d < 6.0) return d;
  353. X      d *= 2.0;
  354. X      if (s / d < 6.0) return d;
  355. X      d *= 2.5;
  356. X      if (s / d < 6.0) return d;
  357. X      d *= 2.0;
  358. X    }
  359. X  } else {
  360. X    while(1) {
  361. X      if (s / d > 2.0) return d;
  362. X      d /= 2.0;
  363. X      if (s / d > 2.0) return d;
  364. X      d /= 2.5;
  365. X      if (s / d > 2.0) return d;
  366. X      d /= 2.0;
  367. X    }
  368. X  }
  369. X}
  370. X
  371. Xfloat find_reasonable_hash_start(a)
  372. XAxis a;
  373. X{
  374. X  int i;
  375. X  
  376. X  if (a->is_lg) return 0.0;
  377. X  if (a->max > 0.0 && a->min < 0.0) return 0.0;
  378. X  i = ((int) (a->min / a->hash_interval));
  379. X  return ((float) i) * a->hash_interval;
  380. X}
  381. X
  382. Xint find_reasonable_precision(a)
  383. XAxis a;
  384. X{
  385. X  int i, b, b2, done;
  386. X  float x, x2, tolerance;
  387. X
  388. X  tolerance = 0.000001;
  389. X  b = 0;
  390. X  x = a->hash_interval;
  391. X
  392. X  done = 0;
  393. X  while(b < 6 && !done) {
  394. X    i = (int) (x + 0.4);
  395. X    x2 = i;
  396. X    if (x2 - x < tolerance && x - x2 < tolerance) done = 1;
  397. X    else {
  398. X      b++;
  399. X      x *= 10.0;
  400. X      tolerance *= 10.0;
  401. X    }
  402. X  }
  403. X
  404. X  tolerance = 0.000001;
  405. X  b2 = 0;
  406. X  x = a->hash_start;
  407. X
  408. X  done = 0;
  409. X  while(b2 < 6 && !done) {
  410. X    i = (int) (x + 0.4);
  411. X    x2 = i;
  412. X    if (x2 - x < tolerance && x - x2 < tolerance) done = 1;
  413. X    else {
  414. X      b2++;
  415. X      x *= 10.0;
  416. X      tolerance *= 10.0;
  417. X    }
  418. X  }
  419. X  return MAX(b, b2);
  420. X}
  421. X
  422. Xint find_reasonable_minor_hashes(a)
  423. XAxis a;
  424. X{
  425. X  float d;  
  426. X  int i;
  427. X  
  428. X  if (a->is_lg) {
  429. X    d = a->log_base;
  430. X    while(d > 10.0) d /= 10.0;
  431. X    while(d <= 1.0) d *= 10.0;
  432. X    i = (int) d;
  433. X    return MAX((i - 2), 0);
  434. X  } else {
  435. X    d = a->hash_interval;
  436. X    if (d == 0.0) return 0;
  437. X    while(d > 10.0) d /= 10.0;
  438. X    while(d <= 1.0) d *= 10.0;
  439. X    i = (int) d;
  440. X    if (((float) i) != d) return 0;
  441. X    return i-1;
  442. X  }
  443. X}
  444. X
  445. Xprocess_axis1(a, g)
  446. XAxis a;
  447. XGraph g;
  448. X{
  449. X  float tmp;
  450. X  int i;
  451. X
  452. X  if (a->min == FSIG) {
  453. X    if (a->pmin == FSIG) {
  454. X      error_header();
  455. X      fprintf(stderr, 
  456. X              "Graph %d: %c axis has no minimum, and cannot derive one\n",
  457. X              g->num, AXIS_CHAR(a));
  458. X      fprintf(stderr, "  Use %caxis min\n", AXIS_CHAR(a));
  459. X      exit(1);
  460. X    } else if (a->pmin <= 0.0 && a->is_lg) {
  461. X      error_header();
  462. X      fprintf(stderr, "Trying to derive %c axis\n", AXIS_CHAR(a));
  463. X      fprintf(stderr, 
  464. X        "        Minimum value %f will be -infinity with log axes\n", a->pmin);
  465. X      exit(1);
  466. X    } else a->min = a->pmin;
  467. X  }
  468. X  if (a->max == FSIG) {
  469. X    if (a->pmax == FSIG) {
  470. X      error_header();
  471. X      fprintf(stderr, 
  472. X              "Graph %d: %c axis has no maximum, and cannot derive one\n",
  473. X              g->num, AXIS_CHAR(a));
  474. X      fprintf(stderr, "  Use %caxis max\n", AXIS_CHAR(a));
  475. X      exit(1);
  476. X    } else if (a->pmax <= 0.0 && a->is_lg) {
  477. X      error_header();
  478. X      fprintf(stderr, "Trying to derive %c axis\n", AXIS_CHAR(a));
  479. X      fprintf(stderr, 
  480. X        "        Maximum value %f will be -infinity with log axes\n", a->pmax);
  481. X      exit(1);
  482. X    } else a->max = a->pmax;
  483. X  }
  484. X  if (a->max < a->min) {
  485. X    tmp = a->max;  a->max = a->min;  a->min = tmp;
  486. X  } else if (a->max == a->min) {
  487. X    if (!a->is_lg) a->min -= 1;
  488. X    a->max += 1;
  489. X  }
  490. X  a->psize = intop(a->size);
  491. X  if (a->is_lg) {
  492. X    if (a->min <= 0.0) {
  493. X      error_header();
  494. X      fprintf(stderr, 
  495. X        "Graph %d, %c axis: Min value = %f.  This is -infinity with logrhythmic axes\n", 
  496. X        g->num, (a->is_x) ? 'x' : 'y', a->min);
  497. X      exit(1);
  498. X    }
  499. X    a->logfactor = log(a->log_base);
  500. X    a->logmin = log(a->min) / a->logfactor;
  501. X    a->factor = a->psize / (log(a->max) / a->logfactor - a->logmin);
  502. X  } else {
  503. X    a->factor = a->psize / (a->max - a->min);
  504. X  }
  505. X  if (a->gr_graytype == '0') {
  506. X    a->gr_graytype = a->graytype;
  507. X    for (i = 0; i < 3; i++) a->gr_gray[i] = a->gray[i];
  508. X  }
  509. X  if (a->mgr_graytype == '0') {
  510. X    a->mgr_graytype = a->gr_graytype;
  511. X    for (i = 0; i < 3; i++) a->mgr_gray[i] = a->gr_gray[i];
  512. X  }
  513. X}
  514. X
  515. Xprocess_axis2(a, g)
  516. XAxis a;
  517. XGraph g;
  518. X{
  519. X  float t1, t2, t3, minor_hashes, hloc, tmp;
  520. X  float ymin, ymax, xmin, xmax;
  521. X  int prec, i1;
  522. X  Hash h;
  523. X  String s;
  524. X  Axis other;
  525. X
  526. X  other = (a->is_x) ? g->y_axis : g->x_axis;
  527. X  if (a->draw_at == FSIG) 
  528. X    a->draw_at = (HASH_DIR(a) == -1) ? 0.0 : other->psize;
  529. X  else a->draw_at = ctop(a->draw_at, other);
  530. X
  531. X  if (a->hash_interval < 0.0) {
  532. X    a->hash_interval = find_reasonable_hash_interval(a);
  533. X    if (!a->start_given)
  534. X      a->hash_start = find_reasonable_hash_start(a);
  535. X  } else if (!a->start_given) a->hash_start = a->min;
  536. X  if (a->minor_hashes < 0) {
  537. X    a->minor_hashes = find_reasonable_minor_hashes(a);
  538. X  }
  539. X  if (a->precision < 0 && !a->is_lg)
  540. X    a->precision = find_reasonable_precision(a);
  541. X
  542. X  for (h = first(a->hash_lines) ; h != nil(a->hash_lines); h = next(h)) {
  543. X    h->loc = ctop(h->loc, a);
  544. X  }
  545. X  
  546. X  for (s = first(a->hash_labels); s != nil(a->hash_labels); s = next(s)) {
  547. X    s->s->x = ctop(s->s->x, a);
  548. X    s->s->y = ctop(s->s->y, a);
  549. X  }
  550. X
  551. X  if (((a->hash_interval != 0.0 && !a->is_lg) || a->is_lg) && a->auto_hash_marks) {
  552. X    if (a->is_lg) {
  553. X      for (t1 = 1.0; t1 > a->min; t1 /= a->log_base) ;
  554. X      t2 = t1 * a->log_base - t1;
  555. X    } else {
  556. X      for (t1 = a->hash_start; t1 > a->min; t1 -= a->hash_interval) ;
  557. X      t2 = a->hash_interval;
  558. X    }
  559. X    while (t1 <= a->max) {
  560. X      hloc = ctop(t1, a);
  561. X      if (hloc > -.05 && hloc < a->psize + .05) {
  562. X        h = (Hash) get_node(a->hash_lines);
  563. X        h->loc = hloc;
  564. X        h->size = HASH_SIZE;
  565. X        h->major = 1;
  566. X        insert(h, a->hash_lines);
  567. X        if (a->auto_hash_labels) {
  568. X          s = (String) get_node (a->hash_labels);
  569. X          s->s = new_label();
  570. X          s->s->x = hloc;
  571. X          s->s->y = hloc;
  572. X          s->s->label = (char *) malloc (80);
  573. X          if (a->precision >= 0) {
  574. X            prec = a->precision;
  575. X          } else {
  576. X            if (ABS(t1) >= 1.0 || t1 == 0.0) prec = 0;
  577. X            else {
  578. X              tmp = ABS(t1);
  579. X              prec = -1;
  580. X              while(tmp < 1.0) {tmp *= 10.0; prec++;}
  581. X            }
  582. X          }
  583. X          sprintf(s->s->label, "%.*f", prec, t1);
  584. X          insert(s, a->hash_labels);
  585. X        }
  586. X      }
  587. X      minor_hashes = t2 / ((float) (a->minor_hashes + 1));
  588. X      t3 = t1;
  589. X      for (i1 = 1; i1 <= a->minor_hashes; i1++) {
  590. X        t3 += minor_hashes;
  591. X        hloc = ctop(t3, a);
  592. X        if (hloc > -.05 && hloc < a->psize + .05) {
  593. X          h = (Hash) get_node(a->hash_lines);
  594. X          h->loc = hloc;
  595. X          h->size = MHASH_SIZE;
  596. X          h->major = 0;
  597. X          insert(h, a->hash_lines);
  598. X        }
  599. X      }
  600. X      if (a->is_lg) {
  601. X        t1 *= a->log_base;
  602. X        t2 = t1 * a->log_base - t1;
  603. X      } else t1 += t2;
  604. X    }
  605. X  }
  606. X
  607. X  if (a->draw_hash_marks_at == FSIG)
  608. X    a->draw_hash_marks_at = a->draw_at;
  609. X  else a->draw_hash_marks_at = ctop(a->draw_hash_marks_at, other);
  610. X  if (a->draw_hash_labels_at == FSIG)
  611. X    a->draw_hash_labels_at = a->draw_hash_marks_at +
  612. X      a->hash_scale * HASH_SIZE + HASH_DIR(a) * 3.0;
  613. X  else a->draw_hash_labels_at = ctop(a->draw_hash_labels_at, other);
  614. X
  615. X  if (a->is_x) {
  616. X    a->hl->y = a->draw_hash_labels_at; 
  617. X    if (a->hl->hj == '0')
  618. X      a->hl->hj = 'c';
  619. X    if (a->hl->vj == '0')
  620. X      a->hl->vj = (HASH_DIR(a) == -1) ? 't' : 'b';
  621. X  } else {
  622. X    a->hl->x = a->draw_hash_labels_at;
  623. X    if (a->hl->vj == '0') a->hl->vj = 'c';
  624. X    if (a->hl->hj == '0')
  625. X      a->hl->hj = (HASH_DIR(a) == -1) ? 'r' : 'l';
  626. X  }
  627. X
  628. X  ymin = (a->is_x) ? a->hl->y : 0;
  629. X  ymax = (a->is_x) ? a->hl->y : a->psize;
  630. X  xmin = (!a->is_x) ? a->hl->x : 0;
  631. X  xmax = (!a->is_x) ? a->hl->x : a->psize;
  632. X
  633. X  for (s = first(a->hash_labels); s != nil(a->hash_labels); s = next(s)) {
  634. X    if (a->is_x) a->hl->x = s->s->x; else a->hl->y = s->s->y;
  635. X    a->hl->label = s->s->label;
  636. X    process_label(a->hl, g, 0);
  637. X    xmin = MIN(a->hl->xmin, xmin);
  638. X    ymin = MIN(a->hl->ymin, ymin);
  639. X    xmax = MAX(a->hl->xmax, xmax);
  640. X    ymax = MAX(a->hl->ymax, ymax);
  641. X  }
  642. X  a->hl->xmin = xmin;
  643. X  a->hl->ymin = ymin;
  644. X  a->hl->xmax = xmax;
  645. X  a->hl->ymax = ymax;
  646. X
  647. X  /* HERE -- now either test or continue */
  648. X
  649. X  if (a->is_x) {
  650. X    if (a->label->x == FSIG) 
  651. X      a->label->x = a->psize / 2.0;
  652. X      else a->label->x = ctop(a->label->x, g->x_axis);
  653. X    if (a->label->y == FSIG) {
  654. X      ymin = 0.0;
  655. X      ymax = other->psize;
  656. X      if (a->draw_hash_labels) {
  657. X        ymin = MIN(ymin, a->hl->ymin); 
  658. X        ymax = MAX(ymax, a->hl->ymax); 
  659. X      } 
  660. X      if (a->draw_hash_marks) {
  661. X        ymin = MIN(ymin, a->draw_hash_marks_at);
  662. X        ymin = MIN(ymin, a->draw_hash_marks_at + a->hash_scale * HASH_SIZE);
  663. X        ymax = MAX(ymax, a->draw_hash_marks_at);
  664. X        ymax = MAX(ymax, a->draw_hash_marks_at + a->hash_scale * HASH_SIZE);
  665. X      } 
  666. X      a->label->y = (HASH_DIR(a) == -1) ? ymin - 8.0 : ymax + 8.0 ;
  667. X    } else a->label->y = ctop(a->label->y, g->y_axis);
  668. X    if (a->label->hj == '0') a->label->hj = 'c';
  669. X    if (a->label->vj == '0') a->label->vj = (HASH_DIR(a) == -1) ? 't' : 'b' ;
  670. X    if (a->label->rotate == FSIG) a->label->rotate = 0.0;
  671. X  } else {
  672. X    if (a->label->y == FSIG) 
  673. X      a->label->y = a->psize / 2.0;
  674. X      else a->label->y = ctop(a->label->y, g->y_axis);
  675. X    if (a->label->x == FSIG) {
  676. X      xmin = 0.0;
  677. X      xmax = other->psize;
  678. X      if (a->draw_hash_labels) {
  679. X        xmin = MIN(xmin, a->hl->xmin); 
  680. X        xmax = MAX(xmax, a->hl->xmax); 
  681. X      } 
  682. X      if (a->draw_hash_marks) {
  683. X        xmin = MIN(xmin, a->draw_hash_marks_at);
  684. X        xmin = MIN(xmin, a->draw_hash_marks_at + a->hash_scale * HASH_SIZE);
  685. X        xmax = MAX(xmax, a->draw_hash_marks_at);
  686. X        xmax = MAX(xmax, a->draw_hash_marks_at + a->hash_scale * HASH_SIZE);
  687. X      } 
  688. X      a->label->x = (HASH_DIR(a) == -1) ? xmin - 8.0 : xmax + 8.0 ;
  689. X    } else a->label->x = ctop(a->label->x, g->x_axis);
  690. X    if (a->label->hj == '0') a->label->hj = 'c';
  691. X    if (a->label->vj == '0') a->label->vj = 'b';
  692. X    if (a->label->rotate == FSIG) 
  693. X      a->label->rotate = (HASH_DIR(a) == -1) ? 90.0 : -90.0;
  694. X  }
  695. X  process_label (a->label, g, 0);
  696. X}
  697. X
  698. Xprocess_label(l, g, adjust)
  699. XLabel l;
  700. XGraph g;
  701. Xint adjust;
  702. X{
  703. X  float len, height;
  704. X  int f, i;
  705. X  float fnl, tmp;
  706. X  char *s;
  707. X
  708. X  if (l->label == CNULL) return;
  709. X
  710. X  if (adjust) {
  711. X    l->x = ctop(l->x, g->x_axis);
  712. X    l->y = ctop(l->y, g->y_axis);
  713. X  }
  714. X  if (l->linesep == FSIG) l->linesep = l->fontsize;
  715. X
  716. X  l->nlines = 0;
  717. X  for (i = 0; l->label[i] != '\0'; i++) {
  718. X    if (l->label[i] == '\n') {
  719. X      l->label[i] = '\0';
  720. X      l->nlines++;
  721. X    }
  722. X  }
  723. X  fnl = (float) l->nlines;
  724. X
  725. X  len = 0.0;
  726. X  s = l->label;
  727. X  for (i = 0; i <= l->nlines; i++) {
  728. X    tmp = l->fontsize * FCPI / FPPI * strlen(s) * 0.8;
  729. X    len = MAX(len, tmp);
  730. X    if (i != l->nlines) {
  731. X      f = strlen(s);
  732. X      s[f] = '\n';
  733. X      s = &(s[f+1]);
  734. X    }
  735. X  }
  736. X  height = (l->fontsize * (fnl+1) + l->linesep * fnl) * FCPI / FPPI;
  737. X  process_label_max_n_mins(l, len, height);
  738. X}
  739. X   
  740. Xprocess_label_max_n_mins(l, len, height)
  741. XLabel l;
  742. Xfloat len;
  743. Xfloat height;
  744. X{
  745. X  float xlen, ylen, xheight, yheight;
  746. X  float x, y;
  747. X
  748. X  xlen = len * cos(l->rotate * Pi / 180.00);
  749. X  ylen = height * cos((l->rotate + 90.0) * Pi / 180.00);
  750. X  xheight = len * sin(l->rotate * Pi / 180.00);
  751. X  yheight = height * sin((l->rotate + 90.0) * Pi / 180.00);
  752. X  
  753. X  x = l->x;
  754. X  y = l->y;
  755. X
  756. X  if (l->hj == 'c') {
  757. X    x -= xlen / 2.0;
  758. X    y -= xheight / 2.0;
  759. X  } else if (l->hj == 'r') {
  760. X    x -= xlen;
  761. X    y -= xheight;
  762. X  }
  763. X  if (l->vj == 'c') {
  764. X    x -= ylen / 2.0;
  765. X    y -= yheight / 2.0;
  766. X  } else if (l->vj == 't') {
  767. X    x -= ylen;
  768. X    y -= yheight;
  769. X  }
  770. X
  771. X  l->xmin = MIN(x, x + xlen);
  772. X  l->xmin = MIN(l->xmin, x + xlen + ylen);
  773. X  l->xmin = MIN(l->xmin, x + ylen);
  774. X
  775. X  l->ymin = MIN(y, y + xheight);
  776. X  l->ymin = MIN(l->ymin, y + yheight);
  777. X  l->ymin = MIN(l->ymin, y + xheight + yheight);
  778. X
  779. X  l->xmax = MAX(x, x + xlen);
  780. X  l->xmax = MAX(l->xmax, x + xlen + ylen);
  781. X  l->xmax = MAX(l->xmax, x + ylen);
  782. X
  783. X  l->ymax = MAX(y, y + xheight);
  784. X  l->ymax = MAX(l->ymax, y + yheight);
  785. X  l->ymax = MAX(l->ymax, y + xheight + yheight);
  786. X
  787. X}
  788. X
  789. Xprocess_strings(g)
  790. XGraph g;
  791. X{
  792. X  String s;
  793. X
  794. X  for(s = first(g->strings); s != nil(g->strings); s = next(s)) {
  795. X    process_label(s->s, g, 1);
  796. X  }
  797. X}
  798. X
  799. Xprocess_curve(c, g)
  800. XCurve c;
  801. XGraph g;
  802. X{
  803. X  if (c->bezier && (c->npts < 4 || (c->npts % 3 != 1))) {
  804. X    error_header();
  805. X    fprintf(stderr, "  Graph %d Curve %d:\n", g->num, c->num);
  806. X    fprintf(stderr, "  Curve has %d points\n", c->npts);
  807. X    fprintf(stderr, "  Bezier must have 3n + 1 points (n > 0)\n");
  808. X    exit(1);
  809. X  }
  810. X  c->marksize[0] = (c->marksize[0] == FSIG) ? 
  811. X                   4.0 : disttop(c->marksize[0], g->x_axis);
  812. X  c->marksize[1] = (c->marksize[1] == FSIG) ? 
  813. X                   4.0 : disttop(c->marksize[1], g->y_axis);
  814. X  if (c->marktype == 'o') c->marksize[1] = c->marksize[0];
  815. X  c->asize[0] = (c->asize[0] == FSIG) ? 
  816. X                   6.0 : disttop(c->asize[0], g->x_axis);
  817. X  c->asize[1] = (c->asize[1] == FSIG) ? 
  818. X                   2.0 : disttop(c->asize[1], g->y_axis) / 2.0;
  819. X  c->lmark->x = disttop(c->lmark->x, g->x_axis);
  820. X  c->lmark->y = disttop(c->lmark->y, g->y_axis);
  821. X  process_label(c->lmark, g, 0);
  822. X}
  823. X
  824. Xprocess_curves(g)
  825. XGraph g;
  826. X{
  827. X  Curve c;
  828. X  for(c = first(g->curves); c != nil(g->curves); c = next(c)) {
  829. X    process_curve(c, g);
  830. X  }
  831. X}
  832. Xprocess_extrema(g)  /* This finds all the minval/maxvals for bbox calc */
  833. XGraph g;
  834. X{
  835. X  Curve c;
  836. X  String s;
  837. X  Axis xa, ya;
  838. X
  839. X  xa = g->x_axis;
  840. X  ya = g->y_axis;
  841. X
  842. X  g->xminval = 0.0;
  843. X  g->yminval = 0.0;
  844. X  g->xmaxval = xa->psize;
  845. X  g->ymaxval = ya->psize;
  846. X  
  847. X  if (xa->draw_axis_label) process_label_extrema(xa->label, g);
  848. X  if (ya->draw_axis_label) process_label_extrema(ya->label, g);
  849. X  if (xa->draw_hash_labels) process_label_extrema(xa->hl, g);
  850. X  if (ya->draw_hash_labels) process_label_extrema(ya->hl, g);
  851. X
  852. X  if (xa->draw_hash_marks) {
  853. X      g->yminval = MIN(g->yminval, xa->draw_hash_marks_at);
  854. X      g->yminval = MIN(g->yminval, 
  855. X                       xa->draw_hash_marks_at + HASH_DIR(xa) * HASH_SIZE);
  856. X      g->ymaxval = MAX(g->ymaxval, xa->draw_hash_marks_at);
  857. X      g->ymaxval = MAX(g->ymaxval, 
  858. X                       xa->draw_hash_marks_at + HASH_DIR(xa) * HASH_SIZE);
  859. X  }
  860. X  if (ya->draw_hash_marks) {
  861. X      g->xminval = MIN(g->xminval, ya->draw_hash_marks_at);
  862. X      g->xminval = MIN(g->xminval, 
  863. X                       ya->draw_hash_marks_at + HASH_DIR(ya) * HASH_SIZE);
  864. X      g->xmaxval = MAX(g->xmaxval, ya->draw_hash_marks_at);
  865. X      g->xmaxval = MAX(g->xmaxval, 
  866. X                       ya->draw_hash_marks_at + HASH_DIR(ya) * HASH_SIZE);
  867. X  }
  868. X  process_label_extrema(g->title, g);  
  869. X
  870. X  if (g->legend->type == 'c') {
  871. X    for (c = first(g->curves); c != nil(g->curves); c = next(c)) {
  872. X      process_label_extrema(c->l, g);
  873. X    }
  874. X  } else if (g->legend->type == 'u' && g->legend->anylines >= 0) {
  875. X    process_label_extrema(g->legend->l, g);
  876. X  }
  877. X  for(s = first(g->strings); s != nil(g->strings); s = next(s)) {
  878. X    process_label_extrema(s->s, g);
  879. X  }
  880. X}
  881. X
  882. Xprocess_label_extrema(l, g)
  883. XLabel l;
  884. XGraph g;
  885. X{
  886. X  if (l->label == CNULL) return;
  887. X  g->yminval = MIN(g->yminval, l->ymin);
  888. X  g->ymaxval = MAX(g->ymaxval, l->ymax);
  889. X  g->xminval = MIN(g->xminval, l->xmin);
  890. X  g->xmaxval = MAX(g->xmaxval, l->xmax);
  891. X}
  892. X
  893. Xprocess_graph(g)
  894. XGraph g;
  895. X{
  896. X  g->x_translate = intop(g->x_translate);
  897. X  g->y_translate = intop(g->y_translate);
  898. X  process_axis1(g->x_axis, g);
  899. X  process_axis1(g->y_axis, g);
  900. X  process_axis2(g->x_axis, g);
  901. X  process_axis2(g->y_axis, g);
  902. X  process_curves(g);
  903. X  process_legend(g);
  904. X  process_strings(g);
  905. X  process_title(g);
  906. X  process_extrema(g);
  907. X}
  908. X
  909. Xprocess_graphs(gs)
  910. XGraphs gs;
  911. X{
  912. X  Graphs the_g;
  913. X  Graph g;
  914. X  float diff, max_y, min_y, max_x, min_x;
  915. X  int do_bb, i;
  916. X
  917. X  Pi = acos(-1.0);
  918. X  for (the_g = first(gs); the_g != nil(gs); the_g = next(the_g)) {
  919. X    for (g = first(the_g->g); g != nil(the_g->g); g = next(g)) process_graph(g);
  920. X    max_x = 0.0;
  921. X    min_x = 0.0;
  922. X    max_y = 0.0;
  923. X    min_y = 0.0;
  924. X    for (g = first(the_g->g); g != nil(the_g->g); g = next(g)) {
  925. X      max_y = MAX(max_y, g->y_translate + g->ymaxval);
  926. X      min_y = MIN(min_y, g->y_translate + g->yminval);
  927. X      max_x = MAX(max_x, g->x_translate + g->xmaxval);
  928. X      min_x = MIN(min_x, g->x_translate + g->xminval);
  929. X    }
  930. X    if (the_g->height >= 0.00) {
  931. X      the_g->height *= FCPI;
  932. X      if (the_g->height > max_y - min_y) {
  933. X        diff = (the_g->height - max_y + min_y) / 2.0;
  934. X        max_y += diff;
  935. X        min_y -= diff;
  936. X      } else {
  937. X        the_g->height = max_y - min_y;
  938. X      }
  939. X    } else {
  940. X      the_g->height = max_y - min_y;
  941. X    }
  942. X    if (the_g->width >= 0.00) {
  943. X      the_g->width *= FCPI;
  944. X      if (the_g->width > max_x - min_x) {
  945. X        diff = (the_g->width - max_x + min_x) / 2.0;
  946. X        max_x += diff;
  947. X        min_x -= diff;
  948. X      } else {
  949. X        the_g->width = max_x - min_x;
  950. X      }
  951. X    } else {
  952. X      the_g->width = max_x - min_x;
  953. X    }
  954. X
  955. X    do_bb = 1;
  956. X    for (i = 0; i < 4; i++) do_bb = (do_bb && the_g->bb[i] == FSIG);
  957. X    if (do_bb) {
  958. X      the_g->bb[0] = min_x;
  959. X      the_g->bb[1] = min_y;
  960. X      the_g->bb[2] = max_x;
  961. X      the_g->bb[3] = max_y;
  962. X    } 
  963. X  }
  964. X}
  965. END_OF_FILE
  966.   if test 23107 -ne `wc -c <'process.c'`; then
  967.     echo shar: \"'process.c'\" unpacked with wrong size!
  968.   fi
  969.   # end of 'process.c'
  970. fi
  971. if test -f 'sin.pts' -a "${1}" != "-c" ; then 
  972.   echo shar: Will not clobber existing file \"'sin.pts'\"
  973. else
  974.   echo shar: Extracting \"'sin.pts'\" \(12673 characters\)
  975.   sed "s/^X//" >'sin.pts' <<'END_OF_FILE'
  976. X-10.000000 0.544021
  977. X-9.970000 0.518608
  978. X-9.940000 0.492728
  979. X-9.910000 0.466405
  980. X-9.880000 0.439662
  981. X-9.850000 0.412523
  982. X-9.820000 0.385013
  983. X-9.790000 0.357157
  984. X-9.760000 0.328979
  985. X-9.730000 0.300505
  986. X-9.700000 0.271761
  987. X-9.670000 0.242772
  988. X-9.640000 0.213564
  989. X-9.610000 0.184165
  990. X-9.580000 0.154599
  991. X-9.550000 0.124895
  992. X-9.520000 0.095078
  993. X-9.490000 0.065176
  994. X-9.460000 0.035215
  995. X-9.430000 0.005222
  996. X-9.400000 -0.024775
  997. X-9.370000 -0.054751
  998. X-9.340000 -0.084676
  999. X-9.310000 -0.114526
  1000. X-9.280000 -0.144273
  1001. X-9.250000 -0.173889
  1002. X-9.220000 -0.203350
  1003. X-9.190000 -0.232627
  1004. X-9.160000 -0.261695
  1005. X-9.130000 -0.290527
  1006. X-9.100000 -0.319098
  1007. X-9.070000 -0.347382
  1008. X-9.040000 -0.375353
  1009. X-9.010000 -0.402987
  1010. X-8.980000 -0.430257
  1011. X-8.950000 -0.457141
  1012. X-8.920000 -0.483613
  1013. X-8.890000 -0.509650
  1014. X-8.860000 -0.535228
  1015. X-8.830000 -0.560325
  1016. X-8.800000 -0.584917
  1017. X-8.770000 -0.608983
  1018. X-8.740000 -0.632501
  1019. X-8.710000 -0.655450
  1020. X-8.680000 -0.677809
  1021. X-8.650000 -0.699557
  1022. X-8.620000 -0.720677
  1023. X-8.590000 -0.741147
  1024. X-8.560000 -0.760951
  1025. X-8.530000 -0.780070
  1026. X-8.500000 -0.798487
  1027. X-8.470000 -0.816185
  1028. X-8.440000 -0.833149
  1029. X-8.410000 -0.849363
  1030. X-8.380000 -0.864813
  1031. X-8.350000 -0.879484
  1032. X-8.320000 -0.893364
  1033. X-8.290000 -0.906440
  1034. X-8.260000 -0.918701
  1035. X-8.230000 -0.930134
  1036. X-8.200000 -0.940731
  1037. X-8.170000 -0.950480
  1038. X-8.140000 -0.959375
  1039. X-8.110000 -0.967406
  1040. X-8.080000 -0.974566
  1041. X-8.050000 -0.980850
  1042. X-8.020000 -0.986251
  1043. X-7.990000 -0.990764
  1044. X-7.960000 -0.994385
  1045. X-7.930000 -0.997112
  1046. X-7.900000 -0.998941
  1047. X-7.870000 -0.999872
  1048. X-7.840000 -0.999902
  1049. X-7.810000 -0.999033
  1050. X-7.780000 -0.997265
  1051. X-7.750000 -0.994599
  1052. X-7.720000 -0.991038
  1053. X-7.690000 -0.986585
  1054. X-7.660000 -0.981244
  1055. X-7.630000 -0.975021
  1056. X-7.600000 -0.967920
  1057. X-7.570000 -0.959947
  1058. X-7.540000 -0.951111
  1059. X-7.510000 -0.941419
  1060. X-7.480000 -0.930880
  1061. X-7.450000 -0.919503
  1062. X-7.420000 -0.907299
  1063. X-7.390000 -0.894278
  1064. X-7.360000 -0.880452
  1065. X-7.330000 -0.865834
  1066. X-7.300000 -0.850437
  1067. X-7.270000 -0.834274
  1068. X-7.240000 -0.817361
  1069. X-7.210000 -0.799712
  1070. X-7.180000 -0.781343
  1071. X-7.150000 -0.762271
  1072. X-7.120000 -0.742513
  1073. X-7.090000 -0.722087
  1074. X-7.060000 -0.701011
  1075. X-7.030000 -0.679305
  1076. X-7.000000 -0.656987
  1077. X-6.970000 -0.634077
  1078. X-6.940000 -0.610597
  1079. X-6.910000 -0.586568
  1080. X-6.880000 -0.562011
  1081. X-6.850000 -0.536948
  1082. X-6.820000 -0.511401
  1083. X-6.790000 -0.485395
  1084. X-6.760000 -0.458951
  1085. X-6.730000 -0.432095
  1086. X-6.700000 -0.404850
  1087. X-6.670000 -0.377240
  1088. X-6.640000 -0.349291
  1089. X-6.610000 -0.321028
  1090. X-6.580000 -0.292476
  1091. X-6.550000 -0.263660
  1092. X-6.520000 -0.234607
  1093. X-6.490000 -0.205344
  1094. X-6.460000 -0.175895
  1095. X-6.430000 -0.146288
  1096. X-6.400000 -0.116549
  1097. X-6.370000 -0.086706
  1098. X-6.340000 -0.056784
  1099. X-6.310000 -0.026811
  1100. X-6.280000 0.003185
  1101. X-6.250000 0.033179
  1102. X-6.220000 0.063143
  1103. X-6.190000 0.093051
  1104. X-6.160000 0.122874
  1105. X-6.130000 0.152587
  1106. X-6.100000 0.182163
  1107. X-6.070000 0.211574
  1108. X-6.040000 0.240795
  1109. X-6.010000 0.269800
  1110. X-5.980000 0.298562
  1111. X-5.950000 0.327055
  1112. X-5.920000 0.355254
  1113. X-5.890000 0.383133
  1114. X-5.860000 0.410667
  1115. X-5.830000 0.437832
  1116. X-5.800000 0.464602
  1117. X-5.770000 0.490955
  1118. X-5.740000 0.516865
  1119. X-5.710000 0.542311
  1120. X-5.680000 0.567269
  1121. X-5.650000 0.591716
  1122. X-5.620000 0.615630
  1123. X-5.590000 0.638991
  1124. X-5.560000 0.661776
  1125. X-5.530000 0.683966
  1126. X-5.500000 0.705540
  1127. X-5.470000 0.726480
  1128. X-5.440000 0.746765
  1129. X-5.410000 0.766379
  1130. X-5.380000 0.785303
  1131. X-5.350000 0.803520
  1132. X-5.320000 0.821014
  1133. X-5.290000 0.837769
  1134. X-5.260000 0.853771
  1135. X-5.230000 0.869004
  1136. X-5.200000 0.883455
  1137. X-5.170000 0.897111
  1138. X-5.140000 0.909959
  1139. X-5.110000 0.921989
  1140. X-5.080000 0.933189
  1141. X-5.050000 0.943549
  1142. X-5.020000 0.953060
  1143. X-4.990000 0.961713
  1144. X-4.960000 0.969501
  1145. X-4.930000 0.976416
  1146. X-4.900000 0.982453
  1147. X-4.870000 0.987605
  1148. X-4.840000 0.991869
  1149. X-4.810000 0.995240
  1150. X-4.780000 0.997715
  1151. X-4.750000 0.999293
  1152. X-4.720000 0.999971
  1153. X-4.690000 0.999749
  1154. X-4.660000 0.998628
  1155. X-4.630000 0.996608
  1156. X-4.600000 0.993691
  1157. X-4.570000 0.989880
  1158. X-4.540000 0.985178
  1159. X-4.510000 0.979589
  1160. X-4.480000 0.973119
  1161. X-4.450000 0.965773
  1162. X-4.420000 0.957558
  1163. X-4.390000 0.948481
  1164. X-4.360000 0.938551
  1165. X-4.330000 0.927776
  1166. X-4.300000 0.916166
  1167. X-4.270000 0.903732
  1168. X-4.240000 0.890484
  1169. X-4.210000 0.876435
  1170. X-4.180000 0.861597
  1171. X-4.150000 0.845984
  1172. X-4.120000 0.829609
  1173. X-4.090000 0.812488
  1174. X-4.060000 0.794636
  1175. X-4.030000 0.776068
  1176. X-4.000000 0.756802
  1177. X-3.970000 0.736856
  1178. X-3.940000 0.716246
  1179. X-3.910000 0.694991
  1180. X-3.880000 0.673111
  1181. X-3.850000 0.650625
  1182. X-3.820000 0.627554
  1183. X-3.790000 0.603918
  1184. X-3.760000 0.579738
  1185. X-3.730000 0.555037
  1186. X-3.700000 0.529836
  1187. X-3.670000 0.504159
  1188. X-3.640000 0.478027
  1189. X-3.610000 0.451466
  1190. X-3.580000 0.424498
  1191. X-3.550000 0.397148
  1192. X-3.520000 0.369441
  1193. X-3.490000 0.341401
  1194. X-3.460000 0.313054
  1195. X-3.430000 0.284426
  1196. X-3.400000 0.255541
  1197. X-3.370000 0.226427
  1198. X-3.340000 0.197108
  1199. X-3.310000 0.167612
  1200. X-3.280000 0.137966
  1201. X-3.250000 0.108195
  1202. X-3.220000 0.078327
  1203. X-3.190000 0.048388
  1204. X-3.160000 0.018406
  1205. X-3.130000 -0.011592
  1206. X-3.100000 -0.041581
  1207. X-3.070000 -0.071532
  1208. X-3.040000 -0.101418
  1209. X-3.010000 -0.131213
  1210. X-2.980000 -0.160890
  1211. X-2.950000 -0.190423
  1212. X-2.920000 -0.219784
  1213. X-2.890000 -0.248947
  1214. X-2.860000 -0.277886
  1215. X-2.830000 -0.306575
  1216. X-2.800000 -0.334988
  1217. X-2.770000 -0.363100
  1218. X-2.740000 -0.390885
  1219. X-2.710000 -0.418318
  1220. X-2.680000 -0.445375
  1221. X-2.650000 -0.472031
  1222. X-2.620000 -0.498262
  1223. X-2.590000 -0.524044
  1224. X-2.560000 -0.549355
  1225. X-2.530000 -0.574172
  1226. X-2.500000 -0.598472
  1227. X-2.470000 -0.622234
  1228. X-2.440000 -0.645435
  1229. X-2.410000 -0.668056
  1230. X-2.380000 -0.690075
  1231. X-2.350000 -0.711473
  1232. X-2.320000 -0.732231
  1233. X-2.290000 -0.752331
  1234. X-2.260000 -0.771753
  1235. X-2.230000 -0.790480
  1236. X-2.200000 -0.808496
  1237. X-2.170000 -0.825785
  1238. X-2.140000 -0.842330
  1239. X-2.110000 -0.858118
  1240. X-2.080000 -0.873133
  1241. X-2.050000 -0.887362
  1242. X-2.020000 -0.900793
  1243. X-1.990000 -0.913413
  1244. X-1.960000 -0.925212
  1245. X-1.930000 -0.936177
  1246. X-1.900000 -0.946300
  1247. X-1.870000 -0.955572
  1248. X-1.840000 -0.963983
  1249. X-1.810000 -0.971527
  1250. X-1.780000 -0.978197
  1251. X-1.750000 -0.983986
  1252. X-1.720000 -0.988890
  1253. X-1.690000 -0.992904
  1254. X-1.660000 -0.996024
  1255. X-1.630000 -0.998248
  1256. X-1.600000 -0.999574
  1257. X-1.570000 -1.000000
  1258. X-1.540000 -0.999526
  1259. X-1.510000 -0.998152
  1260. X-1.480000 -0.995881
  1261. X-1.450000 -0.992713
  1262. X-1.420000 -0.988652
  1263. X-1.390000 -0.983701
  1264. X-1.360000 -0.977865
  1265. X-1.330000 -0.971148
  1266. X-1.300000 -0.963558
  1267. X-1.270000 -0.955101
  1268. X-1.240000 -0.945784
  1269. X-1.210000 -0.935616
  1270. X-1.180000 -0.924606
  1271. X-1.150000 -0.912764
  1272. X-1.120000 -0.900100
  1273. X-1.090000 -0.886627
  1274. X-1.060000 -0.872355
  1275. X-1.030000 -0.857299
  1276. X-1.000000 -0.841471
  1277. X-0.970000 -0.824886
  1278. X-0.940000 -0.807558
  1279. X-0.910000 -0.789504
  1280. X-0.880000 -0.770739
  1281. X-0.850000 -0.751280
  1282. X-0.820000 -0.731146
  1283. X-0.790000 -0.710353
  1284. X-0.760000 -0.688921
  1285. X-0.730000 -0.666870
  1286. X-0.700000 -0.644218
  1287. X-0.670000 -0.620986
  1288. X-0.640000 -0.597195
  1289. X-0.610000 -0.572867
  1290. X-0.580000 -0.548024
  1291. X-0.550000 -0.522687
  1292. X-0.520000 -0.496880
  1293. X-0.490000 -0.470626
  1294. X-0.460000 -0.443948
  1295. X-0.430000 -0.416871
  1296. X-0.400000 -0.389418
  1297. X-0.370000 -0.361615
  1298. X-0.340000 -0.333487
  1299. X-0.310000 -0.305059
  1300. X-0.280000 -0.276356
  1301. X-0.250000 -0.247404
  1302. X-0.220000 -0.218230
  1303. X-0.190000 -0.188859
  1304. X-0.160000 -0.159318
  1305. X-0.130000 -0.129634
  1306. X-0.100000 -0.099833
  1307. X-0.070000 -0.069943
  1308. X-0.040000 -0.039989
  1309. X-0.010000 -0.010000
  1310. X0.020000 0.019999
  1311. X0.050000 0.049979
  1312. X0.080000 0.079915
  1313. X0.110000 0.109778
  1314. X0.140000 0.139543
  1315. X0.170000 0.169182
  1316. X0.200000 0.198669
  1317. X0.230000 0.227978
  1318. X0.260000 0.257081
  1319. X0.290000 0.285952
  1320. X0.320000 0.314567
  1321. X0.350000 0.342898
  1322. X0.380000 0.370920
  1323. X0.410000 0.398609
  1324. X0.440000 0.425939
  1325. X0.470000 0.452886
  1326. X0.500000 0.479426
  1327. X0.530000 0.505533
  1328. X0.560000 0.531186
  1329. X0.590000 0.556361
  1330. X0.620000 0.581035
  1331. X0.650000 0.605186
  1332. X0.680000 0.628793
  1333. X0.710000 0.651834
  1334. X0.740000 0.674288
  1335. X0.770000 0.696135
  1336. X0.800000 0.717356
  1337. X0.830000 0.737931
  1338. X0.860000 0.757843
  1339. X0.890000 0.777072
  1340. X0.920000 0.795602
  1341. X0.950000 0.813416
  1342. X0.980000 0.830497
  1343. X1.010000 0.846832
  1344. X1.040000 0.862404
  1345. X1.070000 0.877201
  1346. X1.100000 0.891207
  1347. X1.130000 0.904412
  1348. X1.160000 0.916803
  1349. X1.190000 0.928369
  1350. X1.220000 0.939099
  1351. X1.250000 0.948985
  1352. X1.280000 0.958016
  1353. X1.310000 0.966185
  1354. X1.340000 0.973485
  1355. X1.370000 0.979908
  1356. X1.400000 0.985450
  1357. X1.430000 0.990105
  1358. X1.460000 0.993868
  1359. X1.490000 0.996738
  1360. X1.520000 0.998710
  1361. X1.550000 0.999784
  1362. X1.580000 0.999958
  1363. X1.610000 0.999232
  1364. X1.640000 0.997606
  1365. X1.670000 0.995083
  1366. X1.700000 0.991665
  1367. X1.730000 0.987354
  1368. X1.760000 0.982154
  1369. X1.790000 0.976071
  1370. X1.820000 0.969109
  1371. X1.850000 0.961275
  1372. X1.880000 0.952576
  1373. X1.910000 0.943020
  1374. X1.940000 0.932615
  1375. X1.970000 0.921371
  1376. X2.000000 0.909297
  1377. X2.030000 0.896406
  1378. X2.060000 0.882707
  1379. X2.090000 0.868215
  1380. X2.120000 0.852940
  1381. X2.150000 0.836899
  1382. X2.180000 0.820104
  1383. X2.210000 0.802571
  1384. X2.240000 0.784316
  1385. X2.270000 0.765355
  1386. X2.300000 0.745705
  1387. X2.330000 0.725384
  1388. X2.360000 0.704411
  1389. X2.390000 0.682803
  1390. X2.420000 0.660581
  1391. X2.450000 0.637765
  1392. X2.480000 0.614374
  1393. X2.510000 0.590431
  1394. X2.540000 0.565956
  1395. X2.570000 0.540972
  1396. X2.600000 0.515501
  1397. X2.630000 0.489567
  1398. X2.660000 0.463191
  1399. X2.690000 0.436399
  1400. X2.720000 0.409214
  1401. X2.750000 0.381661
  1402. X2.780000 0.353764
  1403. X2.810000 0.325549
  1404. X2.840000 0.297041
  1405. X2.870000 0.268266
  1406. X2.900000 0.239249
  1407. X2.930000 0.210017
  1408. X2.960000 0.180596
  1409. X2.990000 0.151013
  1410. X3.020000 0.121293
  1411. X3.050000 0.091465
  1412. X3.080000 0.061554
  1413. X3.110000 0.031587
  1414. X3.140000 0.001593
  1415. X3.170000 -0.028404
  1416. X3.200000 -0.058374
  1417. X3.230000 -0.088292
  1418. X3.260000 -0.118131
  1419. X3.290000 -0.147863
  1420. X3.320000 -0.177462
  1421. X3.350000 -0.206902
  1422. X3.380000 -0.236155
  1423. X3.410000 -0.265196
  1424. X3.440000 -0.293998
  1425. X3.470000 -0.322536
  1426. X3.500000 -0.350783
  1427. X3.530000 -0.378715
  1428. X3.560000 -0.406306
  1429. X3.590000 -0.433531
  1430. X3.620000 -0.460366
  1431. X3.650000 -0.486787
  1432. X3.680000 -0.512769
  1433. X3.710000 -0.538291
  1434. X3.740000 -0.563327
  1435. X3.770000 -0.587857
  1436. X3.800000 -0.611858
  1437. X3.830000 -0.635308
  1438. X3.860000 -0.658186
  1439. X3.890000 -0.680473
  1440. X3.920000 -0.702146
  1441. X3.950000 -0.723188
  1442. X3.980000 -0.743579
  1443. X4.010000 -0.763301
  1444. X4.040000 -0.782336
  1445. X4.070000 -0.800667
  1446. X4.100000 -0.818277
  1447. X4.130000 -0.835151
  1448. X4.160000 -0.851273
  1449. X4.190000 -0.866630
  1450. X4.220000 -0.881206
  1451. X4.250000 -0.894989
  1452. X4.280000 -0.907967
  1453. X4.310000 -0.920128
  1454. X4.340000 -0.931461
  1455. X4.370000 -0.941955
  1456. X4.400000 -0.951602
  1457. X4.430000 -0.960392
  1458. X4.460000 -0.968319
  1459. X4.490000 -0.975373
  1460. X4.520000 -0.981550
  1461. X4.550000 -0.986844
  1462. X4.580000 -0.991249
  1463. X4.610000 -0.994763
  1464. X4.640000 -0.997381
  1465. X4.670000 -0.999102
  1466. X4.700000 -0.999923
  1467. X4.730000 -0.999845
  1468. X4.760000 -0.998867
  1469. X4.790000 -0.996990
  1470. X4.820000 -0.994216
  1471. X4.850000 -0.990547
  1472. X4.880000 -0.985986
  1473. X4.910000 -0.980538
  1474. X4.940000 -0.974208
  1475. X4.970000 -0.967001
  1476. X5.000000 -0.958924
  1477. X5.030000 -0.949984
  1478. X5.060000 -0.940189
  1479. X5.090000 -0.929548
  1480. X5.120000 -0.918070
  1481. X5.150000 -0.905767
  1482. X5.180000 -0.892648
  1483. X5.210000 -0.878725
  1484. X5.240000 -0.864012
  1485. X5.270000 -0.848522
  1486. X5.300000 -0.832267
  1487. X5.330000 -0.815264
  1488. X5.360000 -0.797527
  1489. X5.390000 -0.779073
  1490. X5.420000 -0.759917
  1491. X5.450000 -0.740077
  1492. X5.480000 -0.719572
  1493. X5.510000 -0.698418
  1494. X5.540000 -0.676637
  1495. X5.570000 -0.654246
  1496. X5.600000 -0.631267
  1497. X5.630000 -0.607719
  1498. X5.660000 -0.583625
  1499. X5.690000 -0.559005
  1500. X5.720000 -0.533882
  1501. X5.750000 -0.508279
  1502. X5.780000 -0.482218
  1503. X5.810000 -0.455724
  1504. X5.840000 -0.428819
  1505. X5.870000 -0.401529
  1506. X5.900000 -0.373877
  1507. X5.930000 -0.345888
  1508. X5.960000 -0.317589
  1509. X5.990000 -0.289003
  1510. X6.020000 -0.260157
  1511. X6.050000 -0.231078
  1512. X6.080000 -0.201790
  1513. X6.110000 -0.172321
  1514. X6.140000 -0.142697
  1515. X6.170000 -0.112944
  1516. X6.200000 -0.083089
  1517. X6.230000 -0.053160
  1518. X6.260000 -0.023183
  1519. X6.290000 0.006815
  1520. X6.320000 0.036806
  1521. X6.350000 0.066765
  1522. X6.380000 0.096664
  1523. X6.410000 0.126475
  1524. X6.440000 0.156173
  1525. X6.470000 0.185730
  1526. X6.500000 0.215120
  1527. X6.530000 0.244316
  1528. X6.560000 0.273293
  1529. X6.590000 0.302024
  1530. X6.620000 0.330482
  1531. X6.650000 0.358644
  1532. X6.680000 0.386483
  1533. X6.710000 0.413973
  1534. X6.740000 0.441092
  1535. X6.770000 0.467813
  1536. X6.800000 0.494113
  1537. X6.830000 0.519969
  1538. X6.860000 0.545357
  1539. X6.890000 0.570254
  1540. X6.920000 0.594637
  1541. X6.950000 0.618486
  1542. X6.980000 0.641778
  1543. X7.010000 0.664493
  1544. X7.040000 0.686609
  1545. X7.070000 0.708108
  1546. X7.100000 0.728969
  1547. X7.130000 0.749174
  1548. X7.160000 0.768705
  1549. X7.190000 0.787545
  1550. X7.220000 0.805675
  1551. X7.250000 0.823081
  1552. X7.280000 0.839746
  1553. X7.310000 0.855655
  1554. X7.340000 0.870794
  1555. X7.370000 0.885149
  1556. X7.400000 0.898708
  1557. X7.430000 0.911458
  1558. X7.460000 0.923388
  1559. X7.490000 0.934487
  1560. X7.520000 0.944745
  1561. X7.550000 0.954152
  1562. X7.580000 0.962701
  1563. X7.610000 0.970384
  1564. X7.640000 0.977193
  1565. X7.670000 0.983123
  1566. X7.700000 0.988168
  1567. X7.730000 0.992324
  1568. X7.760000 0.995587
  1569. X7.790000 0.997954
  1570. X7.820000 0.999423
  1571. X7.850000 0.999992
  1572. X7.880000 0.999662
  1573. X7.910000 0.998431
  1574. X7.940000 0.996303
  1575. X7.970000 0.993277
  1576. X8.000000 0.989358
  1577. X8.030000 0.984549
  1578. X8.060000 0.978853
  1579. X8.090000 0.972277
  1580. X8.120000 0.964825
  1581. X8.150000 0.956506
  1582. X8.180000 0.947325
  1583. X8.210000 0.937292
  1584. X8.240000 0.926415
  1585. X8.270000 0.914705
  1586. X8.300000 0.902172
  1587. X8.330000 0.888827
  1588. X8.360000 0.874681
  1589. X8.390000 0.859749
  1590. X8.420000 0.844043
  1591. X8.450000 0.827577
  1592. X8.480000 0.810367
  1593. X8.510000 0.792427
  1594. X8.540000 0.773774
  1595. X8.570000 0.754425
  1596. X8.600000 0.734397
  1597. X8.630000 0.713708
  1598. X8.660000 0.692377
  1599. X8.690000 0.670422
  1600. X8.720000 0.647865
  1601. X8.750000 0.624724
  1602. X8.780000 0.601021
  1603. X8.810000 0.576777
  1604. X8.840000 0.552014
  1605. X8.870000 0.526755
  1606. X8.900000 0.501021
  1607. X8.930000 0.474836
  1608. X8.960000 0.448224
  1609. X8.990000 0.421209
  1610. X9.020000 0.393815
  1611. X9.050000 0.366066
  1612. X9.080000 0.337988
  1613. X9.110000 0.309605
  1614. X9.140000 0.280944
  1615. X9.170000 0.252031
  1616. X9.200000 0.222890
  1617. X9.230000 0.193549
  1618. X9.260000 0.164033
  1619. X9.290000 0.134370
  1620. X9.320000 0.104586
  1621. X9.350000 0.074708
  1622. X9.380000 0.044763
  1623. X9.410000 0.014777
  1624. X9.440000 -0.015221
  1625. X9.470000 -0.045207
  1626. X9.500000 -0.075151
  1627. X9.530000 -0.105028
  1628. X9.560000 -0.134810
  1629. X9.590000 -0.164471
  1630. X9.620000 -0.193984
  1631. X9.650000 -0.223323
  1632. X9.680000 -0.252460
  1633. X9.710000 -0.281371
  1634. X9.740000 -0.310028
  1635. X9.770000 -0.338406
  1636. X9.800000 -0.366479
  1637. X9.830000 -0.394223
  1638. X9.860000 -0.421612
  1639. X9.890000 -0.448621
  1640. X9.920000 -0.475227
  1641. X9.950000 -0.501405
  1642. X9.980000 -0.527132
  1643. END_OF_FILE
  1644.   if test 12673 -ne `wc -c <'sin.pts'`; then
  1645.     echo shar: \"'sin.pts'\" unpacked with wrong size!
  1646.   fi
  1647.   # end of 'sin.pts'
  1648. fi
  1649. if test -f 'sin3.pts' -a "${1}" != "-c" ; then 
  1650.   echo shar: Will not clobber existing file \"'sin3.pts'\"
  1651. else
  1652.   echo shar: Extracting \"'sin3.pts'\" \(12673 characters\)
  1653.   sed "s/^X//" >'sin3.pts' <<'END_OF_FILE'
  1654. X-1.570000 -1.000000
  1655. X4.700000 -0.999923
  1656. X-7.840000 -0.999902
  1657. X-7.870000 -0.999872
  1658. X4.730000 -0.999845
  1659. X-1.600000 -0.999574
  1660. X-1.540000 -0.999526
  1661. X4.670000 -0.999102
  1662. X-7.810000 -0.999033
  1663. X-7.900000 -0.998941
  1664. X4.760000 -0.998867
  1665. X-1.630000 -0.998248
  1666. X-1.510000 -0.998152
  1667. X4.640000 -0.997381
  1668. X-7.780000 -0.997265
  1669. X-7.930000 -0.997112
  1670. X4.790000 -0.996990
  1671. X-1.660000 -0.996024
  1672. X-1.480000 -0.995881
  1673. X4.610000 -0.994763
  1674. X-7.750000 -0.994599
  1675. X-7.960000 -0.994385
  1676. X4.820000 -0.994216
  1677. X-1.690000 -0.992904
  1678. X-1.450000 -0.992713
  1679. X4.580000 -0.991249
  1680. X-7.720000 -0.991038
  1681. X-7.990000 -0.990764
  1682. X4.850000 -0.990547
  1683. X-1.720000 -0.988890
  1684. X-1.420000 -0.988652
  1685. X4.550000 -0.986844
  1686. X-7.690000 -0.986585
  1687. X-8.020000 -0.986251
  1688. X4.880000 -0.985986
  1689. X-1.750000 -0.983986
  1690. X-1.390000 -0.983701
  1691. X4.520000 -0.981550
  1692. X-7.660000 -0.981244
  1693. X-8.050000 -0.980850
  1694. X4.910000 -0.980538
  1695. X-1.780000 -0.978197
  1696. X-1.360000 -0.977865
  1697. X4.490000 -0.975373
  1698. X-7.630000 -0.975021
  1699. X-8.080000 -0.974566
  1700. X4.940000 -0.974208
  1701. X-1.810000 -0.971527
  1702. X-1.330000 -0.971148
  1703. X4.460000 -0.968319
  1704. X-7.600000 -0.967920
  1705. X-8.110000 -0.967406
  1706. X4.970000 -0.967001
  1707. X-1.840000 -0.963983
  1708. X-1.300000 -0.963558
  1709. X4.430000 -0.960392
  1710. X-7.570000 -0.959947
  1711. X-8.140000 -0.959375
  1712. X5.000000 -0.958924
  1713. X-1.870000 -0.955572
  1714. X-1.270000 -0.955101
  1715. X4.400000 -0.951602
  1716. X-7.540000 -0.951111
  1717. X-8.170000 -0.950480
  1718. X5.030000 -0.949984
  1719. X-1.900000 -0.946300
  1720. X-1.240000 -0.945784
  1721. X4.370000 -0.941955
  1722. X-7.510000 -0.941419
  1723. X-8.200000 -0.940731
  1724. X5.060000 -0.940189
  1725. X-1.930000 -0.936177
  1726. X-1.210000 -0.935616
  1727. X4.340000 -0.931461
  1728. X-7.480000 -0.930880
  1729. X-8.230000 -0.930134
  1730. X5.090000 -0.929548
  1731. X-1.960000 -0.925212
  1732. X-1.180000 -0.924606
  1733. X4.310000 -0.920128
  1734. X-7.450000 -0.919503
  1735. X-8.260000 -0.918701
  1736. X5.120000 -0.918070
  1737. X-1.990000 -0.913413
  1738. X-1.150000 -0.912764
  1739. X4.280000 -0.907967
  1740. X-7.420000 -0.907299
  1741. X-8.290000 -0.906440
  1742. X5.150000 -0.905767
  1743. X-2.020000 -0.900793
  1744. X-1.120000 -0.900100
  1745. X4.250000 -0.894989
  1746. X-7.390000 -0.894278
  1747. X-8.320000 -0.893364
  1748. X5.180000 -0.892648
  1749. X-2.050000 -0.887362
  1750. X-1.090000 -0.886627
  1751. X4.220000 -0.881206
  1752. X-7.360000 -0.880452
  1753. X-8.350000 -0.879484
  1754. X5.210000 -0.878725
  1755. X-2.080000 -0.873133
  1756. X-1.060000 -0.872355
  1757. X4.190000 -0.866630
  1758. X-7.330000 -0.865834
  1759. X-8.380000 -0.864813
  1760. X5.240000 -0.864012
  1761. X-2.110000 -0.858118
  1762. X-1.030000 -0.857299
  1763. X4.160000 -0.851273
  1764. X-7.300000 -0.850437
  1765. X-8.410000 -0.849363
  1766. X5.270000 -0.848522
  1767. X-2.140000 -0.842330
  1768. X-1.000000 -0.841471
  1769. X4.130000 -0.835151
  1770. X-7.270000 -0.834274
  1771. X-8.440000 -0.833149
  1772. X5.300000 -0.832267
  1773. X-2.170000 -0.825785
  1774. X-0.970000 -0.824886
  1775. X4.100000 -0.818277
  1776. X-7.240000 -0.817361
  1777. X-8.470000 -0.816185
  1778. X5.330000 -0.815264
  1779. X-2.200000 -0.808496
  1780. X-0.940000 -0.807558
  1781. X4.070000 -0.800667
  1782. X-7.210000 -0.799712
  1783. X-8.500000 -0.798487
  1784. X5.360000 -0.797527
  1785. X-2.230000 -0.790480
  1786. X-0.910000 -0.789504
  1787. X4.040000 -0.782336
  1788. X-7.180000 -0.781343
  1789. X-8.530000 -0.780070
  1790. X5.390000 -0.779073
  1791. X-2.260000 -0.771753
  1792. X-0.880000 -0.770739
  1793. X4.010000 -0.763301
  1794. X-7.150000 -0.762271
  1795. X-8.560000 -0.760951
  1796. X5.420000 -0.759917
  1797. X-2.290000 -0.752331
  1798. X-0.850000 -0.751280
  1799. X3.980000 -0.743579
  1800. X-7.120000 -0.742513
  1801. X-8.590000 -0.741147
  1802. X5.450000 -0.740077
  1803. X-2.320000 -0.732231
  1804. X-0.820000 -0.731146
  1805. X3.950000 -0.723188
  1806. X-7.090000 -0.722087
  1807. X-8.620000 -0.720677
  1808. X5.480000 -0.719572
  1809. X-2.350000 -0.711473
  1810. X-0.790000 -0.710353
  1811. X3.920000 -0.702146
  1812. X-7.060000 -0.701011
  1813. X-8.650000 -0.699557
  1814. X5.510000 -0.698418
  1815. X-2.380000 -0.690075
  1816. X-0.760000 -0.688921
  1817. X3.890000 -0.680473
  1818. X-7.030000 -0.679305
  1819. X-8.680000 -0.677809
  1820. X5.540000 -0.676637
  1821. X-2.410000 -0.668056
  1822. X-0.730000 -0.666870
  1823. X3.860000 -0.658186
  1824. X-7.000000 -0.656987
  1825. X-8.710000 -0.655450
  1826. X5.570000 -0.654246
  1827. X-2.440000 -0.645435
  1828. X-0.700000 -0.644218
  1829. X3.830000 -0.635308
  1830. X-6.970000 -0.634077
  1831. X-8.740000 -0.632501
  1832. X5.600000 -0.631267
  1833. X-2.470000 -0.622234
  1834. X-0.670000 -0.620986
  1835. X3.800000 -0.611858
  1836. X-6.940000 -0.610597
  1837. X-8.770000 -0.608983
  1838. X5.630000 -0.607719
  1839. X-2.500000 -0.598472
  1840. X-0.640000 -0.597195
  1841. X3.770000 -0.587857
  1842. X-6.910000 -0.586568
  1843. X-8.800000 -0.584917
  1844. X5.660000 -0.583625
  1845. X-2.530000 -0.574172
  1846. X-0.610000 -0.572867
  1847. X3.740000 -0.563327
  1848. X-6.880000 -0.562011
  1849. X-8.830000 -0.560325
  1850. X5.690000 -0.559005
  1851. X-2.560000 -0.549355
  1852. X-0.580000 -0.548024
  1853. X3.710000 -0.538291
  1854. X-6.850000 -0.536948
  1855. X-8.860000 -0.535228
  1856. X5.720000 -0.533882
  1857. X9.980000 -0.527132
  1858. X-2.590000 -0.524044
  1859. X-0.550000 -0.522687
  1860. X3.680000 -0.512769
  1861. X-6.820000 -0.511401
  1862. X-8.890000 -0.509650
  1863. X5.750000 -0.508279
  1864. X9.950000 -0.501405
  1865. X-2.620000 -0.498262
  1866. X-0.520000 -0.496880
  1867. X3.650000 -0.486787
  1868. X-6.790000 -0.485395
  1869. X-8.920000 -0.483613
  1870. X5.780000 -0.482218
  1871. X9.920000 -0.475227
  1872. X-2.650000 -0.472031
  1873. X-0.490000 -0.470626
  1874. X3.620000 -0.460366
  1875. X-6.760000 -0.458951
  1876. X-8.950000 -0.457141
  1877. X5.810000 -0.455724
  1878. X9.890000 -0.448621
  1879. X-2.680000 -0.445375
  1880. X-0.460000 -0.443948
  1881. X3.590000 -0.433531
  1882. X-6.730000 -0.432095
  1883. X-8.980000 -0.430257
  1884. X5.840000 -0.428819
  1885. X9.860000 -0.421612
  1886. X-2.710000 -0.418318
  1887. X-0.430000 -0.416871
  1888. X3.560000 -0.406306
  1889. X-6.700000 -0.404850
  1890. X-9.010000 -0.402987
  1891. X5.870000 -0.401529
  1892. X9.830000 -0.394223
  1893. X-2.740000 -0.390885
  1894. X-0.400000 -0.389418
  1895. X3.530000 -0.378715
  1896. X-6.670000 -0.377240
  1897. X-9.040000 -0.375353
  1898. X5.900000 -0.373877
  1899. X9.800000 -0.366479
  1900. X-2.770000 -0.363100
  1901. X-0.370000 -0.361615
  1902. X3.500000 -0.350783
  1903. X-6.640000 -0.349291
  1904. X-9.070000 -0.347382
  1905. X5.930000 -0.345888
  1906. X9.770000 -0.338406
  1907. X-2.800000 -0.334988
  1908. X-0.340000 -0.333487
  1909. X3.470000 -0.322536
  1910. X-6.610000 -0.321028
  1911. X-9.100000 -0.319098
  1912. X5.960000 -0.317589
  1913. X9.740000 -0.310028
  1914. X-2.830000 -0.306575
  1915. X-0.310000 -0.305059
  1916. X3.440000 -0.293998
  1917. X-6.580000 -0.292476
  1918. X-9.130000 -0.290527
  1919. X5.990000 -0.289003
  1920. X9.710000 -0.281371
  1921. X-2.860000 -0.277886
  1922. X-0.280000 -0.276356
  1923. X3.410000 -0.265196
  1924. X-6.550000 -0.263660
  1925. X-9.160000 -0.261695
  1926. X6.020000 -0.260157
  1927. X9.680000 -0.252460
  1928. X-2.890000 -0.248947
  1929. X-0.250000 -0.247404
  1930. X3.380000 -0.236155
  1931. X-6.520000 -0.234607
  1932. X-9.190000 -0.232627
  1933. X6.050000 -0.231078
  1934. X9.650000 -0.223323
  1935. X-2.920000 -0.219784
  1936. X-0.220000 -0.218230
  1937. X3.350000 -0.206902
  1938. X-6.490000 -0.205344
  1939. X-9.220000 -0.203350
  1940. X6.080000 -0.201790
  1941. X9.620000 -0.193984
  1942. X-2.950000 -0.190423
  1943. X-0.190000 -0.188859
  1944. X3.320000 -0.177462
  1945. X-6.460000 -0.175895
  1946. X-9.250000 -0.173889
  1947. X6.110000 -0.172321
  1948. X9.590000 -0.164471
  1949. X-2.980000 -0.160890
  1950. X-0.160000 -0.159318
  1951. X3.290000 -0.147863
  1952. X-6.430000 -0.146288
  1953. X-9.280000 -0.144273
  1954. X6.140000 -0.142697
  1955. X9.560000 -0.134810
  1956. X-3.010000 -0.131213
  1957. X-0.130000 -0.129634
  1958. X3.260000 -0.118131
  1959. X-6.400000 -0.116549
  1960. X-9.310000 -0.114526
  1961. X6.170000 -0.112944
  1962. X9.530000 -0.105028
  1963. X-3.040000 -0.101418
  1964. X-0.100000 -0.099833
  1965. X3.230000 -0.088292
  1966. X-6.370000 -0.086706
  1967. X-9.340000 -0.084676
  1968. X6.200000 -0.083089
  1969. X9.500000 -0.075151
  1970. X-3.070000 -0.071532
  1971. X-0.070000 -0.069943
  1972. X3.200000 -0.058374
  1973. X-6.340000 -0.056784
  1974. X-9.370000 -0.054751
  1975. X6.230000 -0.053160
  1976. X9.470000 -0.045207
  1977. X-3.100000 -0.041581
  1978. X-0.040000 -0.039989
  1979. X3.170000 -0.028404
  1980. X-6.310000 -0.026811
  1981. X-9.400000 -0.024775
  1982. X6.260000 -0.023183
  1983. X9.440000 -0.015221
  1984. X-3.130000 -0.011592
  1985. X-0.010000 -0.010000
  1986. X3.140000 0.001593
  1987. X-6.280000 0.003185
  1988. X-9.430000 0.005222
  1989. X6.290000 0.006815
  1990. X9.410000 0.014777
  1991. X-3.160000 0.018406
  1992. X0.020000 0.019999
  1993. X3.110000 0.031587
  1994. X-6.250000 0.033179
  1995. X-9.460000 0.035215
  1996. X6.320000 0.036806
  1997. X9.380000 0.044763
  1998. X-3.190000 0.048388
  1999. X0.050000 0.049979
  2000. X3.080000 0.061554
  2001. X-6.220000 0.063143
  2002. X-9.490000 0.065176
  2003. X6.350000 0.066765
  2004. X9.350000 0.074708
  2005. X-3.220000 0.078327
  2006. X0.080000 0.079915
  2007. X3.050000 0.091465
  2008. X-6.190000 0.093051
  2009. X-9.520000 0.095078
  2010. X6.380000 0.096664
  2011. X9.320000 0.104586
  2012. X-3.250000 0.108195
  2013. X0.110000 0.109778
  2014. X3.020000 0.121293
  2015. X-6.160000 0.122874
  2016. X-9.550000 0.124895
  2017. X6.410000 0.126475
  2018. X9.290000 0.134370
  2019. X-3.280000 0.137966
  2020. X0.140000 0.139543
  2021. X2.990000 0.151013
  2022. X-6.130000 0.152587
  2023. X-9.580000 0.154599
  2024. X6.440000 0.156173
  2025. X9.260000 0.164033
  2026. X-3.310000 0.167612
  2027. X0.170000 0.169182
  2028. X2.960000 0.180596
  2029. X-6.100000 0.182163
  2030. X-9.610000 0.184165
  2031. X6.470000 0.185730
  2032. X9.230000 0.193549
  2033. X-3.340000 0.197108
  2034. X0.200000 0.198669
  2035. X2.930000 0.210017
  2036. X-6.070000 0.211574
  2037. X-9.640000 0.213564
  2038. X6.500000 0.215120
  2039. X9.200000 0.222890
  2040. X-3.370000 0.226427
  2041. X0.230000 0.227978
  2042. X2.900000 0.239249
  2043. X-6.040000 0.240795
  2044. X-9.670000 0.242772
  2045. X6.530000 0.244316
  2046. X9.170000 0.252031
  2047. X-3.400000 0.255541
  2048. X0.260000 0.257081
  2049. X2.870000 0.268266
  2050. X-6.010000 0.269800
  2051. X-9.700000 0.271761
  2052. X6.560000 0.273293
  2053. X9.140000 0.280944
  2054. X-3.430000 0.284426
  2055. X0.290000 0.285952
  2056. X2.840000 0.297041
  2057. X-5.980000 0.298562
  2058. X-9.730000 0.300505
  2059. X6.590000 0.302024
  2060. X9.110000 0.309605
  2061. X-3.460000 0.313054
  2062. X0.320000 0.314567
  2063. X2.810000 0.325549
  2064. X-5.950000 0.327055
  2065. X-9.760000 0.328979
  2066. X6.620000 0.330482
  2067. X9.080000 0.337988
  2068. X-3.490000 0.341401
  2069. X0.350000 0.342898
  2070. X2.780000 0.353764
  2071. X-5.920000 0.355254
  2072. X-9.790000 0.357157
  2073. X6.650000 0.358644
  2074. X9.050000 0.366066
  2075. X-3.520000 0.369441
  2076. X0.380000 0.370920
  2077. X2.750000 0.381661
  2078. X-5.890000 0.383133
  2079. X-9.820000 0.385013
  2080. X6.680000 0.386483
  2081. X9.020000 0.393815
  2082. X-3.550000 0.397148
  2083. X0.410000 0.398609
  2084. X2.720000 0.409214
  2085. X-5.860000 0.410667
  2086. X-9.850000 0.412523
  2087. X6.710000 0.413973
  2088. X8.990000 0.421209
  2089. X-3.580000 0.424498
  2090. X0.440000 0.425939
  2091. X2.690000 0.436399
  2092. X-5.830000 0.437832
  2093. X-9.880000 0.439662
  2094. X6.740000 0.441092
  2095. X8.960000 0.448224
  2096. X-3.610000 0.451466
  2097. X0.470000 0.452886
  2098. X2.660000 0.463191
  2099. X-5.800000 0.464602
  2100. X-9.910000 0.466405
  2101. X6.770000 0.467813
  2102. X8.930000 0.474836
  2103. X-3.640000 0.478027
  2104. X0.500000 0.479426
  2105. X2.630000 0.489567
  2106. X-5.770000 0.490955
  2107. X-9.940000 0.492728
  2108. X6.800000 0.494113
  2109. X8.900000 0.501021
  2110. X-3.670000 0.504159
  2111. X0.530000 0.505533
  2112. X2.600000 0.515501
  2113. X-5.740000 0.516865
  2114. X-9.970000 0.518608
  2115. X6.830000 0.519969
  2116. X8.870000 0.526755
  2117. X-3.700000 0.529836
  2118. X0.560000 0.531186
  2119. X2.570000 0.540972
  2120. X-5.710000 0.542311
  2121. X-10.000000 0.544021
  2122. X6.860000 0.545357
  2123. X8.840000 0.552014
  2124. X-3.730000 0.555037
  2125. X0.590000 0.556361
  2126. X2.540000 0.565956
  2127. X-5.680000 0.567269
  2128. X6.890000 0.570254
  2129. X8.810000 0.576777
  2130. X-3.760000 0.579738
  2131. X0.620000 0.581035
  2132. X2.510000 0.590431
  2133. X-5.650000 0.591716
  2134. X6.920000 0.594637
  2135. X8.780000 0.601021
  2136. X-3.790000 0.603918
  2137. X0.650000 0.605186
  2138. X2.480000 0.614374
  2139. X-5.620000 0.615630
  2140. X6.950000 0.618486
  2141. X8.750000 0.624724
  2142. X-3.820000 0.627554
  2143. X0.680000 0.628793
  2144. X2.450000 0.637765
  2145. X-5.590000 0.638991
  2146. X6.980000 0.641778
  2147. X8.720000 0.647865
  2148. X-3.850000 0.650625
  2149. X0.710000 0.651834
  2150. X2.420000 0.660581
  2151. X-5.560000 0.661776
  2152. X7.010000 0.664493
  2153. X8.690000 0.670422
  2154. X-3.880000 0.673111
  2155. X0.740000 0.674288
  2156. X2.390000 0.682803
  2157. X-5.530000 0.683966
  2158. X7.040000 0.686609
  2159. X8.660000 0.692377
  2160. X-3.910000 0.694991
  2161. X0.770000 0.696135
  2162. X2.360000 0.704411
  2163. X-5.500000 0.705540
  2164. X7.070000 0.708108
  2165. X8.630000 0.713708
  2166. X-3.940000 0.716246
  2167. X0.800000 0.717356
  2168. X2.330000 0.725384
  2169. X-5.470000 0.726480
  2170. X7.100000 0.728969
  2171. X8.600000 0.734397
  2172. X-3.970000 0.736856
  2173. X0.830000 0.737931
  2174. X2.300000 0.745705
  2175. X-5.440000 0.746765
  2176. X7.130000 0.749174
  2177. X8.570000 0.754425
  2178. X-4.000000 0.756802
  2179. X0.860000 0.757843
  2180. X2.270000 0.765355
  2181. X-5.410000 0.766379
  2182. X7.160000 0.768705
  2183. X8.540000 0.773774
  2184. X-4.030000 0.776068
  2185. X0.890000 0.777072
  2186. X2.240000 0.784316
  2187. X-5.380000 0.785303
  2188. X7.190000 0.787545
  2189. X8.510000 0.792427
  2190. X-4.060000 0.794636
  2191. X0.920000 0.795602
  2192. X2.210000 0.802571
  2193. X-5.350000 0.803520
  2194. X7.220000 0.805675
  2195. X8.480000 0.810367
  2196. X-4.090000 0.812488
  2197. X0.950000 0.813416
  2198. X2.180000 0.820104
  2199. X-5.320000 0.821014
  2200. X7.250000 0.823081
  2201. X8.450000 0.827577
  2202. X-4.120000 0.829609
  2203. X0.980000 0.830497
  2204. X2.150000 0.836899
  2205. X-5.290000 0.837769
  2206. X7.280000 0.839746
  2207. X8.420000 0.844043
  2208. X-4.150000 0.845984
  2209. X1.010000 0.846832
  2210. X2.120000 0.852940
  2211. X-5.260000 0.853771
  2212. X7.310000 0.855655
  2213. X8.390000 0.859749
  2214. X-4.180000 0.861597
  2215. X1.040000 0.862404
  2216. X2.090000 0.868215
  2217. X-5.230000 0.869004
  2218. X7.340000 0.870794
  2219. X8.360000 0.874681
  2220. X-4.210000 0.876435
  2221. X1.070000 0.877201
  2222. X2.060000 0.882707
  2223. X-5.200000 0.883455
  2224. X7.370000 0.885149
  2225. X8.330000 0.888827
  2226. X-4.240000 0.890484
  2227. X1.100000 0.891207
  2228. X2.030000 0.896406
  2229. X-5.170000 0.897111
  2230. X7.400000 0.898708
  2231. X8.300000 0.902172
  2232. X-4.270000 0.903732
  2233. X1.130000 0.904412
  2234. X2.000000 0.909297
  2235. X-5.140000 0.909959
  2236. X7.430000 0.911458
  2237. X8.270000 0.914705
  2238. X-4.300000 0.916166
  2239. X1.160000 0.916803
  2240. X1.970000 0.921371
  2241. X-5.110000 0.921989
  2242. X7.460000 0.923388
  2243. X8.240000 0.926415
  2244. X-4.330000 0.927776
  2245. X1.190000 0.928369
  2246. X1.940000 0.932615
  2247. X-5.080000 0.933189
  2248. X7.490000 0.934487
  2249. X8.210000 0.937292
  2250. X-4.360000 0.938551
  2251. X1.220000 0.939099
  2252. X1.910000 0.943020
  2253. X-5.050000 0.943549
  2254. X7.520000 0.944745
  2255. X8.180000 0.947325
  2256. X-4.390000 0.948481
  2257. X1.250000 0.948985
  2258. X1.880000 0.952576
  2259. X-5.020000 0.953060
  2260. X7.550000 0.954152
  2261. X8.150000 0.956506
  2262. X-4.420000 0.957558
  2263. X1.280000 0.958016
  2264. X1.850000 0.961275
  2265. X-4.990000 0.961713
  2266. X7.580000 0.962701
  2267. X8.120000 0.964825
  2268. X-4.450000 0.965773
  2269. X1.310000 0.966185
  2270. X1.820000 0.969109
  2271. X-4.960000 0.969501
  2272. X7.610000 0.970384
  2273. X8.090000 0.972277
  2274. X-4.480000 0.973119
  2275. X1.340000 0.973485
  2276. X1.790000 0.976071
  2277. X-4.930000 0.976416
  2278. X7.640000 0.977193
  2279. X8.060000 0.978853
  2280. X-4.510000 0.979589
  2281. X1.370000 0.979908
  2282. X1.760000 0.982154
  2283. X-4.900000 0.982453
  2284. X7.670000 0.983123
  2285. X8.030000 0.984549
  2286. X-4.540000 0.985178
  2287. X1.400000 0.985450
  2288. X1.730000 0.987354
  2289. X-4.870000 0.987605
  2290. X7.700000 0.988168
  2291. X8.000000 0.989358
  2292. X-4.570000 0.989880
  2293. X1.430000 0.990105
  2294. X1.700000 0.991665
  2295. X-4.840000 0.991869
  2296. X7.730000 0.992324
  2297. X7.970000 0.993277
  2298. X-4.600000 0.993691
  2299. X1.460000 0.993868
  2300. X1.670000 0.995083
  2301. X-4.810000 0.995240
  2302. X7.760000 0.995587
  2303. X7.940000 0.996303
  2304. X-4.630000 0.996608
  2305. X1.490000 0.996738
  2306. X1.640000 0.997606
  2307. X-4.780000 0.997715
  2308. X7.790000 0.997954
  2309. X7.910000 0.998431
  2310. X-4.660000 0.998628
  2311. X1.520000 0.998710
  2312. X1.610000 0.999232
  2313. X-4.750000 0.999293
  2314. X7.820000 0.999423
  2315. X7.880000 0.999662
  2316. X-4.690000 0.999749
  2317. X1.550000 0.999784
  2318. X1.580000 0.999958
  2319. X-4.720000 0.999971
  2320. X7.850000 0.999992
  2321. END_OF_FILE
  2322.   if test 12673 -ne `wc -c <'sin3.pts'`; then
  2323.     echo shar: \"'sin3.pts'\" unpacked with wrong size!
  2324.   fi
  2325.   # end of 'sin3.pts'
  2326. fi
  2327. echo shar: End of archive 5 \(of 7\).
  2328. cp /dev/null ark5isdone
  2329. MISSING=""
  2330. for I in 1 2 3 4 5 6 7 ; do
  2331.     if test ! -f ark${I}isdone ; then
  2332.     MISSING="${MISSING} ${I}"
  2333.     fi
  2334. done
  2335. if test "${MISSING}" = "" ; then
  2336.     echo You have unpacked all 7 archives.
  2337.     rm -f ark[1-9]isdone
  2338. else
  2339.     echo You still must unpack the following archives:
  2340.     echo "        " ${MISSING}
  2341. fi
  2342. exit 0
  2343. exit 0 # Just in case...
  2344.