Algorithm-QuadTree-XS

 view release on metacpan or  search on metacpan

ppport.h  view on Meta::CPAN

KEY_keys|5.003007||Viu
KEY_kill|5.003007||Viu
KEY_last|5.003007||Viu
KEY_lc|5.003007||Viu
KEY_lcfirst|5.003007||Viu
KEY_le|5.003007||Viu
KEY_length|5.003007||Viu
KEY___LINE|5.003007||Viu
KEY_link|5.003007||Viu
KEY_listen|5.003007||Viu
KEY_local|5.003007||Viu
KEY_localtime|5.003007||Viu
KEY_lock|5.005000||Viu
KEY_log|5.003007||Viu
KEY_lstat|5.003007||Viu
KEY_lt|5.003007||Viu
KEY_m|5.003007||Viu
KEY_map|5.003007||Viu
KEY_mkdir|5.003007||Viu
KEY_msgctl|5.003007||Viu
KEY_msgget|5.003007||Viu
KEY_msgrcv|5.003007||Viu
KEY_msgsnd|5.003007||Viu
KEY_my|5.003007||Viu
KEY_ne|5.003007||Viu
KEY_next|5.003007||Viu
KEY_no|5.003007||Viu
KEY_not|5.003007||Viu
KEY_NULL|5.003007||Viu
KEY_oct|5.003007||Viu
KEY_open|5.003007||Viu
KEY_opendir|5.003007||Viu
KEY_or|5.003007||Viu
KEY_ord|5.003007||Viu
KEY_our|5.006000||Viu
KEY_pack|5.003007||Viu
KEY_package|5.003007||Viu
KEY___PACKAGE|5.004000||Viu
KEY_pipe|5.003007||Viu
KEY_pop|5.003007||Viu
KEY_pos|5.003007||Viu
KEY_print|5.003007||Viu
KEY_printf|5.003007||Viu
KEY_prototype|5.003007||Viu
KEY_push|5.003007||Viu
KEY_q|5.003007||Viu
KEY_qq|5.003007||Viu
KEY_qr|5.005000||Viu
KEY_quotemeta|5.003007||Viu
KEY_qw|5.003007||Viu
KEY_qx|5.003007||Viu
KEY_rand|5.003007||Viu
KEY_read|5.003007||Viu
KEY_readdir|5.003007||Viu
KEY_readline|5.003007||Viu
KEY_readlink|5.003007||Viu
KEY_readpipe|5.003007||Viu
KEY_recv|5.003007||Viu
KEY_redo|5.003007||Viu
KEY_ref|5.003007||Viu
KEY_rename|5.003007||Viu
KEY_require|5.003007||Viu
KEY_reset|5.003007||Viu
KEY_return|5.003007||Viu
KEY_reverse|5.003007||Viu
KEY_rewinddir|5.003007||Viu
KEY_rindex|5.003007||Viu
KEY_rmdir|5.003007||Viu
KEY_s|5.003007||Viu
KEY_say|5.009003||Viu
KEY_scalar|5.003007||Viu
KEY_seek|5.003007||Viu
KEY_seekdir|5.003007||Viu
KEY_select|5.003007||Viu
KEY_semctl|5.003007||Viu
KEY_semget|5.003007||Viu
KEY_semop|5.003007||Viu
KEY_send|5.003007||Viu
KEY_setgrent|5.003007||Viu
KEY_sethostent|5.003007||Viu
KEY_setnetent|5.003007||Viu
KEY_setpgrp|5.003007||Viu
KEY_setpriority|5.003007||Viu
KEY_setprotoent|5.003007||Viu
KEY_setpwent|5.003007||Viu
KEY_setservent|5.003007||Viu
KEY_setsockopt|5.003007||Viu
KEY_shift|5.003007||Viu
KEY_shmctl|5.003007||Viu
KEY_shmget|5.003007||Viu
KEY_shmread|5.003007||Viu
KEY_shmwrite|5.003007||Viu
KEY_shutdown|5.003007||Viu
KEY_sigvar|5.025004||Viu
KEY_sin|5.003007||Viu
KEY_sleep|5.003007||Viu
KEY_socket|5.003007||Viu
KEY_socketpair|5.003007||Viu
KEY_sort|5.003007||Viu
KEY_splice|5.003007||Viu
KEY_split|5.003007||Viu
KEY_sprintf|5.003007||Viu
KEY_sqrt|5.003007||Viu
KEY_srand|5.003007||Viu
KEY_stat|5.003007||Viu
KEY_state|5.009004||Viu
KEY_study|5.003007||Viu
KEY_sub|5.003007||Viu
KEY___SUB|5.015006||Viu
KEY_substr|5.003007||Viu
KEY_symlink|5.003007||Viu
KEY_syscall|5.003007||Viu
KEY_sysopen|5.003007||Viu
KEY_sysread|5.003007||Viu
KEY_sysseek|5.004000||Viu
KEY_system|5.003007||Viu
KEY_syswrite|5.003007||Viu
KEY_tell|5.003007||Viu
KEY_telldir|5.003007||Viu
KEY_tie|5.003007||Viu
KEY_tied|5.003007||Viu

