=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/cmo.c,v retrieving revision 1.13 retrieving revision 1.15 diff -u -p -r1.13 -r1.15 --- OpenXM/src/ox_toolkit/cmo.c 2003/06/05 21:12:07 1.13 +++ OpenXM/src/ox_toolkit/cmo.c 2003/09/15 09:31:41 1.15 @@ -1,5 +1,5 @@ /* -*- mode: C; coding: euc-japan -*- */ -/* $OpenXM: OpenXM/src/ox_toolkit/cmo.c,v 1.12 2003/06/03 16:06:48 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_toolkit/cmo.c,v 1.14 2003/08/21 12:44:06 ohara Exp $ */ /* This module includes functions for sending/receiveng CMO's. @@ -274,6 +274,26 @@ cmo_distributed_polynomial* new_cmo_distributed_polyno return c; } +cmo_polynomial_in_one_variable* new_cmo_polynomial_in_one_variable(int var) +{ + cmo_polynomial_in_one_variable* c = MALLOC(sizeof(cmo_polynomial_in_one_variable)); + c->tag = CMO_POLYNOMIAL_IN_ONE_VARIABLE; + c->length = 0; + c->head->next = c->head; + c->head->prev = c->head; + c->var = var; + return c; +} + +cmo_recursive_polynomial* new_cmo_recursive_polynomial(cmo_list* ringdef, cmo* coef) +{ + cmo_recursive_polynomial* c = MALLOC(sizeof(cmo_recursive_polynomial)); + c->tag = CMO_RECURSIVE_POLYNOMIAL; + c->ringdef = ringdef; + c->coef = coef; + return c; +} + cmo_error2* new_cmo_error2(cmo* ob) { cmo_error2* c = MALLOC(sizeof(cmo_error2)); @@ -358,7 +378,7 @@ char *new_string_set_cmo(cmo *m) case CMO_LIST: return new_string_set_cmo_list((cmo_list *)m); case CMO_64BIT_MACHINE_DOUBLE: - return new_string_set_cmo_int32(m); + return new_string_set_cmo_double((cmo_double *)m); default: ox_printf("unconvertible <%s>\n", get_symbol_by_tag(m->tag)); /* yet not implemented. */