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
|
#include <sollya.h>
int callback(sollya_msg_t msg, void *data) {
(void)data; /* Avoiding "unused parameter" warning */
int message = sollya_lib_get_msg_id(msg);
if (message == SOLLYA_MSG_EXPR_NOT_CORRECTLY_TYPED)
sollya_lib_printf("The following test produces a typing error\n");
else
sollya_lib_printf("Unexpected message\n");
return 0;
}
int main(void) {
sollya_obj_t a, res;
double nan = 0.0/0.0;
sollya_lib_init();
sollya_lib_install_msg_callback(callback, NULL);
a = SOLLYA_CONST(2);
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = SOLLYA_DIV(SOLLYA_CONST(1), SOLLYA_CONST(3));
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = SOLLYA_LOG(SOLLYA_NEG(SOLLYA_CONST(3)));
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = SOLLYA_CONST(nan);
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[1,2]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[@Inf@, @Inf@]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[1, @Inf@]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[-@Inf@, @Inf@]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[-@Inf@, 1]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_parse_string("[-@Inf@, -@Inf@]");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = SOLLYA_X_;
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
a = sollya_lib_string("Hello");
res = sollya_lib_mid(a);
sollya_lib_printf("mid of %b is %b\n", a, res);
sollya_lib_clear_obj(a);
sollya_lib_clear_obj(res);
sollya_lib_close();
return 0;
}
|