ppport.h  view on Meta::CPAN

mg_magical|5.003007|5.003007|n
MgPV|5.003007||Viu
MgPV_const|5.009003||Viu
MgPV_nolen_const|5.009003||Viu
mg_set|5.003007|5.003007|
mg_size|5.005000|5.005000|u
MgSV|5.033009||Viu
MgTAINTEDDIR|5.003007||Viu
MgTAINTEDDIR_off|5.004000||Viu
MgTAINTEDDIR_on|5.003007||Viu
MICRO_SIGN|5.011002||Viu
MICRO_SIGN_NATIVE|5.017004||Viu
MICRO_SIGN_UTF8|5.033003||Viu
MIN|5.025006||Viu
mini_mktime|5.007002|5.007002|n
MINMOD|5.003007||Viu
MINMOD_t8|5.035004||Viu
MINMOD_t8_p8|5.033003||Viu
MINMOD_t8_pb|5.033003||Viu
MINMOD_tb|5.035004||Viu
MINMOD_tb_p8|5.033003||Viu
MINMOD_tb_pb|5.033003||Viu
minus_v|5.015006||Viu
missingterm|5.005000||Viu
Mkdir|5.004000||Viu
mkdir|5.005000||Viu
mktemp|5.005000||Viu
Mmap_t|5.006000|5.006000|Vn
mode_from_discipline|5.006000||Viu
Mode_t|5.003007|5.003007|Vn
modkids|5.003007||Viu
MON_10|5.027010||Viu
MON_11|5.027010||Viu
MON_12|5.027010||Viu
MON_1|5.027010||Viu
MON_2|5.027010||Viu
MON_3|5.027010||Viu
MON_4|5.027010||Viu
MON_5|5.027010||Viu
MON_6|5.027010||Viu
MON_7|5.027010||Viu
MON_8|5.027010||Viu
MON_9|5.027010||Viu
more_bodies|||cu
more_sv|5.009004||cVu
moreswitches|5.003007||cVu
mortal_getenv|5.031011||cVnu
Move|5.003007|5.003007|
MoveD|5.009002|5.003007|p
move_proto_attr|5.019005||Viu
M_PAT_MODS|5.009005||Viu
MPH_BUCKETS|5.027011||Viu
MPH_RSHIFT|5.027011||Viu
MPH_VALt|5.027011||Viu
mPUSHi|5.009002|5.003007|p
mPUSHn|5.009002|5.003007|p
mPUSHp|5.009002|5.003007|p
mPUSHs|5.010001|5.003007|p
mPUSHu|5.009002|5.003007|p
mro_clean_isarev|5.013007||Viu
mro_gather_and_rename|5.013007||Viu
mro_get_from_name|||u
mro_get_linear_isa|5.009005|5.009005|
mro_get_linear_isa_c3|||i
mro_get_linear_isa_dfs|5.009005||Vi
MRO_GET_PRIVATE_DATA|5.010001|5.010001|
mro_get_private_data|||cu
mro_isa_changed_in|5.009005||Vi
mro_meta_dup|5.009005||Viu
mro_meta_init|||ciu
mro_method_changed_in|5.009005|5.009005|
mro_package_moved|5.013006||Vi
mro_register|||
mro_set_mro|||u
mro_set_private_data|||
msbit_pos32|5.035003||cVnu
msbit_pos|5.035004||Viu
msbit_pos64|5.035003||cVnu
msbit_pos_uintmax|5.035003||Viu
MSPAGAIN|5.003007||Viu
MSVC_DIAG_IGNORE|5.029010||Viu
MSVC_DIAG_IGNORE_DECL|5.029010||Viu
MSVC_DIAG_IGNORE_STMT|5.029010||Viu
MSVC_DIAG_RESTORE|5.029010||Viu
MSVC_DIAG_RESTORE_DECL|5.029010||Viu
MSVC_DIAG_RESTORE_STMT|5.029010||Viu
mul128|5.005000||Viu
MULTICALL|5.009003|5.009003|
multiconcat_stringify|5.027006||cViu
multideref_stringify|5.021009||cViu
MULTILINE_PAT_MOD|5.009005||Viu
MULTIPLICITY|5.006000|5.006000|Vn
MUTABLE_AV|5.010001|5.003007|p
MUTABLE_CV|5.010001|5.003007|p
MUTABLE_GV|5.010001|5.003007|p
MUTABLE_HV|5.010001|5.003007|p
MUTABLE_IO|5.010001|5.003007|p
MUTABLE_PTR|5.010001|5.003007|p
MUTABLE_SV|5.010001|5.003007|p
MUTEX_DESTROY|5.005000||Viu
MUTEX_INIT|5.005000||Viu
MUTEX_INIT_NEEDS_MUTEX_ZEROED|5.005003||Viu
MUTEX_LOCK|5.005000||Viu
MUTEX_UNLOCK|5.005000||Viu
mXPUSHi|5.009002|5.003007|p
mXPUSHn|5.009002|5.003007|p
mXPUSHp|5.009002|5.003007|p
mXPUSHs|5.010001|5.003007|p
mXPUSHu|5.009002|5.003007|p
my|5.011000||Viu
my_atof2|5.029000||cVu
my_atof3|5.029000||cVu
my_atof|5.006000|5.006000|
my_attrs|5.006000||Viu
my_binmode|5.006000||Viu
my_bytes_to_utf8|5.021009||Vniu
my_chsize|5.003007||Vu
my_clearenv|5.009003||Viu
MY_CXT|5.009000|5.009000|p
MY_CXT_CLONE|5.009002|5.009000|p
MY_CXT_INDEX|5.009005||Viu

