/* -*- buffer-read-only: t -*-
 *
 *    overload.c
 *
 *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
 *    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.
 * Any changes made here will be lost!
 */

#define AMG_id2name(id) (PL_AMG_names[id]+1)
#define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)

static const U8 PL_AMG_namelens[NofAMmeth] = {
    2,
    4,
    4,
    4,
    4,
    4,
    3,
    3,
    5,
    3,
    3,
    2,
    2,
    4,
    4,
    3,
    4,
    2,
    3,
    2,
    3,
    3,
    3,
    3,
    3,
    3,
    3,
    3,
    3,
    9,
    2,
    3,
    2,
    3,
    2,
    3,
    2,
    3,
    2,
    3,
    3,
    4,
    3,
    4,
    3,
    4,
    2,
    3,
    2,
    3,
    2,
    3,
    4,
    4,
    2,
    6,
    4,
    4,
    4,
    4,
    5,
    2,
    3,
    2,
    3,
    3,
    3,
    3
};

static const char * const PL_AMG_names[NofAMmeth] = {
  /* Names kept in the symbol table.  fallback => "()", the rest has
     "(" prepended.  The only other place in perl which knows about
     this convention is AMG_id2name (used for debugging output and
     'nomethod' only), the only other place which has it hardwired is
     overload.pm.  */
    "()",		/* fallback   */
    "(${}",		/* to_sv      */
    "(@{}",		/* to_av      */
    "(%{}",		/* to_hv      */
    "(*{}",		/* to_gv      */
    "(&{}",		/* to_cv      */
    "(++",		/* inc        */
    "(--",		/* dec        */
    "(bool",		/* bool_      */
    "(0+",		/* numer      */
    "(\"\"",		/* string     */
    "(!",		/* not        */
    "(=",		/* copy       */
    "(abs",		/* abs        */
    "(neg",		/* neg        */
    "(<>",		/* iter       */
    "(int",		/* int        */
    "(<",		/* lt         */
    "(<=",		/* le         */
    "(>",		/* gt         */
    "(>=",		/* ge         */
    "(==",		/* eq         */
    "(!=",		/* ne         */
    "(lt",		/* slt        */
    "(le",		/* sle        */
    "(gt",		/* sgt        */
    "(ge",		/* sge        */
    "(eq",		/* seq        */
    "(ne",		/* sne        */
    "(nomethod",	/* 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       */
    "(cmp",		/* scmp       */
    "(~",		/* compl      */
    "(atan2",		/* atan2      */
    "(cos",		/* cos        */
    "(sin",		/* sin        */
    "(exp",		/* exp        */
    "(log",		/* log        */
    "(sqrt",		/* sqrt       */
    "(x",		/* repeat     */
    "(x=",		/* repeat_ass */
    "(.",		/* concat     */
    "(.=",		/* concat_ass */
    "(~~",		/* smart      */
    "(-X",		/* ftest      */
    "(qr"
};

/* ex: set ro: */
