use_old.c 20 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490
  1. #include "globrig.h"
  2. #include "define.h"
  3. #include "defpage.h"
  4. #include "ley.h"
  5. #include "scan.h"
  6. #include "nef2.h"
  7. #include "usemod.h"
  8. /* us1 bodies of use-procedures for sun */
  9. mpd xx;
  10. Static boolean plstr(p0, strval, lenval, stringflag, stringval)
  11. long p0;
  12. Char *strval;
  13. long *lenval;
  14. boolean stringflag;
  15. Char *stringval;
  16. {
  17. /* input - s-address*/
  18. /* output: array */
  19. /* length of atom */
  20. /* need stringval ? */
  21. /* string */
  22. /* returns array of letters of atom if it is list parameter; */
  23. /* stringval with the same contest returned only
  24. if required by stringflag */
  25. aa atm;
  26. long i, FORLIM;
  27. *stringval = '\0';
  28. if (p0 == null_)
  29. return false;
  30. else {
  31. pointr(p0, &xx.sa); /* access to atom in memory */
  32. if (((1L << ((long)xx.sad->dtype)) & ((1L << ((long)fatom + 1)) -
  33. (1L << ((long)atom))) & (~(1L << ((long)number)))) == 0)
  34. return false;
  35. else {
  36. atm = xx.sad->name; /* access to a-address */
  37. pointa(atm, strval, lenval); /* reads value to str variable */
  38. if (stringflag) {
  39. FORLIM = *lenval;
  40. for (i = 0; i < FORLIM; i++)
  41. sprintf(stringval + strlen(stringval), "%c", strval[i]);
  42. /* and to stringval variable */
  43. }
  44. return true;
  45. }
  46. }
  47. } /* plstr */
  48. Static Char bc(a_)
  49. long a_;
  50. {
  51. if (a_ >= 10)
  52. return ((Char)(a_ + 55));
  53. else
  54. return ((Char)(a_ + 48));
  55. }
  56. Static Void dump(adr, sad)
  57. long adr, sad;
  58. {
  59. /* physical address */
  60. }
  61. a a2, atm;
  62. long j, l, i1;
  63. error_rec_type error_rec_use;
  64. char dty;
  65. FILE *workfile;
  66. Char c;
  67. boolean id;
  68. string80 sv1, sv2, svar;
  69. bl80 str_; /*for pointa & putatm*/
  70. longint im[5];
  71. Void use_42(p1, p2, p3, rez)
  72. long p1, p2, p3, *rez;
  73. {
  74. /* returns current page (very useful for big algorythms) */
  75. numberdescriptor *WITH;
  76. gets1(rez, &xx.sa);
  77. WITH = xx.snd;
  78. WITH->dtype = number;
  79. WITH->cord = 0;
  80. WITH->val = (*rez + 1) / 16777216;
  81. if (WITH->val < 0)
  82. WITH->val += 256;
  83. }
  84. Void use_43(p1, p2, p3, rez)
  85. long p1, p2, p3, *rez;
  86. {
  87. /* returns #call_pas(42) if current disk in use,
  88. 0 otherwise. */
  89. numberdescriptor *WITH;
  90. gets1(rez, &xx.sa);
  91. WITH = xx.snd;
  92. WITH->dtype = number;
  93. WITH->cord = 0;
  94. vols(im, &im[1], &WITH->val);
  95. }
  96. Void use_30(p1, p2, p3, rez)
  97. long p1, p2, p3, *rez;
  98. {
  99. *rez = null_;
  100. /*write atom or number*/
  101. if (plstr(p1, str_, &l, true, sv1))
  102. fputs(sv1, stdout);
  103. else {
  104. if (plnum(p1, im))
  105. printf("%12ld", im[0]);
  106. }
  107. }
  108. Void use_31(p1, p2, p3, rez)
  109. long p1, p2, p3, *rez;
  110. {
  111. long i, FORLIM;
  112. /*write atom or number with adding spaces after it or rupping the end*/
  113. *rez = 0;
  114. if (!plstr(p1, str_, &l, true, sv1)) {
  115. if (!plnum(p1, &im[1]))
  116. goto _L1;
  117. long_to_str(sv1, im[1]);
  118. }
  119. if (plnum(p2, im)) {
  120. if (im[0] > strlen(sv1)) {
  121. FORLIM = im[0];
  122. for (i = strlen(sv1); i < FORLIM; i++)
  123. sv1[i] = ' ';
  124. }
  125. printf("%*s", (int)im[0], sv1);
  126. } else
  127. fputs(sv1, stdout);
  128. _L1: ;
  129. }
  130. Void use_1(p1, p2, p3, rez)
  131. long p1, p2, p3, *rez;
  132. {
  133. char *TEMP;
  134. *rez = 0;
  135. /* puts an atom (or null) to screen.
  136. user's answer (atom, identifier or number ) is returned */
  137. if (plstr(p1, str_, &l, true, sv1))
  138. fputs(sv1, stdout);
  139. fgets(svar, 81, stdin);
  140. TEMP = strchr(svar, '\n');
  141. if (TEMP != NULL) /* enters from screen */
  142. *TEMP = 0;
  143. *rez = str_to_atom(svar);
  144. }
  145. /*rigal lexical analyser */
  146. Void use_14(p1, p2, p3, rez)
  147. long p1, p2, p3, *rez;
  148. {
  149. *rez = 0;
  150. *error_rec_use.message = '\0';
  151. if (plstr(p1, str_, &l, true, sv1))
  152. ley(sv1, rez, false, &error_rec_use);
  153. }
  154. Void use_15(p1, p2, p3, rez)
  155. long p1, p2, p3, *rez;
  156. {
  157. *rez = 0;
  158. *error_rec_use.message = '\0';
  159. if (plstr(p1, str_, &l, true, sv1))
  160. ley(sv1, rez, true, &error_rec_use);
  161. }
  162. Void use_16(p1, p2, p3, rez)
  163. long p1, p2, p3, *rez;
  164. {
  165. FILE *inpfile;
  166. string80 s;
  167. Char c;
  168. long rline;
  169. int fff;
  170. inpfile = NULL;
  171. *rez = 0;
  172. if (plstr(p1, str_, &l, true, sv1)) {
  173. if (existfile(sv1)) {
  174. inpfile = fopen(sv1, "r");
  175. if (inpfile == NULL) _EscIO(FileNotFound);
  176. *rez = null_;
  177. while (!feof(inpfile)) {
  178. fgets(s,145,inpfile);
  179. if (s[strlen(s)-1]=='\n')
  180. { s[strlen(s)-1]=0;
  181. fff=fgetc(inpfile);
  182. if (fff!=10)
  183. { ungetc(fff,inpfile);}
  184. }
  185. a2 = str_to_atom(s);
  186. lconc(rez, a2);
  187. } /*while eof*/
  188. /* readln(inftext,svar); */
  189. if (inpfile != NULL)
  190. fclose(inpfile);
  191. inpfile = NULL;
  192. }
  193. }
  194. if (inpfile != NULL)
  195. fclose(inpfile);
  196. }
  197. Void use_4(p1, p2, p3, rez)
  198. long p1, p2, p3, *rez;
  199. {
  200. numberdescriptor *WITH;
  201. *rez = 0;
  202. /* finds coordinate of atom */
  203. if (p1 == 0)
  204. return;
  205. pointr(p1, &xx.sa);
  206. if (((1L << ((long)xx.sad->dtype)) & ((1L << ((long)fatom + 1)) -
  207. (1L << ((long)atom))) & (~(1L << ((long)number)))) != 0)
  208. a2 = xx.sad->cord;
  209. else if (xx.snd->dtype == number)
  210. a2 = xx.snd->cord;
  211. else
  212. a2 = 0;
  213. /* make numerical atom */
  214. gets1(rez, &xx.sa); /* fill descriptor */
  215. WITH = xx.snd;
  216. WITH->dtype = number;
  217. WITH->cord = 0;
  218. WITH->val = a2;
  219. }
  220. Void use_10(p1, p2, p3, rez)
  221. long p1, p2, p3, *rez;
  222. {
  223. /* dump */
  224. *rez = 0;
  225. if (p1 == 0)
  226. return;
  227. a2 = p1;
  228. do {
  229. pointr(a2, &xx.sa);
  230. dump(xx.sa, a2);
  231. printf(" Another address=");
  232. scanf("%ld%*[^\n]", &a2);
  233. getchar();
  234. } while (a2 != 0);
  235. }
  236. Void use_13(p1, p2, p3, rez)
  237. long p1, p2, p3, *rez;
  238. {
  239. /* nice print */
  240. *rez = 0;
  241. if (p1 != 0)
  242. putchar('\n'); /* dout(p1);*/
  243. }
  244. Void use_12(p1, p2, p3, rez)
  245. long p1, p2, p3, *rez;
  246. {
  247. *rez = 0;
  248. /* nice print */
  249. if (p1 != 0)
  250. fprintf(out, "\n\n"); /*dout2(p1);*/
  251. }
  252. Void use_19(p1, p2, p3, rez)
  253. long p1, p2, p3, *rez;
  254. {
  255. *rez = 0;
  256. }
  257. Void use_20(p1, p2, p3, rez)
  258. long p1, p2, p3, *rez;
  259. {
  260. /*random*/
  261. *rez = 0;
  262. }
  263. Void use_21(p1, p2, p3, rez)
  264. long p1, p2, p3, *rez;
  265. {
  266. /* atom->number, others->null */
  267. *rez = 0;
  268. if (!plstr(p1, str_, &l, true, sv1))
  269. return;
  270. /* if (sv1[l]='l') or (sv1[l]='L')
  271. then sv1:=substr(sv1,1,l-1);*/
  272. /*substr*/
  273. val(sv1, im, &l);
  274. if (l == 0)
  275. *rez = long_to_atom(im[0]);
  276. }
  277. a erlist;
  278. /* used to leave error message list in usepas after scaner
  279. return it to another usepas call later - when it will
  280. be retrieved */
  281. Void use_35(p1, p2, p3, rez)
  282. long p1, p2, p3, *rez;
  283. {
  284. /* scaner receives data from file */
  285. /* format #call_pas(35 $dos_filename [ $options ]) */
  286. /* returns null if file does not exist */
  287. erlist = 0;
  288. *rez = 0;
  289. if (!plstr(p1, str_, &l, true, sv1)) /* file name */
  290. return;
  291. if (!plstr(p2, str_, &l, true, sv2)) /* options */
  292. *sv2 = '\0';
  293. initialize_scan_variables();
  294. scaner(1L, sv1, sv2, rez, &erlist, (long)null_, 0L, 0L);
  295. }
  296. Void use_36(p1, p2, p3, rez)
  297. long p1, p2, p3, *rez;
  298. {
  299. /* scaner receives data from list of strings,
  300. numbers and complex structures in the input list are ignored */
  301. /* format #call_pas(36 $list [$options] ) */
  302. *rez = 0;
  303. erlist = 0;
  304. if (!plstr(p2, str_, &l, true, sv2)) /* options */
  305. *sv2 = '\0';
  306. initialize_scan_variables();
  307. scaner(2L, "", sv2, rez, &erlist, p1, 0L, 0L);
  308. }
  309. Void use_38(p1, p2, p3, rez)
  310. long p1, p2, p3, *rez;
  311. {
  312. /* returns error message list,
  313. produced after last call of "scaner" */
  314. *rez = erlist;
  315. }
  316. Void use_40(p1, p2, p3, rez)
  317. long p1, p2, p3, *rez;
  318. {
  319. /* any -> s-address */
  320. numberdescriptor *WITH;
  321. gets1(rez, &xx.sa);
  322. WITH = xx.snd;
  323. WITH->dtype = number;
  324. WITH->cord = 0;
  325. WITH->val = p1;
  326. }
  327. Void use_41(p1, p2, p3, rez)
  328. long p1, p2, p3, *rez;
  329. {
  330. /* returns current s-address */
  331. numberdescriptor *WITH;
  332. gets1(rez, &xx.sa);
  333. WITH = xx.snd;
  334. WITH->dtype = number;
  335. WITH->cord = 0;
  336. WITH->val = *rez;
  337. }
  338. Void use_44(p1, p2, p3, rez)
  339. long p1, p2, p3, *rez;
  340. {
  341. /* sets coordinate to atom */
  342. *rez = 0;
  343. if (!plnum(p2, im))
  344. goto _L1;
  345. if (p1 != 0) {
  346. *rez = p1;
  347. a2 = p1;
  348. points(a2, &xx.sa);
  349. if (((1L << ((long)xx.sad->dtype)) & ((1L << ((long)fatom + 1)) -
  350. (1L << ((long)atom))) & (~(1L << ((long)number)))) != 0)
  351. xx.sad->cord = im[0];
  352. else if (xx.snd->dtype == number)
  353. xx.snd->cord = im[0];
  354. }
  355. _L1: ;
  356. }
  357. Void use_45(p1, p2, p3, rez)
  358. long p1, p2, p3, *rez;
  359. {
  360. reopen(rez, &p1);
  361. /* removes all s-space saving only this p1 value in result;
  362. all variables after that moment will have wrong values */
  363. /* this not allowed in interpreter ! */
  364. }
  365. Void use_46(p1, p2, p3, rez)
  366. long p1, p2, p3, *rez;
  367. {
  368. *rez = null_;
  369. } /* returns null if we are in compiler */
  370. Void use_9(p1, p2, p3, rez)
  371. long p1, p2, p3, *rez;
  372. {
  373. *rez = 0;
  374. }
  375. Void use_85(p1, p2, p3, rez)
  376. long p1, p2, p3, *rez;
  377. {
  378. /* upcase */
  379. long FORLIM;
  380. *rez = 0;
  381. if (!plstr(p1, str_, &l, true, sv1))
  382. return;
  383. FORLIM = strlen(sv1);
  384. for (j = 1; j <= FORLIM; j++) {
  385. if (islower(sv1[j - 1]))
  386. sv1[j - 1] -= 32;
  387. }
  388. *rez = str_to_atom(sv1);
  389. }
  390. Void use_86(p1, p2, p3, rez)
  391. long p1, p2, p3, *rez;
  392. {
  393. /* locase */
  394. long FORLIM;
  395. *rez = 0;
  396. if (!plstr(p1, str_, &l, true, sv1))
  397. return;
  398. FORLIM = strlen(sv1);
  399. for (j = 1; j <= FORLIM; j++) {
  400. if (isupper(sv1[j - 1]))
  401. sv1[j - 1] += 32;
  402. }
  403. *rez = str_to_atom(sv1);
  404. }
  405. Void use_87(p1, p2, p3, rez)
  406. long p1, p2, p3, *rez;
  407. {
  408. /* substr */
  409. Char STR1[256];
  410. *rez = 0;
  411. if (!plstr(p1, str_, &l, true, sv1))
  412. return;
  413. if (plnum(p2, im)) {
  414. if (!plnum(p3, &im[1]))
  415. im[1] = l;
  416. }
  417. sprintf(STR1, "%.*s", (int)im[1], sv1 + im[0] - 1);
  418. *rez = str_to_atom(STR1);
  419. }
  420. Void use_88(p1, p2, p3, rez)
  421. long p1, p2, p3, *rez;
  422. { char * tmp;
  423. /* position */
  424. *rez = 0;
  425. if (plstr(p1, str_, &l, true, sv1)) {
  426. if (plstr(p2, str_, &l, true, sv2))
  427. { tmp=strstr(sv2,sv1);
  428. *rez = long_to_atom((long) (tmp?((long)tmp-(long)sv1):0) );}
  429. }
  430. }
  431. Void use_89(p1, p2, p3, rez)
  432. long p1, p2, p3, *rez;
  433. {
  434. /* get date and time */
  435. *rez = 0;
  436. }
  437. Void use_79(p1, p2, p3, rez)
  438. long p1, p2, p3, *rez;
  439. {
  440. boolean is_tree;
  441. ptr_ AP;
  442. longint elnum;
  443. *rez=0;
  444. first(p1,&AP);
  445. is_tree=(AP.ptrtype==ptrtree);
  446. elnum=0;
  447. while (AP.nel!=0) {
  448. elnum++;
  449. if (eqatoms(AP.cel,p2)) goto l22;
  450. next(&AP);
  451. }
  452. return;
  453. l22:
  454. if (is_tree){
  455. gets1(rez,&xx.sa); /* makes S-Address */
  456. xx.sad->dtype=idatom;
  457. xx.sad->name=AP.UU.U1.arc;
  458. }
  459. else *rez=long_to_atom(elnum);
  460. }
  461. Void use_90(p1, p2, p3, rez)
  462. long p1, p2, p3, *rez;
  463. {
  464. long iii;
  465. /* if plnum(p2,im[1]) then hlt:=im[1] else hlt:=0; */
  466. for (iii = 0; iii < filenum; iii++) {
  467. if (filetab[iii].isopen) {
  468. putc('\n', files[iii]);
  469. if (files[iii] != NULL)
  470. fclose(files[iii]);
  471. files[iii] = NULL;
  472. }
  473. }
  474. if (out_open) {
  475. if (out != NULL)
  476. fclose(out);
  477. out = NULL;
  478. }
  479. closea();
  480. closes();
  481. exit(0);
  482. }
  483. Void use_78(p1, p2, p3, rez)
  484. long p1, p2, p3, *rez;
  485. {
  486. if (plnum(p1, im))
  487. max_printlevel = im[0];
  488. }
  489. /* floating point processor */
  490. Void use_80(p1, p2, p3, rez)
  491. long p1, p2, p3, *rez;
  492. {
  493. long real_size;
  494. long i;
  495. double re1, re2, re3;
  496. Char c1, c2_;
  497. mpd x;
  498. double *refr2, *refr3;
  499. numberdescriptor *WITH;
  500. atomdescriptor *WITH1;
  501. real_size = sizeof(double);
  502. *rez = 0; /* in case of unsuccessful data returns null */
  503. if (!plstr(p1, str_, &l, false, sv1))
  504. goto _L1;
  505. c1 = str_[0];
  506. if (l == 2)
  507. c2_ = str_[1];
  508. else
  509. c2_ = ' ';
  510. switch (c1) { /*1*/
  511. case 'S': /* string -> real */
  512. if (!plstr(p2, str_, &l, true, sv1))
  513. goto _L1;
  514. val2(sv1, &re1, &i);
  515. if (i != 0)
  516. goto _L1;
  517. break;
  518. case 'I': /*2*/
  519. /* integer -> real */
  520. if (!plnum(p2, &im[1]))
  521. goto _L1;
  522. re1 = im[1]; /* *1.0 */
  523. break;
  524. /* real -> ... */
  525. default:
  526. if (!plstr(p2, str_, &l, false, sv1))
  527. goto _L1;
  528. if (l != real_size)
  529. goto _L1;
  530. refr2 = (double *)str_;
  531. re2 = *refr2;
  532. switch (c1) { /*3*/
  533. case 'T':
  534. im[2] = (long)re2;
  535. gets1(rez, &x.sa);
  536. WITH = x.snd;
  537. WITH->dtype = number;
  538. WITH->val = im[2];
  539. goto _L1;
  540. break;
  541. case 'Z': /*4*/
  542. if (!plnum(p3, &im[1]))
  543. goto _L1;
  544. real_to_string_f(svar, re2, im[1] / 100, im[1] % 100);
  545. /* p2c: usemod.z, line 1073:
  546. * Note: Using % for possibly-negative arguments [317] */
  547. i = strlen(svar);
  548. putatm(svar, i, &atm);
  549. gets1(rez, &x.sa);
  550. WITH1 = x.sad;
  551. WITH1->dtype = atom;
  552. WITH1->name = atm;
  553. goto _L1;
  554. break;
  555. default:
  556. if (!plstr(p3, str_, &l, false, sv1))
  557. goto _L1;
  558. if (l != real_size)
  559. goto _L1;
  560. refr3 = (double *)str_;
  561. re3 = *refr3;
  562. switch (c1) { /*5*/
  563. case '+':
  564. re1 = re2 + re3;
  565. break;
  566. case '-':
  567. re1 = re2 - re3;
  568. break;
  569. case '*':
  570. re1 = re2 * re3;
  571. break;
  572. case '/':
  573. if (re3 == 0)
  574. goto _L1;
  575. re1 = re2 / re3;
  576. break;
  577. case '=':
  578. if (re2 == re3)
  579. *rez = p2;
  580. goto _L1;
  581. break;
  582. case '>':
  583. if (c2_ == '=') {
  584. if (re2 >= re3)
  585. *rez = p2;
  586. } else {
  587. if (re2 > re3)
  588. *rez = p2;
  589. }
  590. goto _L1;
  591. break;
  592. case '<':
  593. if (c2_ == '=') {
  594. if (re2 <= re3)
  595. *rez = p2;
  596. } else if (c2_ == '>') {
  597. if (re2 != re3)
  598. *rez = p2;
  599. } else if (re2 < re3)
  600. *rez = p2;
  601. goto _L1;
  602. break;
  603. default: /* wrong real operation */
  604. goto _L1;
  605. break;
  606. }/*5*/
  607. /*4*/
  608. break;
  609. }/*3*/
  610. /*2*/
  611. break;
  612. }/*1*/
  613. /* this part processes only + - * / s(str->real) i(int->real) */
  614. refr2 = (double *)svar;
  615. *refr2 = re1;
  616. putatm(svar, real_size, &atm);
  617. gets1(rez, &x.sa);
  618. WITH1 = x.sad;
  619. WITH1->dtype = fatom;
  620. WITH1->name = atm;
  621. _L1: ;
  622. }
  623. /* these procedures currently are used in ibm/pc version
  624. of rigal. don't use them for future compatibility */
  625. Void use_2(p1, p2, p3, rez)
  626. long p1, p2, p3, *rez;
  627. {
  628. }
  629. Void use_3(p1, p2, p3, rez)
  630. long p1, p2, p3, *rez;
  631. {
  632. }
  633. Void use_5(p1, p2, p3, rez)
  634. long p1, p2, p3, *rez;
  635. {
  636. }
  637. Void use_6(p1, p2, p3, rez)
  638. long p1, p2, p3, *rez;
  639. {
  640. }
  641. Void use_7(p1, p2, p3, rez)
  642. long p1, p2, p3, *rez;
  643. {
  644. }
  645. Void use_8(p1, p2, p3, rez)
  646. long p1, p2, p3, *rez;
  647. {
  648. }
  649. Void use_11(p1, p2, p3, rez)
  650. long p1, p2, p3, *rez;
  651. {
  652. }
  653. Void use_17(p1, p2, p3, rez)
  654. long p1, p2, p3, *rez;
  655. {
  656. }
  657. Void use_18(p1, p2, p3, rez)
  658. long p1, p2, p3, *rez;
  659. {
  660. }
  661. Void use_22(p1, p2, p3, rez)
  662. long p1, p2, p3, *rez;
  663. {
  664. }
  665. Void use_23(p1, p2, p3, rez)
  666. long p1, p2, p3, *rez;
  667. {
  668. }
  669. Void use_24(p1, p2, p3, rez)
  670. long p1, p2, p3, *rez;
  671. {
  672. }
  673. Void use_25(p1, p2, p3, rez)
  674. long p1, p2, p3, *rez;
  675. {
  676. }
  677. Void use_26(p1, p2, p3, rez)
  678. long p1, p2, p3, *rez;
  679. {
  680. }
  681. Void use_27(p1, p2, p3, rez)
  682. long p1, p2, p3, *rez;
  683. {
  684. }
  685. Void use_28(p1, p2, p3, rez)
  686. long p1, p2, p3, *rez;
  687. {
  688. }
  689. Void use_29(p1, p2, p3, rez)
  690. long p1, p2, p3, *rez;
  691. {
  692. }
  693. Void use_32(p1, p2, p3, rez)
  694. long p1, p2, p3, *rez;
  695. {
  696. }
  697. Void use_33(p1, p2, p3, rez)
  698. long p1, p2, p3, *rez;
  699. {
  700. }
  701. Void use_34(p1, p2, p3, rez)
  702. long p1, p2, p3, *rez;
  703. {
  704. }
  705. Void use_37(p1, p2, p3, rez)
  706. long p1, p2, p3, *rez;
  707. {
  708. }
  709. Void use_39(p1, p2, p3, rez)
  710. long p1, p2, p3, *rez;
  711. {
  712. }
  713. Void use_47(p1, p2, p3, rez)
  714. long p1, p2, p3, *rez;
  715. {
  716. }
  717. Void use_48(p1, p2, p3, rez)
  718. long p1, p2, p3, *rez;
  719. {
  720. }
  721. Void use_49(p1, p2, p3, rez)
  722. long p1, p2, p3, *rez;
  723. {
  724. }
  725. Void use_50(p1, p2, p3, rez)
  726. long p1, p2, p3, *rez;
  727. {
  728. }
  729. Void use_51(p1, p2, p3, rez)
  730. long p1, p2, p3, *rez;
  731. {
  732. }
  733. Void use_52(p1, p2, p3, rez)
  734. long p1, p2, p3, *rez;
  735. {
  736. }
  737. Void use_53(p1, p2, p3, rez)
  738. long p1, p2, p3, *rez;
  739. {
  740. }
  741. Void use_54(p1, p2, p3, rez)
  742. long p1, p2, p3, *rez;
  743. {
  744. }
  745. Void use_55(p1, p2, p3, rez)
  746. long p1, p2, p3, *rez;
  747. {
  748. }
  749. Void use_56(p1, p2, p3, rez)
  750. long p1, p2, p3, *rez;
  751. {
  752. }
  753. Void use_57(p1, p2, p3, rez)
  754. long p1, p2, p3, *rez;
  755. {
  756. }
  757. Void use_58(p1, p2, p3, rez)
  758. long p1, p2, p3, *rez;
  759. {
  760. }
  761. Void use_59(p1, p2, p3, rez)
  762. long p1, p2, p3, *rez;
  763. {
  764. }
  765. Void use_60(p1, p2, p3, rez)
  766. long p1, p2, p3, *rez;
  767. {
  768. }
  769. Void use_61(p1, p2, p3, rez)
  770. long p1, p2, p3, *rez;
  771. {
  772. }
  773. Void use_62(p1, p2, p3, rez)
  774. long p1, p2, p3, *rez;
  775. {
  776. }
  777. Void use_63(p1, p2, p3, rez)
  778. long p1, p2, p3, *rez;
  779. {
  780. }
  781. Void use_64(p1, p2, p3, rez)
  782. long p1, p2, p3, *rez;
  783. {
  784. }
  785. Void use_65(p1, p2, p3, rez)
  786. long p1, p2, p3, *rez;
  787. {
  788. }
  789. Void use_66(p1, p2, p3, rez)
  790. long p1, p2, p3, *rez;
  791. {
  792. }
  793. Void use_67(p1, p2, p3, rez)
  794. long p1, p2, p3, *rez;
  795. {
  796. }
  797. Void use_68(p1, p2, p3, rez)
  798. long p1, p2, p3, *rez;
  799. {
  800. }
  801. Void use_69(p1, p2, p3, rez)
  802. long p1, p2, p3, *rez;
  803. {
  804. }
  805. Void use_70(p1, p2, p3, rez)
  806. long p1, p2, p3, *rez;
  807. {
  808. }
  809. Void use_71(p1, p2, p3, rez)
  810. long p1, p2, p3, *rez;
  811. {
  812. }
  813. Void use_72(p1, p2, p3, rez)
  814. long p1, p2, p3, *rez;
  815. {
  816. }
  817. Void use_73(p1, p2, p3, rez)
  818. long p1, p2, p3, *rez;
  819. {
  820. }
  821. Void use_74(p1, p2, p3, rez)
  822. long p1, p2, p3, *rez;
  823. {
  824. }
  825. Void use_75(p1, p2, p3, rez)
  826. long p1, p2, p3, *rez;
  827. {
  828. }
  829. Void use_76(p1, p2, p3, rez)
  830. long p1, p2, p3, *rez;
  831. {
  832. }
  833. Void use_77(p1, p2, p3, rez)
  834. long p1, p2, p3, *rez;
  835. {
  836. }
  837. Void use_81(p1, p2, p3, rez)
  838. long p1, p2, p3, *rez;
  839. {
  840. }
  841. Void use_82(p1, p2, p3, rez)
  842. long p1, p2, p3, *rez;
  843. {
  844. }
  845. Void use_83(p1, p2, p3, rez)
  846. long p1, p2, p3, *rez;
  847. {
  848. }
  849. Void use_84(p1, p2, p3, rez)
  850. long p1, p2, p3, *rez;
  851. {
  852. }
  853. Void use_91(p1, p2, p3, rez)
  854. long p1, p2, p3, *rez;
  855. {
  856. }
  857. Void use_92(p1, p2, p3, rez)
  858. long p1, p2, p3, *rez;
  859. {
  860. }
  861. Void use_93(p1, p2, p3, rez)
  862. long p1, p2, p3, *rez;
  863. {
  864. }
  865. Void use_94(p1, p2, p3, rez)
  866. long p1, p2, p3, *rez;
  867. {
  868. }
  869. Void use_95(p1, p2, p3, rez)
  870. long p1, p2, p3, *rez;
  871. {
  872. }
  873. Void use_96(p1, p2, p3, rez)
  874. long p1, p2, p3, *rez;
  875. {
  876. }
  877. Void use_97(p1, p2, p3, rez)
  878. long p1, p2, p3, *rez;
  879. {
  880. }
  881. Void use_98(p1, p2, p3, rez)
  882. long p1, p2, p3, *rez;
  883. {
  884. }
  885. Void use_99(p1, p2, p3, rez)
  886. long p1, p2, p3, *rez;
  887. {
  888. }
  889. Void use_100(p1, p2, p3, rez)
  890. long p1, p2, p3, *rez;
  891. {
  892. }
  893. Void use_101(p1, p2, p3, rez)
  894. long p1, p2, p3, *rez;
  895. {
  896. }
  897. Void use_102(p1, p2, p3, rez)
  898. long p1, p2, p3, *rez;
  899. {
  900. }
  901. Void use_103(p1, p2, p3, rez)
  902. long p1, p2, p3, *rez;
  903. {
  904. }
  905. Void use_104(p1, p2, p3, rez)
  906. long p1, p2, p3, *rez;
  907. {
  908. }
  909. Void use_105(p1, p2, p3, rez)
  910. long p1, p2, p3, *rez;
  911. {
  912. }
  913. Void use_106(p1, p2, p3, rez)
  914. long p1, p2, p3, *rez;
  915. {
  916. }
  917. Void use_107(p1, p2, p3, rez)
  918. long p1, p2, p3, *rez;
  919. {
  920. }
  921. Void use_108(p1, p2, p3, rez)
  922. long p1, p2, p3, *rez;
  923. {
  924. }
  925. Void use_109(p1, p2, p3, rez)
  926. long p1, p2, p3, *rez;
  927. {
  928. }
  929. Void use_110(p1, p2, p3, rez)
  930. long p1, p2, p3, *rez;
  931. {
  932. }
  933. Void use_111(p1, p2, p3, rez)
  934. long p1, p2, p3, *rez;
  935. {
  936. }
  937. Void use_112(p1, p2, p3, rez)
  938. long p1, p2, p3, *rez;
  939. {
  940. }
  941. Void use_113(p1, p2, p3, rez)
  942. long p1, p2, p3, *rez;
  943. {
  944. }
  945. Void use_114(p1, p2, p3, rez)
  946. long p1, p2, p3, *rez;
  947. {
  948. }
  949. Void use_115(p1, p2, p3, rez)
  950. long p1, p2, p3, *rez;
  951. {
  952. }
  953. Void use_116(p1, p2, p3, rez)
  954. long p1, p2, p3, *rez;
  955. { int i,k;
  956. *rez = 0;
  957. if (!plstr(p1, str_, &l, true, sv1))return;
  958. *sv2='\0';
  959. sv2[0]='"';
  960. k=1;
  961. for (i=0; i<l;i++)
  962. { if
  963. ((sv1[i]=='"')
  964. ||
  965. (sv1[i]=='\\'))
  966. sv2[k++]='\\';
  967. sv2[k++]=sv1[i];
  968. }
  969. sv2[k++]='"';
  970. sv2[k]='\0';
  971. *rez = str_to_atom(sv2);
  972. }
  973. Void use_117(p1, p2, p3, rez)
  974. long p1, p2, p3, *rez;
  975. {
  976. }
  977. Void use_118(p1, p2, p3, rez)
  978. long p1, p2, p3, *rez;
  979. {
  980. }
  981. Void use_119(p1, p2, p3, rez)
  982. long p1, p2, p3, *rez;
  983. {
  984. }
  985. /* these procedures are not used , you can use them ! */
  986. Void use_120(p1, p2, p3, rez)
  987. long p1, p2, p3, *rez;
  988. {
  989. }
  990. Void use_121(p1, p2, p3, rez)
  991. long p1, p2, p3, *rez;
  992. {
  993. }
  994. Void use_122(p1, p2, p3, rez)
  995. long p1, p2, p3, *rez;
  996. {
  997. }
  998. Void use_123(p1, p2, p3, rez)
  999. long p1, p2, p3, *rez;
  1000. {
  1001. }
  1002. Void use_124(p1, p2, p3, rez)
  1003. long p1, p2, p3, *rez;
  1004. {
  1005. }
  1006. Void use_125(p1, p2, p3, rez)
  1007. long p1, p2, p3, *rez;
  1008. {
  1009. }
  1010. Void use_126(p1, p2, p3, rez)
  1011. long p1, p2, p3, *rez;
  1012. {
  1013. }
  1014. Void use_127(p1, p2, p3, rez)
  1015. long p1, p2, p3, *rez;
  1016. {
  1017. }
  1018. Void use_128(p1, p2, p3, rez)
  1019. long p1, p2, p3, *rez;
  1020. {
  1021. }
  1022. Void use_129(p1, p2, p3, rez)
  1023. long p1, p2, p3, *rez;
  1024. {
  1025. }
  1026. Void use_130(p1, p2, p3, rez)
  1027. long p1, p2, p3, *rez;
  1028. {
  1029. }
  1030. Void use_131(p1, p2, p3, rez)
  1031. long p1, p2, p3, *rez;
  1032. {
  1033. }
  1034. Void use_132(p1, p2, p3, rez)
  1035. long p1, p2, p3, *rez;
  1036. {
  1037. }
  1038. Void use_133(p1, p2, p3, rez)
  1039. long p1, p2, p3, *rez;
  1040. {
  1041. }
  1042. Void use_134(p1, p2, p3, rez)
  1043. long p1, p2, p3, *rez;
  1044. {
  1045. }
  1046. Void use_135(p1, p2, p3, rez)
  1047. long p1, p2, p3, *rez;
  1048. {
  1049. }
  1050. Void use_136(p1, p2, p3, rez)
  1051. long p1, p2, p3, *rez;
  1052. {
  1053. }
  1054. Void use_137(p1, p2, p3, rez)
  1055. long p1, p2, p3, *rez;
  1056. {
  1057. }
  1058. Void use_138(p1, p2, p3, rez)
  1059. long p1, p2, p3, *rez;
  1060. {
  1061. }
  1062. Void use_139(p1, p2, p3, rez)
  1063. long p1, p2, p3, *rez;
  1064. {
  1065. }
  1066. Void use_140(p1, p2, p3, rez)
  1067. long p1, p2, p3, *rez;
  1068. {
  1069. }
  1070. Void use_141(p1, p2, p3, rez)
  1071. long p1, p2, p3, *rez;
  1072. {
  1073. }
  1074. Void use_142(p1, p2, p3, rez)
  1075. long p1, p2, p3, *rez;
  1076. {
  1077. }
  1078. Void use_143(p1, p2, p3, rez)
  1079. long p1, p2, p3, *rez;
  1080. {
  1081. }
  1082. Void use_144(p1, p2, p3, rez)
  1083. long p1, p2, p3, *rez;
  1084. {
  1085. }
  1086. Void use_145(p1, p2, p3, rez)
  1087. long p1, p2, p3, *rez;
  1088. {
  1089. }
  1090. Void use_146(p1, p2, p3, rez)
  1091. long p1, p2, p3, *rez;
  1092. {
  1093. }
  1094. Void use_147(p1, p2, p3, rez)
  1095. long p1, p2, p3, *rez;
  1096. {
  1097. }
  1098. Void use_148(p1, p2, p3, rez)
  1099. long p1, p2, p3, *rez;
  1100. {
  1101. }
  1102. Void use_149(p1, p2, p3, rez)
  1103. long p1, p2, p3, *rez;
  1104. {
  1105. }
  1106. Void use_150(p1, p2, p3, rez)
  1107. long p1, p2, p3, *rez;
  1108. {
  1109. }
  1110. /* End. */