ppport.h  view on Meta::CPAN

PerlIO_read|5.007003|5.007003|
PerlIO_releaseFILE|5.003007|5.003007|n
PerlIO_reopen|5.003007|5.003007|n
PerlIO_restore_errno|5.021006||cViu
PerlIO_rewind|5.003007|5.003007|n
PerlIO_save_errno|5.021006||cViu
PerlIO_seek|5.007003|5.007003|
PerlIOSelf|5.007001||Viu
PerlIO_set_cnt|5.007003|5.007003|
PerlIO_setlinebuf|5.007003|5.007003|
PerlIO_setpos|5.003007|5.003007|n
PerlIO_set_ptrcnt|5.007003|5.007003|
PerlIO_stderr|5.007003|5.007003|
PerlIO_stdin|5.007003|5.007003|
PerlIO_stdout|5.007003|5.007003|
PerlIO_stdoutf|5.006000|5.003007|
PERLIO_STDTEXT|5.007001||Viu
PerlIO_tell|5.007003|5.007003|
PERLIO_TERM|5.009005||Viu
PerlIO_ungetc|5.003007|5.003007|n
PerlIO_unread|5.007003|5.007003|u
PERLIO_USING_CRLF|5.007003||Viu
PerlIOValid|5.007003||Viu
PerlIO_vprintf|5.003007|5.003007|n
PerlIO_write|5.007003|5.007003|
Perl_isfinite|5.007003|5.007003|n
Perl_isfinitel|5.021004||Viu
PERL_IS_GCC|5.032001||Viu
Perl_isinf|5.007003|5.007003|n
Perl_isnan|5.006001|5.006001|n
PERL_IS_SUBWORD_ADDR|5.027007||Viu
PERL_IS_UTF8_CHAR_DFA|5.035004||Viu
PERL_JNP_TO_DECIMAL|5.033001||Viu
Perl_langinfo|5.027004|5.027004|n
PERL_LANGINFO_H|5.027004||Viu
PERL_LAST_5_18_0_INTERP_MEMBER|5.017009||Viu
Perl_ldexp|5.021003|5.021003|n
PerlLIO_access|5.005000||Viu
PerlLIO_chmod|5.005000||Viu
PerlLIO_chown|5.005000||Viu
PerlLIO_chsize|5.005000||Viu
PerlLIO_close|5.005000||Viu
PerlLIO_dup2|5.005000||Viu
PerlLIO_dup2_cloexec|5.027008||Viu
PerlLIO_dup|5.005000||Viu
PerlLIO_dup_cloexec|5.027008||Viu
PerlLIO_flock|5.005000||Viu
PerlLIO_fstat|5.005000||Viu
PerlLIO_ioctl|5.005000||Viu
PerlLIO_isatty|5.005000||Viu
PerlLIO_link|5.006000||Viu
PerlLIO_lseek|5.005000||Viu
PerlLIO_lstat|5.005000||Viu
PerlLIO_mktemp|5.005000||Viu
PerlLIO_open3|5.005000||Viu
PerlLIO_open3_cloexec|5.027008||Viu
PerlLIO_open|5.005000||Viu
PerlLIO_open_cloexec|5.027008||Viu
PerlLIO_read|5.005000||Viu
PerlLIO_readlink|5.033005||Viu
PerlLIO_rename|5.005000||Viu
PerlLIO_setmode|5.005000||Viu
PerlLIO_stat|5.005000||Viu
PerlLIO_symlink|5.033005||Viu
PerlLIO_tmpnam|5.005000||Viu
PerlLIO_umask|5.005000||Viu
PerlLIO_unlink|5.005000||Viu
PerlLIO_utime|5.005000||Viu
PerlLIO_write|5.005000||Viu
PERL_LOADMOD_DENY|5.006000|5.003007|
PERL_LOADMOD_IMPORT_OPS|5.006000|5.003007|
PERL_LOADMOD_NOIMPORT|5.006000|5.003007|
Perl_log10|5.021004|5.021004|n
Perl_log|5.006000|5.006000|n
PERL_LONG_MAX|5.003007|5.003007|p
PERL_LONG_MIN|5.003007|5.003007|p
PERL_MAGIC_arylen|5.007002|5.003007|p
PERL_MAGIC_arylen_p|5.009003|5.009003|
PERL_MAGIC_backref|5.007002|5.003007|p
PERL_MAGIC_bm|5.007002|5.003007|p
PERL_MAGIC_checkcall|5.013006|5.013006|
PERL_MAGIC_collxfrm|5.007002|5.003007|p
PERL_MAGIC_dbfile|5.007002|5.003007|p
PERL_MAGIC_dbline|5.007002|5.003007|p
PERL_MAGIC_debugvar|5.021005|5.021005|
PERL_MAGIC_defelem|5.007002|5.003007|p
PERL_MAGIC_env|5.007002|5.003007|p
PERL_MAGIC_envelem|5.007002|5.003007|p
PERL_MAGIC_ext|5.007002|5.003007|p
PERL_MAGIC_fm|5.007002|5.003007|p
PERL_MAGIC_glob||5.003007|ponu
PERL_MAGIC_hints|5.009004|5.009004|
PERL_MAGIC_hintselem|5.009004|5.009004|
PERL_MAGIC_isa|5.007002|5.003007|p
PERL_MAGIC_isaelem|5.007002|5.003007|p
PERL_MAGIC_lvref|5.021005|5.021005|
PERL_MAGIC_mutex||5.003007|ponu
PERL_MAGIC_nkeys|5.007002|5.003007|p
PERL_MAGIC_nonelem|5.027009|5.027009|
PERL_MAGIC_overload||5.003007|ponu
PERL_MAGIC_overload_elem||5.003007|ponu
PERL_MAGIC_overload_table|5.007002|5.003007|p
PERL_MAGIC_pos|5.007002|5.003007|p
PERL_MAGIC_qr|5.007002|5.003007|p
PERL_MAGIC_READONLY_ACCEPTABLE|5.015000||Viu
PERL_MAGIC_regdata|5.007002|5.003007|p
PERL_MAGIC_regdatum|5.007002|5.003007|p
PERL_MAGIC_regex_global|5.007002|5.003007|p
PERL_MAGIC_rhash|5.009003|5.009003|
PERL_MAGIC_shared|5.007003|5.003007|p
PERL_MAGIC_shared_scalar|5.007003|5.003007|p
PERL_MAGIC_sig|5.007002|5.003007|p
PERL_MAGIC_sigelem|5.007002|5.003007|p
PERL_MAGIC_substr|5.007002|5.003007|p
PERL_MAGIC_sv|5.007002|5.003007|p
PERL_MAGIC_symtab|5.009003|5.009003|
PERL_MAGIC_taint|5.007002|5.003007|p
PERL_MAGIC_tied|5.007002|5.003007|p
PERL_MAGIC_tiedelem|5.007002|5.003007|p
PERL_MAGIC_tiedscalar|5.007002|5.003007|p
PERL_MAGIC_TYPE_IS_VALUE_MAGIC|5.015000||Viu

