| version 1.26, 2016/06/29 05:07:23 |
version 1.29, 2018/04/05 05:30:20 |
|
|
| /* -*- mode: C; coding: euc-japan -*- */ |
/* -*- mode: C; coding: euc-japan -*- */ |
| /* $OpenXM: OpenXM/src/ox_toolkit/cmo.c,v 1.25 2015/08/18 02:24:04 noro Exp $ */ |
/* $OpenXM: OpenXM/src/ox_toolkit/cmo.c,v 1.28 2018/04/03 09:58:30 ohara Exp $ */ |
| |
|
| /* |
/* |
| This module includes functions for sending/receiveng CMO's. |
This module includes functions for sending/receiveng CMO's. |
| Some commnets is written in Japanese by the EUC-JP coded |
|
| character set. |
|
| */ |
*/ |
| |
|
| #include <stdio.h> |
#include <stdio.h> |
| Line 111 cmo *list_nth(cmo_list* this, int n) |
|
| Line 109 cmo *list_nth(cmo_list* this, int n) |
|
| return NULL; |
return NULL; |
| } |
} |
| |
|
| |
cell *list_nth_cell(cmo_list* this, int n) |
| |
{ |
| |
cell* el; |
| |
if(list_length(this) > n) { |
| |
el = list_first(this); |
| |
while(n-- > 0) { |
| |
el = list_next(el); |
| |
} |
| |
return el; |
| |
} |
| |
return NULL; |
| |
} |
| |
|
| |
char *cmo_indeterminate_get_name(cmo_indeterminate *this) |
| |
{ |
| |
cmo_string *ob = (cmo_string *)this->ob; |
| |
return ob->s; |
| |
} |
| |
|
| /* for GNU mpz */ |
/* for GNU mpz */ |
| void resize_mpz(mpz_ptr mpz, int size) |
void resize_mpz(mpz_ptr mpz, int size) |
| { |
{ |
| Line 338 cmo_indeterminate* new_cmo_indeterminate(cmo* ob) |
|
| Line 355 cmo_indeterminate* new_cmo_indeterminate(cmo* ob) |
|
| return c; |
return c; |
| } |
} |
| |
|
| |
cmo_indeterminate* new_cmo_indeterminate_set_name(char *variable) |
| |
{ |
| |
return new_cmo_indeterminate(new_cmo_string(variable)); |
| |
} |
| |
|
| cmo_distributed_polynomial* new_cmo_distributed_polynomial() |
cmo_distributed_polynomial* new_cmo_distributed_polynomial() |
| { |
{ |
| cmo_distributed_polynomial* c = MALLOC(sizeof(cmo_distributed_polynomial)); |
cmo_distributed_polynomial* c = MALLOC(sizeof(cmo_distributed_polynomial)); |
| Line 484 char *new_string_set_cmo(cmo *m) |
|
| Line 506 char *new_string_set_cmo(cmo *m) |
|
| |
|
| int cmo_to_int(cmo *n) |
int cmo_to_int(cmo *n) |
| { |
{ |
| switch(n->tag) { |
switch(n->tag) { |
| case CMO_ZERO: |
case CMO_ZERO: |
| return 0; |
return 0; |
| case CMO_INT32: |
case CMO_INT32: |
| Line 493 int cmo_to_int(cmo *n) |
|
| Line 515 int cmo_to_int(cmo *n) |
|
| return mpz_get_si(((cmo_zz *)n)->mpz); |
return mpz_get_si(((cmo_zz *)n)->mpz); |
| default: |
default: |
| return 0; |
return 0; |
| } |
} |
| } |
} |