← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:09 2021

Filename/usr/local/lib/perl5/site_perl/mach/5.32/XML/LibXML/Number.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sXML::LibXML::Number::::BEGIN@11XML::LibXML::Number::BEGIN@11
0000s0sXML::LibXML::Number::::BEGIN@12XML::LibXML::Number::BEGIN@12
0000s0sXML::LibXML::Number::::BEGIN@13XML::LibXML::Number::BEGIN@13
0000s0sXML::LibXML::Number::::BEGIN@14XML::LibXML::Number::BEGIN@14
0000s0sXML::LibXML::Number::::BEGIN@16XML::LibXML::Number::BEGIN@16
0000s0sXML::LibXML::Number::::BEGIN@20XML::LibXML::Number::BEGIN@20
0000s0sXML::LibXML::Number::::__ANON__XML::LibXML::Number::__ANON__ (xsub)
0000s0sXML::LibXML::Number::::as_stringXML::LibXML::Number::as_string
0000s0sXML::LibXML::Number::::as_xmlXML::LibXML::Number::as_xml
0000s0sXML::LibXML::Number::::cmpXML::LibXML::Number::cmp
0000s0sXML::LibXML::Number::::evaluateXML::LibXML::Number::evaluate
0000s0sXML::LibXML::Number::::newXML::LibXML::Number::new
0000s0sXML::LibXML::Number::::string_valueXML::LibXML::Number::string_value
0000s0sXML::LibXML::Number::::to_booleanXML::LibXML::Number::to_boolean
0000s0sXML::LibXML::Number::::to_literalXML::LibXML::Number::to_literal
0000s0sXML::LibXML::Number::::to_numberXML::LibXML::Number::to_number
0000s0sXML::LibXML::Number::::valueXML::LibXML::Number::value
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# $Id$
2#
3# This is free software, you may use it and distribute it under the same terms as
4# Perl itself.
5#
6# Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas
7#
8#
9
10package XML::LibXML::Number;
11use XML::LibXML::Boolean;
12use XML::LibXML::Literal;
13use strict;
14use warnings;
15
16use vars qw ($VERSION);
17$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
18
19use overload
20 '""' => \&value,
21 '0+' => \&value,
22 '<=>' => \&cmp;
23
24sub new {
25 my $class = shift;
26 my $number = shift;
27 if ($number !~ /^\s*(-\s*)?(\d+(\.\d*)?|\.\d+)\s*$/) {
28 $number = undef;
29 }
30 else {
31 $number =~ s/\s+//g;
32 }
33 bless \$number, $class;
34}
35
36sub as_string {
37 my $self = shift;
38 defined $$self ? $$self : 'NaN';
39}
40
41sub as_xml {
42 my $self = shift;
43 return "<Number>" . (defined($$self) ? $$self : 'NaN') . "</Number>\n";
44}
45
46sub value {
47 my $self = shift;
48 $$self;
49}
50
51sub cmp {
52 my $self = shift;
53 my ($other, $swap) = @_;
54 if ($swap) {
55 return $other <=> $$self;
56 }
57 return $$self <=> $other;
58}
59
60sub evaluate {
61 my $self = shift;
62 $self;
63}
64
65sub to_boolean {
66 my $self = shift;
67 return $$self ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False;
68}
69
70sub to_literal { XML::LibXML::Literal->new($_[0]->as_string); }
71sub to_number { $_[0]; }
72
73sub string_value { return $_[0]->value }
74
751;
76__END__