ppport.h  view on Meta::CPAN

REG_EXTFLAGS_NAME_SIZE|5.020000||Viu
regfree_internal|5.009005||cVu
REG_GPOS_SEEN|5.019009||Viu
reghop3|5.007001||Vniu
reghop4|5.009005||Vniu
reghopmaybe3|5.007001||Vniu
reginclass|5.005000||Viu
REG_INFTY|5.004005||Viu
reginitcolors|5.006000||cVu
reginsert|5.005000||Viu
REG_INTFLAGS_NAME_SIZE|5.020000||Viu
register|5.003007||Viu
reg_la_NOTHING|||Viu
reg_la_OPFAIL|||Viu
REG_LB_SEEN|||Viu
REG_LOOKBEHIND_SEEN|5.019009||Viu
REG_MAGIC|5.006000||Viu
regmatch|5.005000||Viu
REGMATCH_STATE_MAX|5.009005||Viu
reg_named_buff|5.009005||cViu
reg_named_buff_all|5.009005||cVu
reg_named_buff_exists|5.009005||cVu
reg_named_buff_fetch|5.009005||cVu
reg_named_buff_firstkey|5.009005||cVu
reg_named_buff_iter|5.009005||cViu
reg_named_buff_nextkey|5.009005||cVu
reg_named_buff_scalar|5.009005||cVu
regnext|5.003007||cVu
reg_node|5.005000||Viu
REGNODE_AFTER|5.003007||Viu
REGNODE_BEFORE|5.003007||Viu
regnode_guts|5.021005||Viu
regnode_guts_debug|||Viu
REGNODE_MAX|5.009004||Viu
REGNODE_SIMPLE|5.013002||Viu
REGNODE_VARIES|5.013002||Viu
reg_numbered_buff_fetch|5.009005||cViu
reg_numbered_buff_length|5.009005||cViu
reg_numbered_buff_store|5.009005||cViu
regpiece|5.005000||Viu
regpnode|5.031010||Viu
regprop|5.003007||Viu
reg_qr_package|5.009005||cViu
REG_RECURSE_SEEN|5.019009||Viu
regrepeat|5.005000||Viu
REG_RUN_ON_COMMENT_SEEN|5.019009||Viu
reg_scan_name|5.009005||Viu
reg_skipcomment|5.009005||Vniu
regtail|5.005000||Viu
regtail_study|5.009004||Viu
reg_temp_copy|5.009005||cViu
REG_TOP_LEVEL_BRANCHES_SEEN|5.019009||Viu
regtry|5.005000||Viu
REG_UNBOUNDED_QUANTIFIER_SEEN|5.019009||Viu
REG_UNFOLDED_MULTI_SEEN|5.019009||Viu
REG_VERBARG_SEEN|5.019009||Viu
REG_ZERO_LEN_SEEN|5.019009||Viu
re_indentf|5.023009||vViu
re_intuit_start|5.006000||cVu
re_intuit_string|5.006000||cVu
rename|5.005000||Viu
Renew|5.003007|5.003007|
Renewc|5.003007|5.003007|
RENUM|5.005000||Viu
RENUM_t8|5.035004||Viu
RENUM_t8_p8|5.033003||Viu
RENUM_t8_pb|5.033003||Viu
RENUM_tb|5.035004||Viu
RENUM_tb_p8|5.033003||Viu
RENUM_tb_pb|5.033003||Viu
re_op_compile|5.017001||Viu
repeatcpy|5.003007|5.003007|nu
REPLACEMENT_CHARACTER_UTF8|5.025005|5.003007|p
report_evil_fh|5.006001||Viu
report_redefined_cv|5.015006||Viu
report_uninit|5.006000||cVi
report_wrongway_fh|5.013009||Viu
re_printf|5.023009||vViu
RE_PV_COLOR_DECL|5.009004||Viu
RE_PV_QUOTED_DECL|5.009004||Viu
require_pv|5.006000|5.006000|
require_tie_mod|5.009005||Viu
ReREFCNT_dec|5.005000||Viu
ReREFCNT_inc|5.005000||Viu
RESTORE_ERRNO|5.010001||Vi
RESTORE_LC_NUMERIC|5.021010|5.021010|p
restore_magic|5.009003||Viu
restore_switched_locale|5.027009||Viu
RE_SV_DUMPLEN|5.009004||Viu
RE_SV_ESCAPE|5.009004||Viu
RE_SV_TAIL|5.009004||Viu
RETPUSHNO|5.003007||Viu
RETPUSHUNDEF|5.003007||Viu
RETPUSHYES|5.003007||Viu
RE_TRIE_MAXBUF_INIT|5.009002||Viu
RE_TRIE_MAXBUF_NAME|5.009002||Viu
RETSETNO|5.003007||Viu
RETSETTARG|5.021009||Viu
RETSETUNDEF|5.003007||Viu
RETSETYES|5.003007||Viu
RETURN|5.003007||Viu
RETURNOP|5.003007||Viu
RETURNX|5.003007||Viu
RETVAL|5.003007|5.003007|V
rewind|5.003007||Viu
rewinddir|5.005000||Viu
REXEC_CHECKED|5.005000||Viu
REXEC_COPY_SKIP_POST|5.017004||Viu
REXEC_COPY_SKIP_PRE|5.017004||Viu
REXEC_COPY_STR|5.005000||Viu
REXEC_FAIL_ON_UNDERFLOW|5.019003||Viu
REXEC_IGNOREPOS|5.006000||Viu
REXEC_NOT_FIRST|5.006000||Viu
REXEC_SCREAM|5.006000||Viu
rmdir|5.005000||Viu
RMS_DIR|5.008001||Viu
RMS_FAC|5.008001||Viu
RMS_FEX|5.008001||Viu
RMS_FNF|5.008001||Viu
RMS_IFI|5.008001||Viu
RMS_ISI|5.008001||Viu

