pike.git / src / bignum.c

version» Context lines:

pike.git/src/bignum.c:1:   #include "global.h"      #ifdef AUTO_BIGNUM      #include "interpret.h"   #include "program.h"   #include "object.h"   #include "svalue.h" - #include "error.h" + #include "pike_error.h"      struct svalue auto_bignum_program = { T_INT };      PMOD_EXPORT int gmp_library_loaded=0;   int gmp_library_resolving=0;      static void resolve_auto_bignum_program(void)   {    if(auto_bignum_program.type == T_INT)    {    if(gmp_library_resolving)    fatal("Recursive GMP resolving!\n");       gmp_library_resolving=1;    push_text("Gmp.bignum");    SAFE_APPLY_MASTER("resolv", 1);       if(sp[-1].type != T_FUNCTION) -  error("Failed to resolv Gmp.mpz!\n"); +  Pike_error("Failed to resolv Gmp.mpz!\n");       auto_bignum_program=sp[-1];    sp--;    dmalloc_touch_svalue(sp);    gmp_library_resolving=0;    }   }      PMOD_EXPORT struct program *get_auto_bignum_program(void)   {
pike.git/src/bignum.c:54:    free_svalue(&auto_bignum_program);    auto_bignum_program.type=T_INT;   }      PMOD_EXPORT void convert_stack_top_to_bignum(void)   {    resolve_auto_bignum_program();    apply_svalue(&auto_bignum_program, 1);       if(sp[-1].type != T_OBJECT) -  error("Gmp.mpz conversion failed.\n"); +  Pike_error("Gmp.mpz conversion failed.\n");   }      PMOD_EXPORT void convert_stack_top_with_base_to_bignum(void)   {    resolve_auto_bignum_program();    apply_svalue(&auto_bignum_program, 2);       if(sp[-1].type != T_OBJECT) -  error("Gmp.mpz conversion failed.\n"); +  Pike_error("Gmp.mpz conversion failed.\n");   }      int is_bignum_object(struct object *o)   {    /* Note:    * This function should *NOT* try to resolv Gmp.mpz unless    * it is already loaded into memory.    * /Hubbe    */   
pike.git/src/bignum.c:107:    convert_stack_top_to_bignum();    return (--sp)->u.object;   }      PMOD_EXPORT struct pike_string *string_from_bignum(struct object *o, int base)   {    push_int(base);    safe_apply(o, "digits", 1);       if(sp[-1].type != T_STRING) -  error("Gmp.mpz string conversion failed.\n"); +  Pike_error("Gmp.mpz string conversion failed.\n");       return (--sp)->u.string;   }      PMOD_EXPORT void convert_svalue_to_bignum(struct svalue *s)   {    push_svalue(s);    convert_stack_top_to_bignum();    free_svalue(s);    *s=sp[-1];
pike.git/src/bignum.c:183:      PMOD_EXPORT int int64_from_bignum(INT64 *i, struct object *bignum)   {    int neg, pos, rshfun, andfun;       *i = 0;       push_int(0);    apply_low(bignum, FIND_LFUN(bignum->prog, LFUN_LT), 1);    if(sp[-1].type != T_INT) -  error("Result from Gmp.bignum->`< not an integer.\n"); +  Pike_error("Result from Gmp.bignum->`< not an integer.\n");    neg = (--sp)->u.integer;       if(neg)    apply_low(bignum, FIND_LFUN(bignum->prog, LFUN_COMPL), 0);       rshfun = FIND_LFUN(bignum->prog, LFUN_RSH);    andfun = FIND_LFUN(bignum->prog, LFUN_AND);       ref_push_object(bignum);       for(pos = 0; sp[-1].type != T_INT; )    {    push_int(BIGNUM_INT64_MASK);    apply_low(sp[-2].u.object, andfun, 1);    if(sp[-1].type != T_INT) -  error("Result from Gmp.bignum->`& not an integer.\n"); +  Pike_error("Result from Gmp.bignum->`& not an integer.\n");    *i |= (INT64)(--sp)->u.integer << (INT64)pos;    pos += BIGNUM_INT64_SHIFT;       push_int(BIGNUM_INT64_SHIFT);    apply_low(sp[-2].u.object, rshfun, 1);    stack_swap();    pop_stack();    }       *i |= (INT64)(--sp)->u.integer << (INT64)pos;       if(neg)    *i = ~*i;       return 1; /* We may someday return 0 if the conversion fails. */   }   #endif /* INT64 */      #endif /* AUTO_BIGNUM */