File: tis_fixed.c

package info (click to toggle)
sollya 6.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 13,376 kB
  • ctags: 5,132
  • sloc: ansic: 120,010; yacc: 8,738; lex: 2,494; makefile: 854; cpp: 76
file content (130 lines) | stat: -rw-r--r-- 6,784 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <sollya.h>

int empty_func(void **args) {
  (void)(args); /* Compiler happiness */
  sollya_lib_printf("External procedure only doing a side effect\n");
  return 1;
}

int main(void) {

  sollya_obj_t a[53];
  int t[53];
  int i;

  sollya_lib_init();

  a[0] = sollya_lib_absolute();
  a[1] = sollya_lib_binary();
  a[2] = sollya_lib_decimal();
  a[3] = sollya_lib_default();
  a[4] = sollya_lib_dyadic();
  a[5] = sollya_lib_error();
  a[6] = sollya_lib_false();
  a[7] = sollya_lib_file();
  a[8] = sollya_lib_fixed();
  a[9] = sollya_lib_floating();
  a[10] = sollya_lib_hexadecimal();
  a[11] = sollya_lib_honorcoeffprec();
  a[12] = sollya_lib_off();
  a[13] = sollya_lib_on();
  a[14] = sollya_lib_perturb();
  a[15] = sollya_lib_pi();
  a[16] = sollya_lib_postscript();
  a[17] = sollya_lib_postscriptfile();
  a[18] = sollya_lib_powers();
  a[19] = sollya_lib_relative();
  a[20] = sollya_lib_true();
  a[21] = sollya_lib_void();
  a[22] = sollya_lib_constant_from_double(1.0);
  a[23] = sollya_lib_free_variable();
  a[24] = sollya_lib_string("fixed");
  a[25] = sollya_lib_string("");
  a[26] = sollya_lib_list(NULL, 0);
  a[27] = sollya_lib_list(a, 2);
  a[28] = sollya_lib_end_elliptic_list(a, 2);
  a[29] = sollya_lib_parse_string("[1, 2]");
  a[30] = sollya_lib_round_down();
  a[31] = sollya_lib_round_up();
  a[32] = sollya_lib_round_towards_zero();
  a[33] = sollya_lib_round_to_nearest();
  a[34] = sollya_lib_double_obj();
  a[35] = sollya_lib_build_function_double(sollya_lib_free_variable());
  a[36] = sollya_lib_single_obj();
  a[37] = sollya_lib_build_function_single(sollya_lib_free_variable());
  a[38] = sollya_lib_quad_obj();
  a[39] = sollya_lib_build_function_quad(sollya_lib_free_variable());
  a[40] = sollya_lib_halfprecision_obj();
  a[41] = sollya_lib_build_function_halfprecision(sollya_lib_free_variable());
  a[42] = sollya_lib_doubleextended_obj();
  a[43] = sollya_lib_build_function_doubleextended(sollya_lib_free_variable());
  a[44] = sollya_lib_double_double_obj();
  a[45] = sollya_lib_build_function_double_double(sollya_lib_free_variable());
  a[46] = sollya_lib_triple_double_obj();
  a[47] = sollya_lib_build_function_triple_double(sollya_lib_free_variable());
  a[48] = sollya_lib_build_function_cos(sollya_lib_constant_from_int(5));
  a[49] = sollya_lib_end_elliptic_list(NULL, 0);
  a[50] = sollya_lib_parse_string("{.a = 5; .b = exp(_x_)}");
  a[51] = sollya_lib_parse_string("proc (a) { return a+1; }");
  a[52] = sollya_lib_externalprocedure(SOLLYA_EXTERNALPROC_TYPE_VOID, NULL, 0, NULL, empty_func);

  for(i=0;i<53;i++)  t[i] = sollya_lib_is_fixed(a[i]);

  if (t[0]) sollya_lib_printf("sollya_lib_is_fixed detects absolute\n");
  if (t[1]) sollya_lib_printf("sollya_lib_is_fixed detects binary\n");
  if (t[2]) sollya_lib_printf("sollya_lib_is_fixed detects decimal\n");
  if (t[3]) sollya_lib_printf("sollya_lib_is_fixed detects default\n");
  if (t[4]) sollya_lib_printf("sollya_lib_is_fixed detects dyadic\n");
  if (t[5]) sollya_lib_printf("sollya_lib_is_fixed detects error\n");
  if (t[6]) sollya_lib_printf("sollya_lib_is_fixed detects false\n");
  if (t[7]) sollya_lib_printf("sollya_lib_is_fixed detects file\n");
  if (t[8]) sollya_lib_printf("sollya_lib_is_fixed detects fixed\n");
  if (t[9]) sollya_lib_printf("sollya_lib_is_fixed detects floating\n");
  if (t[10]) sollya_lib_printf("sollya_lib_is_fixed detects hexadecimal\n");
  if (t[11]) sollya_lib_printf("sollya_lib_is_fixed detects honorcoeffprec\n");
  if (t[12]) sollya_lib_printf("sollya_lib_is_fixed detects off\n");
  if (t[13]) sollya_lib_printf("sollya_lib_is_fixed detects on\n");
  if (t[14]) sollya_lib_printf("sollya_lib_is_fixed detects perturb\n");
  if (t[15]) sollya_lib_printf("sollya_lib_is_fixed detects pi\n");
  if (t[16]) sollya_lib_printf("sollya_lib_is_fixed detects postscript\n");
  if (t[17]) sollya_lib_printf("sollya_lib_is_fixed detects postscriptfile\n");
  if (t[18]) sollya_lib_printf("sollya_lib_is_fixed detects powers\n");
  if (t[19]) sollya_lib_printf("sollya_lib_is_fixed detects relative\n");
  if (t[20]) sollya_lib_printf("sollya_lib_is_fixed detects true\n");
  if (t[21]) sollya_lib_printf("sollya_lib_is_fixed detects void\n");
  if (t[22]) sollya_lib_printf("sollya_lib_is_fixed detects a constant\n");
  if (t[23]) sollya_lib_printf("sollya_lib_is_fixed detects free_variable\n");
  if (t[24]) sollya_lib_printf("sollya_lib_is_fixed detects the string \"fixed\"\n");
  if (t[25]) sollya_lib_printf("sollya_lib_is_fixed detects the empty string.\n");
  if (t[26]) sollya_lib_printf("sollya_lib_is_fixed detects the empty list.\n");
  if (t[27]) sollya_lib_printf("sollya_lib_is_fixed detects a non empty list.\n");
  if (t[28]) sollya_lib_printf("sollya_lib_is_fixed detects a non empty end-elliptic list.\n");
  if (t[29]) sollya_lib_printf("sollya_lib_is_fixed detects a range.\n");
  if (t[30]) sollya_lib_printf("sollya_lib_is_fixed detects RD.\n");
  if (t[31]) sollya_lib_printf("sollya_lib_is_fixed detects RU.\n");
  if (t[32]) sollya_lib_printf("sollya_lib_is_fixed detects RZ.\n");
  if (t[33]) sollya_lib_printf("sollya_lib_is_fixed detects RN.\n");
  if (t[34]) sollya_lib_printf("sollya_lib_is_fixed detects D as symbol.\n");
  if (t[35]) sollya_lib_printf("sollya_lib_is_fixed detects D(_x_).\n");
  if (t[36]) sollya_lib_printf("sollya_lib_is_fixed detects S as symbol.\n");
  if (t[37]) sollya_lib_printf("sollya_lib_is_fixed detects S(_x_).\n");
  if (t[38]) sollya_lib_printf("sollya_lib_is_fixed detects QD as symbol.\n");
  if (t[39]) sollya_lib_printf("sollya_lib_is_fixed detects QD(_x_).\n");
  if (t[40]) sollya_lib_printf("sollya_lib_is_fixed detects HP as symbol.\n");
  if (t[41]) sollya_lib_printf("sollya_lib_is_fixed detects HP(_x_).\n");
  if (t[42]) sollya_lib_printf("sollya_lib_is_fixed detects DE as symbol.\n");
  if (t[43]) sollya_lib_printf("sollya_lib_is_fixed detects DE(_x_).\n");
  if (t[44]) sollya_lib_printf("sollya_lib_is_fixed detects DD as symbol.\n");
  if (t[45]) sollya_lib_printf("sollya_lib_is_fixed detects DD(_x_).\n");
  if (t[46]) sollya_lib_printf("sollya_lib_is_fixed detects TD as symbol.\n");
  if (t[47]) sollya_lib_printf("sollya_lib_is_fixed detects TD(_x_).\n");
  if (t[48]) sollya_lib_printf("sollya_lib_is_fixed detects a constant expression.\n");
  if (t[49]) sollya_lib_printf("sollya_lib_is_fixed detects an empty end-elliptic list.\n");
  if (t[50]) sollya_lib_printf("sollya_lib_is_fixed detects structure { .a = 5; .b = exp(_x_)}.\n");
  if (t[51]) sollya_lib_printf("sollya_lib_is_fixed detects procedure proc(a) { return a+1; }.\n");
  if (t[52]) sollya_lib_printf("sollya_lib_is_fixed detects external procedure based on empty_func.\n");

  for(i=0;i<53;i++) sollya_lib_clear_obj(a[i]);
  sollya_lib_close();
  return 0;
}