ppport.h  view on Meta::CPAN

    s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
    s++; if (s == send || (*s != 'F' && *s != 'f')) return 0;
    s++; if (s < send && (*s == 'I' || *s == 'i')) {
      s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
      s++; if (s == send || (*s != 'I' && *s != 'i')) return 0;
      s++; if (s == send || (*s != 'T' && *s != 't')) return 0;
      s++; if (s == send || (*s != 'Y' && *s != 'y')) return 0;
      s++;
    }
    sawinf = 1;
  } else if (*s == 'N' || *s == 'n') {
    /* XXX TODO: There are signaling NaNs and quiet NaNs. */
    s++; if (s == send || (*s != 'A' && *s != 'a')) return 0;
    s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
    s++;
    sawnan = 1;
  } else
    return 0;

  if (sawinf) {
    numtype &= IS_NUMBER_NEG; /* Keep track of sign  */
    numtype |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT;
  } else if (sawnan) {
    numtype &= IS_NUMBER_NEG; /* Keep track of sign  */
    numtype |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT;
  } else if (s < send) {
    /* we can have an optional exponent part */
    if (*s == 'e' || *s == 'E') {
      /* The only flag we keep is sign.  Blow away any "it's UV"  */
      numtype &= IS_NUMBER_NEG;
      numtype |= IS_NUMBER_NOT_INT;
      s++;
      if (s < send && (*s == '-' || *s == '+'))
        s++;
      if (s < send && isDIGIT(*s)) {
        do {
          s++;
        } while (s < send && isDIGIT(*s));
      }
      else
      return 0;
    }
  }
  while (s < send && isSPACE(*s))
    s++;
  if (s >= send)
    return numtype;
  if (len == 10 && memEQ(pv, "0 but true", 10)) {
    if (valuep)
      *valuep = 0;
    return IS_NUMBER_IN_UV;
  }
  return 0;
}
#endif
#endif

