prototypes.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999
  1. // abs.cpp
  2. void eval_abs(void);
  3. void absval(void);
  4. void absval_tensor(void);
  5. void test_abs(void);
  6. // add.cpp
  7. void eval_add(void);
  8. void add_terms(int n);
  9. int cmp_terms(const void *q1, const void *q2);
  10. int combine_terms(U **s, int n);
  11. void push_terms(U *p);
  12. void add();
  13. void add_all(int k);
  14. void subtract(void);
  15. // adj.cpp
  16. void eval_adj(void);
  17. void adj(void);
  18. void test_adj(void);
  19. // alloc.cpp
  20. U * alloc(void);
  21. U * alloc_tensor(int nelem);
  22. void gc(void);
  23. void untag(U *p);
  24. void alloc_mem(void);
  25. void print_mem_info(void);
  26. // append.cpp
  27. void append(void);
  28. // arccos.cpp
  29. void eval_arccos(void);
  30. void arccos(void);
  31. void test_arccos(void);
  32. // arccosh.cpp
  33. void eval_arccosh(void);
  34. void arccosh(void);
  35. void test_arccosh(void);
  36. // arcsin.cpp
  37. void eval_arcsin(void);
  38. void arcsin(void);
  39. void test_arcsin(void);
  40. // arcsinh.cpp
  41. void eval_arcsinh(void);
  42. void arcsinh(void);
  43. void test_arcsinh(void);
  44. // arctan.cpp
  45. void eval_arctan(void);
  46. void arctan(void);
  47. void test_arctan(void);
  48. // arctanh.cpp
  49. void eval_arctanh(void);
  50. void arctanh(void);
  51. void test_arctanh(void);
  52. // arg.cpp
  53. void eval_arg(void);
  54. void arg(void);
  55. void yyarg(void);
  56. void test_arg(void);
  57. // atomize.cpp
  58. void eval_atomize(void);
  59. void atomize(void);
  60. // bake.cpp
  61. void bake(void);
  62. void polyform(void);
  63. void bake_poly();
  64. void bake_poly_term(int k);
  65. void test_bake(void);
  66. // besselj.cpp
  67. void eval_besselj(void);
  68. void besselj(void);
  69. void yybesselj(void);
  70. void test_besselj(void);
  71. // bessely.cpp
  72. void eval_bessely(void);
  73. void bessely(void);
  74. void yybessely(void);
  75. void test_bessely(void);
  76. // bignum.cpp
  77. unsigned int * mnew(int n);
  78. void mfree(unsigned int *p);
  79. unsigned int * mint(int n);
  80. unsigned int * mcopy(unsigned int *a);
  81. int ge(unsigned int *a, unsigned int *b, int len);
  82. void add_numbers(void);
  83. void subtract_numbers(void);
  84. void multiply_numbers(void);
  85. void divide_numbers(void);
  86. void invert_number(void);
  87. int compare_rationals(U *a, U *b);
  88. int compare_numbers(U *a, U *b);
  89. void negate_number(void);
  90. void bignum_truncate(void);
  91. void mp_numerator(void);
  92. void mp_denominator(void);
  93. void bignum_power_number(int expo);
  94. double convert_bignum_to_double(unsigned int *p);
  95. double convert_rational_to_double(U *p);
  96. void push_integer(int n);
  97. void push_double(double d);
  98. void push_rational(int a, int b);
  99. int pop_integer(void);
  100. void print_double(U *p, int flag);
  101. void bignum_scan_integer(char *s);
  102. void bignum_scan_float(char *s);
  103. void print_number(U *p);
  104. void gcd_numbers(void);
  105. double pop_double(void);
  106. void bignum_float(void);
  107. void bignum_factorial(int n);
  108. void mp_set_bit(unsigned int *x, unsigned int k);
  109. void mp_clr_bit(unsigned int *x, unsigned int k);
  110. void mshiftright(unsigned int *a);
  111. // binomial.cpp
  112. void eval_binomial(void);
  113. void binomial(void);
  114. void test_binomial(void);
  115. // ceiling.cpp
  116. void eval_ceiling(void);
  117. void ceiling(void);
  118. void yyceiling(void);
  119. void test_ceiling(void);
  120. // choose.cpp
  121. void eval_choose(void);
  122. void choose(void);
  123. int choose_check_args(void);
  124. void test_choose(void);
  125. // circexp.cpp
  126. void eval_circexp(void);
  127. void circexp(void);
  128. void test_circexp(void);
  129. // clear.cpp
  130. void eval_clear(void);
  131. void clear(void);
  132. // clock.cpp
  133. void eval_clock(void);
  134. void clockform(void);
  135. void test_clock(void);
  136. // cmdisplay.cpp
  137. void eval_display(void);
  138. void cmdisplay(void);
  139. void test_cmdisplay(void);
  140. // coeff.cpp
  141. void eval_coeff(void);
  142. int coeff(void);
  143. void test_coeff(void);
  144. // cofactor.cpp
  145. void eval_cofactor(void);
  146. void cofactor(U *p, int n, int row, int col);
  147. void test_cofactor(void);
  148. // condense.cpp
  149. void eval_condense(void);
  150. void Condense(void);
  151. void yycondense(void);
  152. void test_condense(void);
  153. // conj.cpp
  154. void eval_conj(void);
  155. void conjugate(void);
  156. // cons.cpp
  157. void cons(void);
  158. // contract.cpp
  159. void eval_contract(void);
  160. void contract(void);
  161. void yycontract(void);
  162. void test_contract(void);
  163. // cos.cpp
  164. void eval_cos(void);
  165. void cosine(void);
  166. void cosine_of_angle_sum(void);
  167. void cosine_of_angle(void);
  168. void test_cos(void);
  169. // cosh.cpp
  170. void eval_cosh(void);
  171. void ycosh(void);
  172. void yycosh(void);
  173. void test_cosh(void);
  174. // data.cpp
  175. // decomp.cpp
  176. void eval_decomp(void);
  177. void decomp(void);
  178. void decomp_sum(void);
  179. void decomp_product(void);
  180. // define.cpp
  181. void define_user_function(void);
  182. // defint.cpp
  183. void eval_defint(void);
  184. void test_defint(void);
  185. // degree.cpp
  186. void eval_degree(void);
  187. void degree(void);
  188. void yydegree(U *p);
  189. // denominator.cpp
  190. void eval_denominator(void);
  191. void denominator(void);
  192. void test_denominator(void);
  193. // derivative.cpp
  194. void eval_derivative(void);
  195. void derivative(void);
  196. void d_scalar_scalar(void);
  197. void d_scalar_scalar_1(void);
  198. void dsum(void);
  199. void dproduct(void);
  200. void dpower(void);
  201. void dlog(void);
  202. void dd(void);
  203. void dfunction(void);
  204. void dsin(void);
  205. void dcos(void);
  206. void dtan(void);
  207. void darcsin(void);
  208. void darccos(void);
  209. void darctan(void);
  210. void dsinh(void);
  211. void dcosh(void);
  212. void dtanh(void);
  213. void darcsinh(void);
  214. void darccosh(void);
  215. void darctanh(void);
  216. void dabs(void);
  217. void dsgn(void);
  218. void dhermite(void);
  219. void derf(void);
  220. void derfc(void);
  221. void dbesselj0(void);
  222. void dbesseljn(void);
  223. void dbessely0(void);
  224. void dbesselyn(void);
  225. void derivative_of_integral(void);
  226. void test_derivative(void);
  227. // det.cpp
  228. void det(void);
  229. void determinant(int n);
  230. void detg(void);
  231. void yydetg(void);
  232. void lu_decomp(int n);
  233. // dirac.cpp
  234. void eval_dirac(void);
  235. void dirac(void);
  236. void test_dirac(void);
  237. // display.cpp
  238. void display(U *p);
  239. void fixup_fraction(int x, int k1, int k2);
  240. void displaychar(int c);
  241. void emit_number(U *p, int emit_sign);
  242. char * getdisplaystr(void);
  243. void test_display(void);
  244. // distill.cpp
  245. void distill(void);
  246. void distill_sum(void);
  247. void distill_product(void);
  248. // divisors.cpp
  249. void divisors(void);
  250. void divisors_onstack(void);
  251. void test_divisors(void);
  252. // dpow.cpp
  253. void dpow(void);
  254. // draw.cpp
  255. void eval_draw(void);
  256. void draw_main(void);
  257. void check_for_parametric_draw(void);
  258. void create_point_set(void);
  259. void new_point(double t);
  260. void get_xy(double t);
  261. void eval_f(double t);
  262. void fill(int i, int k, int level);
  263. void setup_trange(void);
  264. void setup_trange_f(void);
  265. void setup_xrange(void);
  266. void setup_xrange_f(void);
  267. void setup_yrange(void);
  268. void setup_yrange_f(void);
  269. void emit_graph(void);
  270. void get_xyminmax(double* xminp, double* xmaxp, double* yminp, double* ymaxp);
  271. // dsolve.cpp
  272. void dsolve(void);
  273. int distilly();
  274. // eigen.cpp
  275. void eval_eigen(void);
  276. void eval_eigenval(void);
  277. void eval_eigenvec(void);
  278. void test_eigen(void);
  279. // erf.cpp
  280. void eval_erf(void);
  281. void yerf(void);
  282. void test_erf(void);
  283. // erfc.cpp
  284. void eval_erfc(void);
  285. void yerfc(void);
  286. double erfc(double x);
  287. void test_erfc(void);
  288. // eval.cpp
  289. void eval(void);
  290. void eval_sym(void);
  291. void eval_cons(void);
  292. void eval_binding(void);
  293. void eval_check(void);
  294. void eval_det(void);
  295. void eval_dim(void);
  296. void eval_divisors(void);
  297. void eval_do(void);
  298. void eval_dsolve(void);
  299. void eval_eval(void);
  300. void eval_exp(void);
  301. void eval_factorial(void);
  302. void eval_factorpoly(void);
  303. void eval_hermite(void);
  304. void eval_hilbert(void);
  305. void eval_index(void);
  306. void eval_inv(void);
  307. void eval_invg(void);
  308. void eval_isinteger(void);
  309. void eval_multiply(void);
  310. void eval_number(void);
  311. void eval_operator(void);
  312. void eval_print(void);
  313. void eval_quote(void);
  314. void eval_rank(void);
  315. void setq_indexed(void);
  316. void eval_setq(void);
  317. void eval_sqrt(void);
  318. void eval_stop(void);
  319. void eval_subst(void);
  320. void eval_unit(void);
  321. void eval_noexpand(void);
  322. void eval_predicate(void);
  323. // expand.cpp
  324. void eval_expand(void);
  325. void expand(void);
  326. void expand_tensor(void);
  327. void remove_negative_exponents(void);
  328. void expand_get_C(void);
  329. void expand_get_CF(void);
  330. void trivial_divide(void);
  331. void expand_get_B(void);
  332. void expand_get_A(void);
  333. void expand_get_AF(void);
  334. void test_expand(void);
  335. // expcos.cpp
  336. void eval_expcos(void);
  337. void expcos(void);
  338. void test_expcos(void);
  339. // expsin.cpp
  340. void eval_expsin(void);
  341. void expsin(void);
  342. void test_expsin(void);
  343. // factor.cpp
  344. void eval_factor(void);
  345. void factor_again(void);
  346. void factor_term(void);
  347. void factor(void);
  348. void factor_small_number(void);
  349. void test_factor_number(void);
  350. // factorial.cpp
  351. void factorial(void);
  352. void simplifyfactorials(void);
  353. void sfac_product(void);
  354. void sfac_product_f(U **s, int a, int b);
  355. // factorpoly.cpp
  356. void factorpoly(void);
  357. void yyfactorpoly(void);
  358. void test_factorpoly(void);
  359. // factors.cpp
  360. int factors(U *p);
  361. void push_term_factors(U *p);
  362. // filter.cpp
  363. void eval_filter(void);
  364. void filter(void);
  365. void filter_main(void);
  366. void filter_sum(void);
  367. void filter_tensor(void);
  368. // find.cpp
  369. int find(U *p, U *q);
  370. // float.cpp
  371. void eval_float(void);
  372. void yyfloat(void);
  373. void test_float(void);
  374. // floor.cpp
  375. void eval_floor(void);
  376. void yfloor(void);
  377. void yyfloor(void);
  378. void test_floor(void);
  379. // for.cpp
  380. void eval_for(void);
  381. // gamma.cpp
  382. void eval_gamma(void);
  383. void gamma(void);
  384. void test_gamma(void);
  385. // gcd.cpp
  386. void eval_gcd(void);
  387. void gcd(void);
  388. void gcd_main(void);
  389. void gcd_expr_expr(void);
  390. void gcd_expr(U *p);
  391. void gcd_term_term(void);
  392. void gcd_term_factor(void);
  393. void gcd_factor_term(void);
  394. void test_gcd(void);
  395. // guess.cpp
  396. void guess(void);
  397. // hermite.cpp
  398. void hermite(void);
  399. void yyhermite(void);
  400. void yyhermite2(int n);
  401. void test_hermite(void);
  402. // hilbert.cpp
  403. void hilbert(void);
  404. // history.cpp
  405. void update_cmd_history(char *s);
  406. void do_up_arrow(void);
  407. void do_down_arrow(void);
  408. char * get_cmd_history(void);
  409. // imag.cpp
  410. void eval_imag(void);
  411. void imag(void);
  412. void test_imag(void);
  413. // index.cpp
  414. void index_function(int n);
  415. void set_component(int n);
  416. void test_index(void);
  417. // init.cpp
  418. void init(void);
  419. void defn(void);
  420. // inner.cpp
  421. void eval_inner(void);
  422. void inner(void);
  423. void test_inner(void);
  424. // integral.cpp
  425. void eval_integral(void);
  426. void integral(void);
  427. void integral_of_sum(void);
  428. void integral_of_product(void);
  429. void integral_of_form(void);
  430. // inv.cpp
  431. void inv(void);
  432. void invg(void);
  433. void yyinvg(void);
  434. void decomp(int n);
  435. // is.cpp
  436. int iszero(U *p);
  437. int isnegativenumber(U *p);
  438. int isplusone(U *p);
  439. int isminusone(U *p);
  440. int isinteger(U *p);
  441. int isnonnegativeinteger(U *p);
  442. int isposint(U *p);
  443. int ispoly(U *p, U *x);
  444. int ispoly_expr(U *p, U *x);
  445. int ispoly_term(U *p, U *x);
  446. int ispoly_factor(U *p, U *x);
  447. int isnegativeterm(U *p);
  448. int isimaginarynumber(U *p);
  449. int iscomplexnumber(U *p);
  450. int iseveninteger(U *p);
  451. int isnegative(U *p);
  452. int issymbolic(U *p);
  453. int isintegerfactor(U *p);
  454. int isoneover(U *p);
  455. int isfraction(U *p);
  456. int equaln(U *p, int n);
  457. int equalq(U *p, int a, int b);
  458. int isoneoversqrttwo(U *p);
  459. int isminusoneoversqrttwo(U *p);
  460. int isfloating(U *p);
  461. int isimaginaryunit(U *p);
  462. int isquarterturn(U *p);
  463. int isnpi(U *p);
  464. // isprime.cpp
  465. void eval_isprime(void);
  466. void test_isprime(void);
  467. // itab.cpp
  468. // itest.cpp
  469. void test_integral(void);
  470. // laguerre.cpp
  471. void eval_laguerre(void);
  472. void laguerre(void);
  473. void laguerre2(int n);
  474. void test_laguerre(void);
  475. // laplace.cpp
  476. void eval_laplace(void);
  477. void laplace(void);
  478. void laplace_main(void);
  479. void test_laplace(void);
  480. // lcm.cpp
  481. void eval_lcm(void);
  482. void lcm(void);
  483. void yylcm(void);
  484. void test_lcm(void);
  485. // leading.cpp
  486. void eval_leading(void);
  487. void leading(void);
  488. // legendre.cpp
  489. void eval_legendre(void);
  490. void legendre(void);
  491. void test_legendre(void);
  492. // list.cpp
  493. void list(int n);
  494. // log.cpp
  495. void eval_log(void);
  496. void logarithm(void);
  497. void yylog(void);
  498. void test_log(void);
  499. // madd.cpp
  500. unsigned int * madd(unsigned int *a, unsigned int *b);
  501. unsigned int * msub(unsigned int *a, unsigned int *b);
  502. void test_madd(void);
  503. void test_maddf(int na, int nb, int nc);
  504. void test_msub(void);
  505. void test_msubf(int na, int nb, int nc);
  506. // mag.cpp
  507. void eval_mag(void);
  508. void mag(void);
  509. void yymag(void);
  510. void test_mag(void);
  511. // main.cpp
  512. int main();
  513. void clear_term();
  514. void eval_display(void);
  515. void printstr(char *s);
  516. void printchar(int c);
  517. void printchar_nowrap(int c);
  518. void set_has_drawn(int val);
  519. void eval_sample(void);
  520. // mcmp.cpp
  521. int mcmp(unsigned int *a, unsigned int *b);
  522. int mcmpint(unsigned int *a, int n);
  523. void test_mcmp(void);
  524. // mfactor.cpp
  525. unsigned int * mfactor(unsigned int *n);
  526. void test_mfactor(void);
  527. // mgcd.cpp
  528. unsigned int * mgcd(unsigned int *u, unsigned int *v);
  529. void test_mgcd(void);
  530. // mini-test.cpp
  531. void mini_test(void);
  532. // misc.cpp
  533. void new_string(char *s);
  534. void out_of_memory(void);
  535. void push_zero_matrix(int i, int j);
  536. void push_identity_matrix(int n);
  537. void push_cars(U *p);
  538. void peek(void);
  539. void peek2(void);
  540. int equal(U *p1, U *p2);
  541. int lessp(U *p1, U *p2);
  542. int sign(int n);
  543. int cmp_expr(U *p1, U *p2);
  544. int length(U *p);
  545. U * unique(U *p);
  546. void check_endianess(void);
  547. void ssqrt(void);
  548. void yyexpand(void);
  549. void exponential(void);
  550. void square(void);
  551. void sort_stack(int n);
  552. // mmodpow.cpp
  553. unsigned int * mmodpow(unsigned int *x, unsigned int *n, unsigned int *m);
  554. void test_mmodpow(void);
  555. // mmul.cpp
  556. unsigned int * mmul(unsigned int *a, unsigned int *b);
  557. unsigned int * mdiv(unsigned int *a, unsigned int *b);
  558. unsigned int * mmod(unsigned int *a, unsigned int *b);
  559. void mdivrem(unsigned int **q, unsigned int **r, unsigned int *a, unsigned int *b);
  560. void test_mmul(void);
  561. void test_mdiv(void);
  562. void test_mmod(void);
  563. // mod.cpp
  564. void eval_mod(void);
  565. void mod(void);
  566. void test_mod(void);
  567. // mpow.cpp
  568. unsigned int * mpow(unsigned int *a, unsigned int n);
  569. void test_mpow(void);
  570. // mprime.cpp
  571. int mprime(unsigned int *n);
  572. void test_mprime(void);
  573. // mroot.cpp
  574. unsigned int * mroot(unsigned int *n, unsigned int index);
  575. void test_mroot(void);
  576. // mscan.cpp
  577. unsigned int * mscan(char *s);
  578. // msqrt.cpp
  579. unsigned int * msqrt(unsigned int *n);
  580. void test_msqrt(void);
  581. // mstr.cpp
  582. char * mstr(unsigned int *a);
  583. // multiply.cpp
  584. void multiply(void);
  585. void yymultiply(void);
  586. void combine_factors(int h);
  587. void multiply_noexpand(void);
  588. void multiply_all(int n);
  589. void multiply_all_noexpand(int n);
  590. void divide(void);
  591. void inverse(void);
  592. void reciprocate(void);
  593. void negate(void);
  594. void negate_expand(void);
  595. void negate_noexpand(void);
  596. void test_multiply(void);
  597. // nroots.cpp
  598. void eval_nroots(void);
  599. void monic(int n);
  600. void findroot(int n);
  601. void compute_fa(int n);
  602. void divpoly(int n);
  603. void test_nroots(void);
  604. // numerator.cpp
  605. void eval_numerator(void);
  606. void numerator(void);
  607. void test_numerator(void);
  608. // outer.cpp
  609. void eval_outer(void);
  610. void outer(void);
  611. void yyouter(void);
  612. void test_outer(void);
  613. // partition.cpp
  614. void partition(void);
  615. // polar.cpp
  616. void eval_polar(void);
  617. void polar(void);
  618. void test_polar(void);
  619. // pollard.cpp
  620. void factor_number(void);
  621. void factor_a(void);
  622. void try_kth_prime(int k);
  623. int factor_b(void);
  624. void push_factor(unsigned int *d, int count);
  625. // power.cpp
  626. void eval_power(void);
  627. void power(void);
  628. void yypower(void);
  629. void power_sum(int n);
  630. void multinomial_sum(int k, int n, int *a, int i, int m);
  631. int simplify_polar(void);
  632. void test_power(void);
  633. // prime.cpp
  634. void eval_prime(void);
  635. void prime(void);
  636. // primetab.cpp
  637. // print.cpp
  638. //char* get_tex_flag_address();
  639. void print(U *p);
  640. void printline(U *p);
  641. void print_subexpr(U *p);
  642. void print_expr(U *p);
  643. int sign_of_term(U *p);
  644. void print_a_over_b(U *p);
  645. void print_term(U *p);
  646. void print_denom(U *p, int d);
  647. void print_factor(U *p);
  648. void print_index_function(U *p);
  649. void print_factorial_function(U *p);
  650. void print_tensor(U *p);
  651. void print_tensor_inner(U *p, int j, int *k);
  652. void print_str(char *s);
  653. void print_char(int c);
  654. void print_function_definition(U *p);
  655. void print_arg_list(U *p);
  656. void print_lisp(U *p);
  657. void print1(U *p);
  658. void print_multiply_sign(void);
  659. int is_denominator(U *p);
  660. int any_denominators(U *p);
  661. // product.cpp
  662. void eval_product(void);
  663. // qadd.cpp
  664. void qadd(void);
  665. // qdiv.cpp
  666. void qdiv(void);
  667. // qmul.cpp
  668. void qmul(void);
  669. // qpow.cpp
  670. void qpow();
  671. // qsub.cpp
  672. void qsub(void);
  673. // quickfactor.cpp
  674. void quickfactor(void);
  675. void test_quickfactor(void);
  676. // quotient.cpp
  677. void eval_quotient(void);
  678. void divpoly(void);
  679. void test_quotient(void);
  680. // rationalize.cpp
  681. void eval_rationalize(void);
  682. void rationalize(void);
  683. void yyrationalize(void);
  684. void test_rationalize(void);
  685. // real.cpp
  686. void eval_real(void);
  687. void real(void);
  688. void test_real(void);
  689. // rect.cpp
  690. void eval_rect(void);
  691. void rect(void);
  692. void test_rect(void);
  693. // rewrite.cpp
  694. void rewrite(void);
  695. void rewrite_tensor(void);
  696. // roots.cpp
  697. void eval_roots(void);
  698. void roots(void);
  699. void test_roots(void);
  700. // run.cpp
  701. void stop(char *s);
  702. void run(char *s);
  703. void check_stack(void);
  704. void echo_input(char *s);
  705. void top_level_eval(void);
  706. void check_esc_flag(void);
  707. // scan.cpp
  708. int scan(char *s);
  709. int scan_meta(char *s);
  710. void scan_stmt(void);
  711. void scan_relation(void);
  712. void scan_expression(void);
  713. int is_factor(void);
  714. void scan_term(void);
  715. void scan_power(void);
  716. void scan_factor(void);
  717. void scan_symbol(void);
  718. void scan_string(void);
  719. void scan_function_call(void);
  720. void scan_subexpr(void);
  721. void error(char *errmsg);
  722. void build_tensor(int n);
  723. void get_next_token();
  724. void get_token(void);
  725. void update_token_buf(char *a, char *b);
  726. void test_scan(void);
  727. // selftest.cpp
  728. void selftest(void);
  729. void logout(char *s);
  730. void errout(void);
  731. void test(char *file, char **s, int n);
  732. void test_low_level(void);
  733. // sgn.cpp
  734. void eval_sgn(void);
  735. void sgn(void);
  736. void yysgn(void);
  737. void test_sgn(void);
  738. // simfac.cpp
  739. void eval_simfac(void);
  740. void simfac(void);
  741. void simfac(void);
  742. // simplify.cpp
  743. void eval_simplify(void);
  744. void simplify(void);
  745. void simplify_main(void);
  746. void simplify_trig(void);
  747. void test_simplify(void);
  748. // sin.cpp
  749. void eval_sin(void);
  750. void sine(void);
  751. void sine_of_angle_sum(void);
  752. void sine_of_angle(void);
  753. void test_sin(void);
  754. // sinh.cpp
  755. void eval_sinh(void);
  756. void ysinh(void);
  757. void yysinh(void);
  758. void test_sinh(void);
  759. // stack.cpp
  760. void push(U *p);
  761. U * pop();
  762. void push_frame(int n);
  763. void pop_frame(int n);
  764. void save(void);
  765. void restore(void);
  766. void swap(void);
  767. void dupl(void);
  768. // subst.cpp
  769. void subst(void);
  770. // sum.cpp
  771. void eval_sum(void);
  772. // symbol.cpp
  773. void std_symbol(char *s, int n);
  774. U * usr_symbol(char *s);
  775. char * get_printname(U *p);
  776. void set_binding(U *p, U *q);
  777. U * get_binding(U *p);
  778. void set_binding_and_arglist(U *p, U *q, U *r);
  779. U * get_arglist(U *p);
  780. int symnum(U *p);
  781. void push_symbol(int k);
  782. void clear_symbols(void);
  783. // tan.cpp
  784. void eval_tan(void);
  785. void tangent(void);
  786. void yytangent(void);
  787. void test_tan(void);
  788. // tanh.cpp
  789. void eval_tanh(void);
  790. void test_tanh(void);
  791. // taylor.cpp
  792. void eval_taylor(void);
  793. void taylor(void);
  794. void test_taylor(void);
  795. // tensor.cpp
  796. void eval_tensor(void);
  797. void tensor_plus_tensor(void);
  798. void tensor_times_scalar(void);
  799. void scalar_times_tensor(void);
  800. int is_square_matrix(U *p);
  801. void d_tensor_tensor(void);
  802. void d_scalar_tensor(void);
  803. void d_tensor_scalar(void);
  804. int compare_tensors(U *p1, U *p2);
  805. void power_tensor(void);
  806. void copy_tensor(void);
  807. void test_tensor(void);
  808. // test.cpp
  809. void eval_test(void);
  810. void eval_testeq(void);
  811. void eval_testge(void);
  812. void eval_testgt(void);
  813. void eval_testle(void);
  814. void eval_testlt(void);
  815. void eval_not(void);
  816. void eval_and(void);
  817. void eval_or(void);
  818. int cmp_args(void);
  819. void test_test(void);
  820. // transform.cpp
  821. void transform(char **s);
  822. int f_equals_a(int h);
  823. // transpose.cpp
  824. void eval_transpose(void);
  825. void transpose(void);
  826. void test_transpose(void);
  827. // userfunc.cpp
  828. void eval_user_function(void);
  829. int rewrite_args(void);
  830. int rewrite_args_tensor(void);
  831. // variables.cpp
  832. void variables(void);
  833. // vectorize.cpp
  834. void vectorize(int n);
  835. // window.cpp
  836. void printchar_nowrap(int c);
  837. void printchar(int c);
  838. void printstr(char *s);
  839. void clear_term(void);
  840. void shipout(unsigned char *d, int w, int h);
  841. void draw_display(void);
  842. char * get_tty_buf(void);
  843. // zero.cpp
  844. void eval_zero(void);
  845. void test_zero(void);
  846. // random.cpp - by gbl08ma
  847. void eval_random(void);
  848. void randomnum(void);