version 1.7, 2003/08/26 05:04:41 |
version 1.11, 2020/10/06 11:33:47 |
|
|
/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo-gmp.c,v 1.6 2001/05/04 01:06:29 takayama 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 <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" |
|
|
#include "kclass.h" |
#include "kclass.h" |
|
|
#include "gmp.h" |
#include "gmp.h" |
#include "gmp-impl.h" |
#include "gmp-impl.h" |
|
|
|
|
#include "file2.h" |
#include "file2.h" |
#include "cmo.h" |
#include "cmo.h" |
|
|
|
/* for gmp6.0.0 */ |
|
#ifndef BYTES_PER_MP_LIMB |
|
#define BYTES_PER_MP_LIMB SIZEOF_MP_LIMB_T |
|
#endif |
|
|
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 65 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 142 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 203 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 253 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 301 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; |