| version 1.10, 2015/09/14 07:56:20 |
version 1.11, 2020/10/06 11:33:47 |
|
|
| /*$OpenXM: OpenXM/src/kan96xx/plugin/cmo-gmp.c,v 1.9 2005/07/03 11:08:54 ohara Exp $ */ |
/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo-gmp.c,v 1.10 2015/09/14 07:56:20 takayama Exp $ */ |
| #include <stdio.h> |
#include <stdio.h> |
| #include <stdlib.h> |
#include <stdlib.h> |
| #include <string.h> |
#include <string.h> |
| /* #include <netinet/in.h> */ |
/* #include <netinet/in.h> */ |
| #include <limits.h> |
#include <limits.h> |
| |
#include <arpa/inet.h> |
| #include "datatype.h" |
#include "datatype.h" |
| #include "stackm.h" |
#include "stackm.h" |
| #include "extern.h" |
#include "extern.h" |
|
|
| extern int OxVersion; |
extern int OxVersion; |
| size_t cmoOutGMPCoeff_old(mpz_srcptr x); |
size_t cmoOutGMPCoeff_old(mpz_srcptr x); |
| size_t cmoOutGMPCoeff_new(mpz_srcptr x); |
size_t cmoOutGMPCoeff_new(mpz_srcptr x); |
| size_t |
size_t cmoGetGMPCoeff_old(MP_INT *x, struct cmoBuffer *cb); |
| cmoOutGMPCoeff(mpz_srcptr x) { |
size_t cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb); |
| |
|
| |
size_t cmoOutGMPCoeff(mpz_srcptr x) { |
| if (OxVersion >= 199907170) |
if (OxVersion >= 199907170) |
| return(cmoOutGMPCoeff_new(x)); |
return(cmoOutGMPCoeff_new(x)); |
| else |
else |
| return(cmoOutGMPCoeff_old(x)); |
return(cmoOutGMPCoeff_old(x)); |
| } |
} |
| |
|
| cmoGetGMPCoeff(MP_INT *x, struct cmoBuffer *cb) { |
size_t cmoGetGMPCoeff(MP_INT *x, struct cmoBuffer *cb) { |
| if (OxVersion >= 199907170) |
if (OxVersion >= 199907170) |
| return(cmoGetGMPCoeff_new(x,cb)); |
return(cmoGetGMPCoeff_new(x,cb)); |
| else |
else |
| Line 71 static int myfputc(int i) { |
|
| Line 74 static int myfputc(int i) { |
|
| tmp[0] = i; |
tmp[0] = i; |
| cmoOutputToBuf(CMOPUT,tmp,1); |
cmoOutputToBuf(CMOPUT,tmp,1); |
| } |
} |
| static outRawInt32(int k) |
static void outRawInt32(int k) |
| { |
{ |
| int tmp[1]; |
int tmp[1]; |
| tmp[0] = htonl((int) k); |
tmp[0] = htonl((int) k); |
| cmoOutputToBuf(CMOPUT,tmp,4); |
cmoOutputToBuf(CMOPUT,tmp,4); |
| } |
} |
| |
|
| size_t |
size_t cmoOutGMPCoeff_old(mpz_srcptr x) |
| cmoOutGMPCoeff_old(mpz_srcptr x) |
|
| { |
{ |
| fprintf(stderr,"cmoOutGMPCoeff_old is no longer supported.\n"); |
fprintf(stderr,"cmoOutGMPCoeff_old is no longer supported.\n"); |
| exit(10); |
exit(10); |
| |
return 0; |
| } |
} |
| |
|
| |
|
| Line 148 static int getRawInt32(struct cmoBuffer *cb) |
|
| Line 151 static int getRawInt32(struct cmoBuffer *cb) |
|
| } |
} |
| #endif |
#endif |
| |
|
| cmoGetGMPCoeff_old(MP_INT *x, struct cmoBuffer *cb) |
size_t cmoGetGMPCoeff_old(MP_INT *x, struct cmoBuffer *cb) |
| { |
{ |
| fprintf(stderr,"cmoGetGMPCoeff_old is no longer supported.\n"); |
fprintf(stderr,"cmoGetGMPCoeff_old is no longer supported.\n"); |
| exit(10); |
exit(10); |
| |
return 0; |
| } |
} |
| |
|
| /*****************************************************/ |
/*****************************************************/ |
| /***** new version for CMO_ZZ *********************/ |
/***** new version for CMO_ZZ *********************/ |
| /*****************************************************/ |
/*****************************************************/ |
| #if BYTES_PER_MP_LIMB == 8 |
#if BYTES_PER_MP_LIMB == 8 |
| size_t |
size_t cmoOutGMPCoeff_new(mpz_srcptr x) |
| cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| { |
{ |
| int i; |
int i; |
| mp_size_t s; |
mp_size_t s; |
| Line 209 cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| Line 212 cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| return ( ABS (xsize) ); |
return ( ABS (xsize) ); |
| } |
} |
| |
|
| cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
size_t cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
| { |
{ |
| int i; |
int i; |
| mp_size_t s; |
mp_size_t s; |
| Line 259 cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
|
| Line 262 cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
|
| return( xsize0 ); |
return( xsize0 ); |
| } |
} |
| #elif BYTES_PER_MP_LIMB == 4 |
#elif BYTES_PER_MP_LIMB == 4 |
| size_t |
size_t cmoOutGMPCoeff_new(mpz_srcptr x) |
| cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| { |
{ |
| int i; |
int i; |
| mp_size_t s; |
mp_size_t s; |
| Line 307 cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| Line 309 cmoOutGMPCoeff_new(mpz_srcptr x) |
|
| return ( ABS (xsize) ); |
return ( ABS (xsize) ); |
| } |
} |
| |
|
| cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
size_t cmoGetGMPCoeff_new(MP_INT *x, struct cmoBuffer *cb) |
| { |
{ |
| int i; |
int i; |
| mp_size_t s; |
mp_size_t s; |