/*
 * The grok_* routines have been modified to use warn() instead of
 * Perl_warner(). Also, 'hexdigit' was the former name of PL_hexdigit,
 * which is why the stack variable has been renamed to 'xdigit'.
 */

#ifndef grok_bin
#if defined(NEED_grok_bin)
static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
static
#else
extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif

#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)

#ifdef grok_bin
#  undef grok_bin
#endif
#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d)
#define Perl_grok_bin DPPP_(my_grok_bin)

UV
DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
    const char *s = start;
    STRLEN len = *len_p;
    UV value = 0;
    NV value_nv = 0;

    const UV max_div_2 = UV_MAX / 2;
    bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
    bool overflowed = FALSE;

    if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
        /* strip off leading b or 0b.
           for compatibility silently suffer "b" and "0b" as valid binary
           numbers. */
        if (len >= 1) {
            if (s[0] == 'b') {
                s++;
                len--;
            }
            else if (len >= 2 && s[0] == '0' && s[1] == 'b') {
                s+=2;
                len-=2;
            }
        }
    }

    for (; len-- && *s; s++) {
        char bit = *s;
        if (bit == '0' || bit == '1') {
            /* Write it in this wonky order with a goto to attempt to get the
               compiler to make the common case integer-only loop pretty tight.
               With gcc seems to be much straighter code than old scan_bin.  */
          redo:
            if (!overflowed) {
                if (value <= max_div_2) {
                    value = (value << 1) | (bit - '0');
                    continue;
                }
                /* Bah. We're just overflowed.  */
                warn("Integer overflow in binary number");



( run in 0.510 second using v1.01-cache-2.11-cpan-39bf76dae61 )