File: [local] / OpenXM_contrib / gmp / demos / perl / Attic / typemap (download)
Revision 1.1.1.1 (vendor branch), Mon Aug 25 16:06:05 2003 UTC (21 years ago) by ohara
Branch: GMP
CVS Tags: VERSION_4_1_2, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX Changes since 1.1: +0 -0
lines
Import gmp 4.1.2
|
# GMP module external subroutine type mappings.
# Copyright 2001 Free Software Foundation, Inc.
#
# This file is part of the GNU MP Library.
#
# The GNU MP Library is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or (at
# your option) any later version.
#
# The GNU MP Library is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the GNU MP Library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA.
TYPEMAP
const_string T_PV
const_string_assume CONST_STRING_ASSUME
mpz MPZ
mpq MPQ
mpf MPF
mpz_assume MPZ_ASSUME
mpq_assume MPQ_ASSUME
mpf_assume MPF_ASSUME
mpz_coerce MPZ_COERCE
mpq_coerce MPQ_COERCE
mpf_coerce_st0 MPF_COERCE_ST0
mpf_coerce_def MPF_COERCE_DEF
mpz_mutate MPZ_MUTATE
randstate RANDSTATE
ulong_coerce ULONG_COERCE
malloced_string MALLOCED_STRING
order_noswap ORDER_NOSWAP
dummy DUMMY
INPUT
MPZ
class_or_croak ($arg, mpz_class); $var = SvMPZ($arg);
MPQ
class_or_croak ($arg, mpq_class); $var = SvMPQ($arg);
MPF
class_or_croak ($arg, mpf_class); $var = SvMPF($arg);
MPZ_ASSUME
MPZ_ASSUME ($var, $arg)
MPQ_ASSUME
MPQ_ASSUME ($var, $arg)
MPF_ASSUME
MPF_ASSUME ($var, $arg)
MPZ_COERCE
$var = coerce_mpz (tmp_mpz_${(my $stnum=$arg)=~s/[^0-9]//g;\$stnum}, $arg)
MPQ_COERCE
$var = coerce_mpq (tmp_mpq_${(my $stnum=$arg)=~s/[^0-9]//g;\$stnum}, $arg)
MPF_COERCE_ST0
/* precision follows ST(0) */
assert (sv_derived_from (ST(0), mpf_class));
$var = coerce_mpf (tmp_mpf_${(my $stnum=$arg)=~s/[^0-9]//g;\$stnum},
$arg, mpf_get_prec (SvMPF(ST(0))))
MPF_COERCE_DEF
/* default precision used */
$var = coerce_mpf (tmp_mpf_${(my $stnum=$arg)=~s/[^0-9]//g;\$stnum},
$arg, mpf_get_default_prec())
MPZ_MUTATE
$var = mutate_mpz ($arg)
RANDSTATE
class_or_croak ($arg, rand_class); $var = SvRANDSTATE($arg);
ULONG_COERCE
$var = coerce_ulong ($arg)
ORDER_NOSWAP
assert ($arg != &PL_sv_yes);
DUMMY
/* dummy $var */
CONST_STRING_ASSUME
/* No need to check for SvPOKp and use SvPV, this mapping is
only used for overload_constant, which always gets literal
strings. */
assert (SvPOK ($arg));
$var = SvPVX ($arg);
OUTPUT
MPZ
sv_setref_pv ($arg, mpz_class, $var);
MPQ
sv_setref_pv ($arg, mpq_class, $var);
MPF
sv_setref_pv ($arg, mpf_class, $var);
MPZ_ASSUME
sv_setref_pv ($arg, mpz_class, $var);
MPQ_ASSUME
sv_setref_pv ($arg, mpq_class, $var);
MPF_ASSUME
sv_setref_pv ($arg, mpf_class, $var);
RANDSTATE
sv_setref_pv ($arg, rand_class, $var);
MALLOCED_STRING
sv_usepvn_mg ($arg, $var, strlen($var));