File: tobj_is_structure.c

package info (click to toggle)
sollya 7.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 13,864 kB
  • sloc: ansic: 117,441; yacc: 8,822; lex: 2,419; makefile: 870; cpp: 76
file content (130 lines) | stat: -rw-r--r-- 7,226 bytes parent folder | download | duplicates (2)
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("single_obj");
  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_obj_is_structure(a[i]);

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