summaryrefslogtreecommitdiff
path: root/lib/overload/numbers.pm
blob: 599361e9d320495bd23aba1b7e7253fc90085826 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# -*- buffer-read-only: t -*-
#
#   lib/overload/numbers.pm
#
#   Copyright (C) 2008 by Larry Wall and others
#
#   You may distribute under the terms of either the GNU General Public
#   License or the Artistic License, as specified in the README file.
#
# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
# This file is built by regen/overload.pl
#

package overload::numbers;

our @names = qw#
    ()
    (${}
    (@{}
    (%{}
    (*{}
    (&{}
    (++
    (--
    (bool
    (0+
    (""
    (!
    (=
    (abs
    (neg
    (<>
    (int
    (<
    (<=
    (>
    (>=
    (==
    (!=
    (lt
    (le
    (gt
    (ge
    (eq
    (ne
    (nomethod
    (+
    (+=
    (-
    (-=
    (*
    (*=
    (/
    (/=
    (%
    (%=
    (**
    (**=
    (<<
    (<<=
    (>>
    (>>=
    (&
    (&=
    (|
    (|=
    (^
    (^=
    (<=>
    (cmp
    (~
    (atan2
    (cos
    (sin
    (exp
    (log
    (sqrt
    (x
    (x=
    (.
    (.=
    (~~
    (-X
    (qr
    DESTROY
#;

our @enums = qw#
    fallback
    to_sv
    to_av
    to_hv
    to_gv
    to_cv
    inc
    dec
    bool_
    numer
    string
    not
    copy
    abs
    neg
    iter
    int
    lt
    le
    gt
    ge
    eq
    ne
    slt
    sle
    sgt
    sge
    seq
    sne
    nomethod
    add
    add_ass
    subtr
    subtr_ass
    mult
    mult_ass
    div
    div_ass
    modulo
    modulo_ass
    pow
    pow_ass
    lshift
    lshift_ass
    rshift
    rshift_ass
    band
    band_ass
    bor
    bor_ass
    bxor
    bxor_ass
    ncmp
    scmp
    compl
    atan2
    cos
    sin
    exp
    log
    sqrt
    repeat
    repeat_ass
    concat
    concat_ass
    smart
    ftest
    regexp
    DESTROY
#;

{ my $i = 0; our %names = map { $_ => $i++ } @names }

{ my $i = 0; our %enums = map { $_ => $i++ } @enums }