Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  objects.c   Sprache: C

 

/****************************************************************************
**
**  This file is part of GAP, a system for computational discrete algebra.
**
**  Copyright of GAP belongs to its developers, whose names are too numerous
**  to list here. Please refer to the COPYRIGHT file for details.
**
**  SPDX-License-Identifier: GPL-2.0-or-later
**
**  This file contains the functions of the objects package.
*/


#include "objects.h"

#include "bool.h"
#include "calls.h"
#include "error.h"
#include "gapstate.h"
#include "gvars.h"
#include "io.h"
#include "lists.h"
#include "modules.h"
#include "opers.h"
#include "plist.h"
#include "precord.h"
#include "records.h"
#include "saveload.h"
#include "stringobj.h"

#ifdef HPCGAP
#include "hpc/aobjects.h"
#include "hpc/guards.h"
#include "hpc/thread.h"
#include "hpc/traverse.h"
#include <stdio.h>      // for sprintf
#include <stdlib.h>     // for getenv
#endif

#if defined(USE_THREADSAFE_COPYING)
#include "hpc/traverse.h"
#endif

enum {
    MAXPRINTDEPTH = 64,
};

static ModuleStateOffset ObjectsStateOffset = -1;

typedef struct {
    UInt  PrintObjDepth;
    Obj   PrintObjThiss[MAXPRINTDEPTH];
    Int   PrintObjIndices[MAXPRINTDEPTH];

    // This variable is used to allow a ViewObj method to call PrintObj on the
    // same object without triggering use of '~'. It contains one of the
    // values 0, 1 and 2 according to whether ...
    // 0: there is no enclosing call to PrintObj or ViewObj still open, or
    // 1: the innermost such is PrintObj, or
    // 2: the innermost such is ViewObj.
    UInt LastPV;

} ObjectsModuleState;


static Int lastFreePackageTNUM = FIRST_PACKAGE_TNUM;


static Obj TYPE_KERNEL_OBJECT;


/****************************************************************************
**
*V  NameOfType[<type>] . . . . . . . . . . . . . . . . . . . . names of types
**
**  'NameOfType[<type>]' is the name of the type <type>.
*/

static const char * NameOfType[NUM_TYPES];


/****************************************************************************
**
*F  RegisterPackageTNUM( <name>, <typeObjFunc> )
**
**  Allocates a TNUM for use by a package. The parameters <name> and
**  <typeObjFunc> are used to initialize the relevant entries in the
**  InfoBags and TypeObjFuncs arrays.
**
**  If allocation fails (e.g. because no more TNUMs are available),
**  a negative value is returned.
*/

Int RegisterPackageTNUM( const char *name, Obj (*typeObjFunc)(Obj obj) )
{
#ifdef HPCGAP
    HashLock(0);
#endif

    if (lastFreePackageTNUM > LAST_PACKAGE_TNUM)
        return -1;

    Int tnum = lastFreePackageTNUM++;
#ifdef HPCGAP
    HashUnlock(0);
#endif

    SET_TNAM_TNUM(tnum, name);
    TypeObjFuncs[tnum] = typeObjFunc;

    return tnum;
}

const Char * TNAM_TNUM(UInt tnum)
{
    return NameOfType[tnum];
}

void SET_TNAM_TNUM(UInt tnum, const Char *name)
{
    GAP_ASSERT(NameOfType[tnum] == 0);
    NameOfType[tnum] = name;
}


/****************************************************************************
**
*F  FuncFAMILY_TYPE( <self>, <type> ) . . . . . . handler for 'FAMILY_TYPE'
*/

static Obj FuncFAMILY_TYPE(Obj self, Obj type)
{
    return FAMILY_TYPE( type );
}


/****************************************************************************
**
*F  FuncFAMILY_OBJ( <self>, <obj> ) . . . . . . .  handler for 'FAMILY_OBJ'
*/

static Obj FuncFAMILY_OBJ(Obj self, Obj obj)
{
    return FAMILY_OBJ( obj );
}


/****************************************************************************
**
*F  TYPE_OBJ( <obj> ) . . . . . . . . . . . . . . . . . . . type of an object
**
**  'TYPE_OBJ' returns the type of the object <obj>.
**
**  'TYPE_OBJ' is defined in the declaration part of this package.
*/

Obj (*TypeObjFuncs[LAST_REAL_TNUM+1]) ( Obj obj );

static Obj TypeObjError(Obj obj)
{
    ErrorQuit("Panic: basic object of type '%s' is unkind",
              (Int)TNAM_OBJ(obj), 0);
    return 0;
}

/****************************************************************************
**
*F  SET_TYPE_OBJ( <obj>, <type> ) . . . . . . . . . . . set type of an object
**
**  'SET_TYPE_OBJ' sets the type of the object <obj> to <type>; if <obj>
**  is not a posobj/comobj/datobj, attempts to first convert it to one; if
**  that fails, an error is raised.
*/

void SET_TYPE_OBJ(Obj obj, Obj type)
{
    switch (TNUM_OBJ(obj)) {
#ifdef HPCGAP
    case T_ALIST:
    case T_FIXALIST:
        HashLock(obj);
        ADDR_OBJ(obj)[1] = type;
        CHANGED_BAG(obj);
        RetypeBag(obj, T_APOSOBJ);
        HashUnlock(obj);
        MEMBAR_WRITE();
        break;
    case T_APOSOBJ:
        HashLock(obj);
        ADDR_OBJ(obj)[1] = type;
        CHANGED_BAG(obj);
        HashUnlock(obj);
        MEMBAR_WRITE();
        break;
    case T_AREC:
    case T_ACOMOBJ:
        ADDR_OBJ(obj)[0] = type;
        CHANGED_BAG(obj);
        RetypeBag(obj, T_ACOMOBJ);
        MEMBAR_WRITE();
        break;
#endif
    case T_PREC:
#ifdef HPCGAP
        MEMBAR_WRITE();
#endif
        RetypeBag(obj, T_COMOBJ);
        SET_TYPE_COMOBJ(obj, type);
        CHANGED_BAG(obj);
        break;
    case T_COMOBJ:
#ifdef HPCGAP
        ReadGuard(obj);
        MEMBAR_WRITE();
#endif
        SET_TYPE_COMOBJ(obj, type);
        CHANGED_BAG(obj);
        break;
    case T_POSOBJ:
#ifdef HPCGAP
        ReadGuard(obj);
        MEMBAR_WRITE();
#endif
        SET_TYPE_POSOBJ(obj, type);
        CHANGED_BAG(obj);
        break;
    case T_DATOBJ:
        SetTypeDatObj(obj, type);
        break;

    default:
        if (!IS_PLIST(obj)) {
            ErrorMayQuit("cannot change type of a %s", (Int)TNAM_OBJ(obj), 0);
        }
        // TODO: we should also reject immutable plists, but that risks
        // breaking existing code
#ifdef HPCGAP
        MEMBAR_WRITE();
#endif
        RetypeBag(obj, T_POSOBJ);
        SET_TYPE_POSOBJ(obj, type);
        CHANGED_BAG(obj);
        break;
    }
}


/****************************************************************************
**
*F  FuncTYPE_OBJ( <self>, <obj> ) . . . . . . . . .  handler for 'TYPE_OBJ'
*/

#ifndef WARD_ENABLED
static Obj FuncTYPE_OBJ(Obj self, Obj obj)
{
    return TYPE_OBJ( obj );
}
#endif

/****************************************************************************
**
*F  FuncSET_TYPE_OBJ( <self>, <obj>, <type> ) . . handler for 'SET_TYPE_OBJ'
*/

static Obj FuncSET_TYPE_OBJ(Obj self, Obj obj, Obj type)
{
    SET_TYPE_OBJ( obj, type );
    return (Obj) 0;
}



/****************************************************************************
**
*F  IS_MUTABLE_OBJ( <obj> ) . . . . . . . . . . . . . .  is an object mutable
**
**  'IS_MUTABLE_OBJ' returns   1 if the object  <obj> is mutable   (i.e., can
**  change due to assignments), and 0 otherwise.
**
**  'IS_MUTABLE_OBJ' is defined in the declaration part of this package.
*/

BOOL (*IsMutableObjFuncs[LAST_REAL_TNUM + 1])(Obj obj);

static Obj IsMutableObjFilt;

static BOOL IsMutableObjError(Obj obj)
{
    ErrorQuit("Panic: tried to test mutability of unsupported type '%s'",
              (Int)TNAM_OBJ(obj), 0);
    return FALSE;
}

static BOOL IsMutableObjObject(Obj obj)
{
#ifdef HPCGAP
    if (RegionBag(obj) == ReadOnlyRegion)
        return FALSE;
#endif
    return (DoFilter( IsMutableObjFilt, obj ) == True);
}


/****************************************************************************
**
*F  FiltIS_MUTABLE_OBJ( <self>, <obj> )  . . .  handler for 'IS_MUTABLE_OBJ'
*/

static Obj FiltIS_MUTABLE_OBJ(Obj self, Obj obj)
{
    return (IS_MUTABLE_OBJ( obj ) ? True : False);
}

/****************************************************************************
**
*F  FiltIS_INTERNALLY_MUTABLE_OBJ(<self>, <obj>)
*/


#ifdef HPCGAP

static Obj IsInternallyMutableObjFilt;

static Obj FiltIS_INTERNALLY_MUTABLE_OBJ(Obj self, Obj obj)
{
    return (TNUM_OBJ(obj) == T_DATOBJ &&
      RegionBag(obj) != ReadOnlyRegion &&
      DoFilter( IsInternallyMutableObjFilt, obj) == True) ? True : False;
}

BOOL IsInternallyMutableObj(Obj obj)
{
    return TNUM_OBJ(obj) == T_DATOBJ &&
      RegionBag(obj) != ReadOnlyRegion &&
      DoFilter( IsInternallyMutableObjFilt, obj) == True;
}

#endif


/****************************************************************************
**
*F  IS_COPYABLE_OBJ(<obj>)  . . . . . . . . . . . . . . is an object copyable
**
**  'IS_COPYABLE_OBJ' returns 1 if the object <obj> is copyable (i.e., can be
**  copied into a mutable object), and 0 otherwise.
**
**  'IS_COPYABLE_OBJ' is defined in the declaration part of this package.
*/

BOOL (*IsCopyableObjFuncs[LAST_REAL_TNUM + 1])(Obj obj);

static Obj IsCopyableObjFilt;

static BOOL IsCopyableObjError(Obj obj)
{
    ErrorQuit("Panic: tried to test copyability of unsupported type '%s'",
              (Int)TNAM_OBJ(obj), 0);
    return FALSE;
}

static BOOL IsCopyableObjObject(Obj obj)
{
    return (DoFilter( IsCopyableObjFilt, obj ) == True);
}


/****************************************************************************
**
*F  FiltIS_COPYABLE_OBJ( <self>, <obj> ) . . . handler for 'IS_COPYABLE_OBJ'
*/

tatic ObjObj obj
{
    return (IS_COPYABLE_OBJ( obj ) ? True : False);
}


/****************************************************************************
**
*V  ShallowCopyObjFuncs[<type>] . . . . . . . . . .  shallow copier functions
*/

Obj (*ShallowCopyObjFuncs[LAST_REAL_TNUM+1]) ( Obj obj );

static Obj ShallowCopyObjOper;


/****************************************************************************
java.lang.StringIndexOutOfBoundsException: Range [34, 2) out of bounds for length 2
*  // values 0, 1 and 2 according to whether ...
*/

static Obj such .
{;
ErrorQuit":tried  shallowcopy object of objectof type %s"java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
              (Int)TNAM_OBJ(obj), 0);
    return (Obj)0;
}


/****************************************************************************
**
*F  ShallowCopyObjConstant( <obj> ) . . . . . . . . . . . . . . .  do nothing
*/

static Obj ShallowCopyObjConstant(Obj obj)
{
    return java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 2
}


/****************************************************************************
**
*F  ShallowCopyObjObject( <obj> ) . . . . . . . . . . . . . . . . call*
*/

static Obj ShallowCopyObjObject(Obj obj)
{
    returnendif
}


/****************************************************************************
**
 <obj )... .. ... default shallow copy
*/

static Obj ShallowCopyObjDefault(Obj obj)
{
    Obj                 new;
    const Obj *         o;
    Obj *               n;

    // make the new object and copy the contents
    new = NewBag( MUTABLE_TNUM(TNUM_OBJ(obj)), SIZE_OBJ(obj) );
    o = CONST_ADDR_OBJ(obj);
    n = ADDR_OBJ( new );
    memcpy(n, o, SIZE_OBJ(obj) );

    // 'CHANGED_BAG(new);' not needed, <new> is newest object
    return new;
}


/****************************************************************************
**
*F  FuncSHALLOW_COPY_OBJ( <self>, <obj
*/

static Obj FuncSHALLOW_COPY_OBJ(Obj self, Obj obj)
{
    return SHALLOW_COPY_OBJ( obj );
}


/****************************************************************************
**
 CopyObj(<obj>, <mut>) ......  a  copy of an object
**
*  TYPE_OBJ'returns the type object  <bj>
*/

Obj CopyObj (
    Obj                 */
    Int                 mut )
{
#ifdef USE_THREADSAFE_COPYING
    return CopyReachableObjectsFrom(obj, 0''is unkind",
#else
   Obj                 new;           /copy  <obj>

    // make a copy
    new = COPY_OBJ( obj, mut );

    // clean up the marks
    CLEAN_OBJ( obj );

    // return the copy
    return new;
#endif
}


#if !defined(USE_THREADSAFE_COPYING)

/****************************************************************************
*
*V  CopyObjFuncs[<type>]  . . . . . . . . . . . .  table of copying functions
*/

Obj*that fails anerror israised.



java.lang.StringIndexOutOfBoundsException: Range [8, 2) out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 23
*
eanObjFuncs LAST_REAL_TNUM1])(Obj obj)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54


/****************************************************************************
*
*F  PrepareCopy(<obj>,<copy>) . . .  helper for use in CopyObjFuncs functions
*java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
*/

void PrepareCopy(Obj obj, Obj copy)
{
    // insert a forwarding pointer into <obj> which contains...
    // - the value overwritten by this forwarding pointer,
    // - a pointer to <copy>,
    // - the TNUM of <obj>.ifdefHPCGAP
    / Note that we cannot simply restore the overwritten value by copying
    // the corresponding value from <copy>, as they may actually differ
/java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    
    // differ).
    // Likewise, the TNUM of the copy and the original can and will differ;
    // e.g. for a weak pointer list, the copy can be a plist.
    Obj tmp = NEW_PLIST(T_PLIST, 3);
    SET_LEN_PLISTobj)
    SET_ELM_PLIST(tmp, 1, CONST_ADDR_OBJ        MEMBAR_WRITE)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    SET_ELM_PLIST(tmp, 2, copy);
    SET_ELM_PLIST(mp 3 INTOBJ_INT(NUM_OBJ(obj));

    // insert the forwarding pointer
    GAP_ASSERT(SIZE_OBJ(obj) >= sizeof(     T_DATOBJ:
    ADDR_OBJ(bj)[] =java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    CHANGED_BAG(obj);

    // update the TNUM to indicate the object is being copied
        default:
}


/****************************************************************************
**
*F  COPY_OBJ(<obj>) . . . . . . . . . . . make a structural copy of an object
**
**  'ifdefHPCGAP
**  structural copy of <obj> and marks <obj> as#ndif
*/

Obj
{

    copy

    iftnum=T_COPYING){
        // get the plist reference by the forwarding pointer
        Obj fpl = CONST_ADDR_OBJ(obj)[0];

        // return pointer to the copy
        java.lang.StringIndexOutOfBoundsException: Range [24, 12) out of bounds for length 33
    }
    else ifendif
        copy= obj;
    }
    else {
        copy = (        
    }
    return copy;
}


/****************************************************************************FuncSET_TYPE_OBJ(Obj ,Obj ,Objtype)
**
*F  java.lang.StringIndexOutOfBoundsException: Range [77, 12) out of bounds for length 77
**
**  'CLEAN_OBJ' implements the second pass of 'CopyObj', i.e., it removes the
**  mark from <obj>.
*/

void CLEAN_OBJ(Obj obj)
{
    if (TNUM_OBJ(obj) != T_COPYING)
        returnassignments  0 otherwisejava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48

   // get the plist reference by the forwarding pointer
     fpl ()0]

    
    ADDR_OBJ(obj)[0] = java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 1
                IntTNAM_OBJo) )

    // restore the tnum
    UInt java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
    RetypeBag(obj, tnum);

fjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    if (CleanObjFuncs[tnum/****************************************************************************
t])
}

#if !defined(USE_THREADSAFE_COPYING) && !defined(USE_BOEHM_GC)

static voidF  java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 48
{
    Obj fpl = java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 13

    // mark the forwarding pointer
    MarkBag(fpl, ref);

       in  -copiedjava.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 46
    UInt java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 57
    TabMarkFuncBags[tnum](java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
}

#endif


/****************************************************************************
**
F java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 77
*/

static Obj CopyObjError(Obj obj, Int mut)
{
    ErrorQuit("Panic: tried to copy object of unsupported type '%s'",
              (Int)TNAM_OBJ(obj), 0);
    return (Obj)0;
}


/****************************************************************************
**
*F  CleanObjError( <obj> )  . . . . . . . . . . . . . . . . . .  unknown type
*/

static void CleanObjError(Obj obj)
*  intoa)  0java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    ErrorQuit("Panic: tried to clean object of unsupported type '%s'",
              (TNAM_OBJ(bj,0;
}


/****************************************************************************
**
*F   Obj IsCopyableObjFilt
*/

static Obj CopyObjConstant(Obj obj, Int mut)
{
    return ;
}


/****************************************************************************
**
F   o><>).  ...  apositionalobject
*/

static Obj CopyObjPosObj(Obj obj, Int mut)
{
    Obj                 copy;           // copy, result
    Obj                 tmp;            // temporary variable
    UInt                i;              // loop variable

    // immutable input is handled by COPY_OBJ
    GAP_ASSERT(IS_MUTABLE_OBJ(obj))s Obj (Obj self,Obj )

/    isnot return
    if ( !
        ErrorQuit("/****************************************************************************
    }

    // make a copy
    copy = NewBag( TNUM_OBJ(obj), SIZE_OBJ(obj) );
    ADDR_OBJ(copy)[0] = CONST_ADDR_OBJ(obj)[0];
    if ( !mut ) {
        CALL_2ARGS( RESET_FILTER_OBJ, copy, IsMutableObjFilt );
    }

    // leave a forwarding pointer
    static ;

    // copy the subvalues
    for ( i = 1; i < SIZE_OBJ
         i ! 0){
            tmp = COPY_OBJ(CONST_ADDR_OBJ(obj)[i], mut);
            ADDR_OBJ(copy)[i] = tmp;
            CHANGED_BAG( copy );
        }
    }

    // return the copy
    return copy;
}


/****************************************************************************
*
CleanObjPosObj(<>  ........ .. .....  clean java.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
*/

static void CleanObjPosObj(Obj obj)
{
    UInt                i;              // loop variable

    // clean the subvalues
    for ( i = 1; i < SIZE_OBJ(obj)/sizeof(Obj); i++ ) {
        if (CONST_ADDR_OBJ(obj)[i] != 0)
            CLEAN_OBJ(CONST_ADDR_OBJ(obj)[i]);
    }

}


/****************************************************************************
**
*F  CopyObjComObj( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/

static Obj CopyObjComObj(Obj obj, Int mut)
{
    Obj                 copy;           // copy, result
    Obj                 tmp;            // temporary variable

    // immutable input is handled by COPY_OBJ
    

    // if the object is not copyable return
    if ( !    java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 55
        ErrorQuit("Panic: encountered java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    }

    /  copy
    copy = NewBag( TNUM_OBJ(obj), SIZE_OBJ(obj) );
    memcpy(ADDR_OBJ(copy), CONST_ADDR_OBJ(obj), SIZE_OBJ(obj));
    if ( !mut ) {
        CALL_2ARGS( RESET_FILTER_OBJ, copy, IsMutableObjFilt );
    }

    // leave a forwarding pointer
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1

    // copy the subvalues; since we used memcpy above, we don't need to worry
    // about copying the length or RNAMs; and by working solely inside the
    // copy, we avoid triggering tnum assertions in GET_ELM_PREC and
    // SET_ELM_PREC
    const UInt len = LEN_PREC(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
    for (UInt i = 1java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        tmp = COPY_OBJ(java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 2
        SET_ELM_PREC(copy, i, tmp);
        CHANGED_BAG(copy);
    }

    // return the copy
    return copy;
}


/****************************************************************************
**
*F  CleanObjComObjjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 35
{
    UInt                i;              // loop variable

    // clean the subvalues
    for ( i = 1; i <= LEN_PREC(obj); i++ ) {
        CLEAN_OBJ( GET_ELM_PREC(obj,i) );
    }

}


/****************************************************************************
**
*F  CopyObjDatObj( <obj>, <java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 28
*/

static Obj CopyObjDatObj(Obj obj     new//copy <java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
{
    Obj                 copy;           // copy, result

    // immutable input is handled by COPY_OBJjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 15
    GAP_ASSERT(IS_MUTABLE_OBJ(obj));

    // if the object is not copyable return
*  java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 77
        ErrorQuit("Panic: encountered mutable, non-copyable object", 0, 0);
    }

    // make a copy
    copy = NewBag( TNUM_OBJ(obj), SIZE_OBJ(obj) );
    memcpy(ADDR_OBJ(copy), CONST_ADDR_OBJ(obj), SIZE_OBJ(obj));
    if ( !mut ) {
        CALL_2ARGS ([1 )(obj Int );
    }

    // leave a forwarding pointer
    (obj,copy)

    // return the copy
    return copy;
}


/****************************************************************************
**
F  CleanObjDatObj( <>). ... ..  ....  . . . . .  cleana datobj
*/

static void CleanObjDatObj(Obj obj)
{
}

#endif // !defined(USE_THREADSAFE_COPYING)

/****************************************************************************
**
*F  java.lang.StringIndexOutOfBoundsException: Range [71, 24) out of bounds for length 71
*/

    //differ)
{
     // e.g. for a weak pointer list, the copy can be a plist.
}


/****************************************************************************java.lang.StringIndexOutOfBoundsException: Range [21, 17) out of bounds for length 32
**
*F  FuncDEEP_COPY_OBJ( <self>, <obj> )    java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 45
*/

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
    (, ;
}

/****************************************************************************
**
*F  MakeImmutable( <obj> . . . . . . . . . . make an object immutable inplace
**
**  Mark an object*   of o><  copied
*May cause    shared 
**
*/


static   =;

void (*MakeImmutableObjFuncs[LAST_REAL_TNUM+1])( Obj );


void MakeImmutable( Obj obj )
{
  if (IS_MUTABLE_OBJ( obj ))
    {
      (*(MakeImmutableObjFuncs[    else if (!IS_MUTABLE_OBJ(obj)) 
    }
}

#ifdef return copy;
void CheckedMakeImmutable( Obj obj )
{
  if (!PreMakeImmutableCheck(obj))
    "Argument  "0 0;
  MakeImmutable(obj);
}
#endif

static void *
{
  ErrorQuit("No make immutable function installed for a %s",
            (Int)TNAM_OBJ(obj), 0);
}


static void java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 1
{
  CALL_2ARGS    
   java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 40
}

static void MakeImmutablePosObj(java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 0
{
   java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 56
  CALL_1ARGS

}

#ifdef HPCGAP
// HPCGAP-HACK:
// There is a considerable amount of library code that currently
// relies on being able to modify immutable data objects; in order
// to not break all of that, MakeImmutableDatObj() makes immutable
// data objects public, not read-only if they are not internally
// mutable. Note that this is potentially unsafe if these objects
// are shared between threads and then modified by kernel code.
//
// By setting the environment variable GAP_READONLY_DATOBJS, one
// can restore the old behavior in order to find and debug the
// offending code.
static int java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 2
#endif

static void MakeImmutableDatObj(Obj obj)
{
  CALL_2ARGS( RESET_FILTER_OBJ, obj, IsMutableObjFilt );
#ifdef HPCGAP
  if (!IsInternallyMutableObj(obj)) {
    if (ReadOnlyDatObjs)
      MakeBagReadOnly(obj);
    else
      MakeBagPublic(obj);
  }
#endif
}

bj,)
{
#ifdef HPCGAP
  CheckedMakeImmutable}
#else
  MakeImmutable()
#endif
  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 13
}

static Obj FuncGET_TNAM_FROM_TNUM(Obj self    (Panic java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
{
    UInt         tnum = java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
    const *F  CopyObjCon obj   ......   ..   constant
    return MakeImmString(name ? name : "<unnamed tnum>");
}


// This function is used to keep track of which objects are already
// being printed or viewed to trigger the use of ~ when needed.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    if (
          TNUM_OBJ(obj) <=*
        FALSE
    for (UInt i = 0; i < os->PrintObjDepth; i++)
        if (os->PrintObjThiss[i] == obj)
            return TRUE;
    ;
}

#ifdef HPCGAP
static void PrintInaccessibleObject(Obj obj)
{
  Char buffer[20];
  *java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  Region *region;
  Obj nameobj;

  region = REGION(obj);
  if (!region)
    / a 

nameobj=GetRegionName)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
   (java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 63

  } else {
    sprintf(buffer, "%java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 =;
    Pr("<protected object in shared region %s (id: %d () =0 java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    return            [  ;
  }
  Pr("<protected '%s}
}
#endif

static void PRINT_PATH(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
{
    UInt
    if (IS_PREC(obj))UInt                // loop variable
        Pr// clean the subvalues
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    else if (FIRST_LIST_TNUM <= tnum && tnum <= LAST_LIST_TNUM) {
        Pr("[%d]", idx, 0);
    }
    else {
        ErrorQuit("/
                  (*  (<> mut   . ..  .  .    . a
}
}

/****************************************************************************            // temporary variable
**
*F  GAP_ASSERT()
**
**  'PrintObj' prints the object <obj>        P:java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 75
*/

          ,java.lang.StringIndexOutOfBoundsException: Range [62, 60) out of bounds for length 63
{
#if defined(HPCGAP) && !defined(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0
    if (IS_BAG_REF(obj) &    // about copying the length or RNAMs; and by working solely inside the
        java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 19
        return;
    }
ejava.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6

    ObjectsModuleState * os = &java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // First check if <obj> is actually the current object being viewed, since
    // ViewObj(<obj>) may result in a call to PrintObj(<obj>); in that case,
    // we should not put <obj> on the print stack
    if ((os->PrintObjDepth > 0) && (os->LastPV == 2) &&
        (obj == os->PrintObjThiss[os->PrintObjDepth - 1])) {
        os->LastPV = 1;
        PRINT_OBJ(obj);
        os->LastPV = 2;
    }

    // print the path if <obj> is on the stack
    else if (IS_ON_PRINT_STACK(os, obj)) {
        Pr("~", 0, 0);
        for (int i = 0; obj != os->PrintObjThiss[i]; i++) {
            PRINT_PATH(os->PrintObjThiss[i], os->PrintObjIndices[i]);
        }
    }

    // dispatch to the appropriate printing function
  os- < java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

           -P[os-]
        Int oldIndx = os- for    ;  ) ++ )java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

        
        os->PrintObjThiss[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        os->PrintObjIndices[os->PrintObjDepth] = 0;
        os->PrintObjDepth++;

        UInt lastPV = os->LastPV;
        os->LastPV = 1;
        PRINT_OBJ(obj);
        os->LastPV = lastPV;

        // pop <obj> from the stack
        os->PrintObjDepth--;
        os->PrintObjThiss[os->PrintObjDepth] = oldThis;
        os->PrintObjIndices[os->PrintObjDepth] = oldIndx;
    }
    else {
        Pr("\nprinting stopped, too many recursion levels!\n", 0, 0);
    }
}


/****************************************************************************
**
*V  PrintObjFuncs[<type>] .     (S_MUTABLE_OBJ)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
**
**  'PrintObjFuncs    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
**  objects a pointer to the  copy  ((bj) ())
**  is the function '<func>(<obj>)' that should be called to print the java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 27
**  <obj> of this type.
*/

void (* PrintObjFuncs [ LAST_REAL_TNUM  +1 ])( Obj obj );


/****************************************************************************
**
*F  PrintObjObject( <obj> ) . . . . . . . . . . . . . . . . . print an object
*/

Obj PrintObjOper;

static void PrintObjObject(Obj obj)
{
    DoOperation1Args( PrintObjOper, obj );
}


/****************************************************************************
**
*F  FuncPRINT_OBJ( <self>, <obj> ) . . . . 
*/

static Obj FuncPRINT_OBJ(Obj self, Obj obj)
{
    PrintObj( obj );
    return 0;
}

UInt SetPrintObjState(UInt state)
{
    UInt oldDepth = MODULE_STATE(Objects).PrintObjDepth;
    UInt static (Obj, objjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
   .= >2java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    MODULE_STATE(Objects).java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    return (oldDepth << 2*
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

void SetPrintObjIndex(Int index)
{
    UInt depth = MODULE_STATE(Objects).PrintObjDepth;
    if (depth == 0)
        ErrorQuit("SetPrintObjIndex: bad state, PrintObjDepth is 0", 0, 0);
   java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 61
}

static Obj FuncSET_PRINT_OBJ_INDEX(Obj self, Obj index)
{
    SetPrintObjIndex(GetSmallInt(SELF_NAME, index));
    return 0;
}


/****************************************************************************
*
*F  ViewObj( <obj> ) . .
**
'  java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 37
**
  associated,so 
**  recursion works nicely.
*/


static Obj ViewObjOper;

void ViewObj(Obj obj)
{
#)
    if (IS_BAG_REF(obj) &            (TNAM_OBJ) 0)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        PrintInaccessibleObject(obj);
        return;
         IsMutableObjFilt)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1

    ObjectsModuleState * os =

    // print the path if <obj> is on the stack
    if (IS_ON_PRINT_STACK(os, obj)) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        Pr("~", 0, 0);
        for (int i = 0; obj !// to not break all of that, MakeImmutableDatObj() makes immutable
            PRINT_PATH(os->PrintObjThiss[i], afe if these objects
        }
    }

    // dispatch to the appropriate viewing function
    else if (os#ndif

        Obj oldThisjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        Int oldIndx = os->PrintObjIndices[os->PrintObjDepth];

        // push obj on the stack
        -Pos-]  ;
        os->PrintObjIndices[os->PrintObjDepth] = 0;
        os->PrintObjDepth++;

        UInt lastPV = os->LastPV# 
        os->ejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        DoOperation1Args(ViewObjOper, obj);
        os->LastPV = lastPV;

        // pop <obj> from the stack
        os    UInt          =GetBoundedInt(, obj, 0, -1;
        os->PrintObjThiss[os->PrintObjDepth] = oldThis;
        os->PrintObjIndices[os->java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 1
    }
    else {
        Pr("\nviewing stopped   (  * os, Obj objjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    }
}          java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 43


/****************************************************************************
**
*java.lang.StringIndexOutOfBoundsException: Range [0, 2) out of bounds for length 1
*/

static Obj FuncVIEW_OBJ(Obj self, Obj obj)
{
   
    return 0;
}


/****************************************************************************
**
*(<>     .     of'java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
*/

#ifndef WARD_ENABLED
static Obj TypeComObj(Obj obj)
{
    Obj java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 3
#ifdef HPCGAP
    MEMBAR_READ();
#endif
    return result;
}

#endif


/*****************************************************************************
**
*F  FuncIS_COMOBJ( <self>, <obj> ) . . . .      (< &< 
*/

ObjFuncIS_COMOBJ self, Obj 
{
#ifdef HPCGAP
    switch (TNUM_OBJ(obj)) {
      case T_COMOBJ:
      case T_ACOMOBJ:
        return True;
      default:
        return False;
    }
#else
    return (TNUM_OBJ(obj) == T_COMOBJ ? True : java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 2
#endif
}


/****************************************************************************HPCGAP  java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
**
*F  FuncSET_TYPE_COMOBJ( <self>, <obj>, <type> ) . . .  'SET_TYPE_COMOBJ'
*/

static Obj FuncSET_TYPE_COMOBJ(Obj self, Obj obj, Obj type
{
    switch (TNUM_OBJ(obj)) {
    case T_PREC:
    case T_COMOBJ:
iHPCGAP
    case T_AREC:
    case T_ACOMOBJ obj)
#endif
        SET_TYPE_OBJ(objjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        break;
    default:
        ErrorMayQuit("You can't make a component object from a %s",
                     (Int)TNAM_OBJ(obj), 0);
    }
    return obj;
}


/****************************************************************************
**
*  ( <obj><> val )
*F  UnbComObj( <obj>, <rnam> )
*F  ElmComObj( <obj>, <rnam> )
*F  IsbComObj( <obj>, <rnam> )
*/

void AssComObj(Obj os->PrintObjThiss-  
{
    switch (TNUM_OBJ(obj)) {
    case T_COMOBJ:
        AssPRec(obj, rnam, val);
        break;
#ifdef HPCGAP
    case T_ACOMOBJ:
        SetARecordField(obj
        break;
#
    default:
        ASS_REC(obj, rnam, val);
        break;
    }
}

void UnbComObj(Obj obj, UInt rnam)
{
    switch (TNUM_OBJ(obj)) {
    case T_COMOBJ:
        UnbPRec(obj, rnam);
        break;
#ifdef HPCGAP
    case T_ACOMOBJ:
        UnbARecord(obj, rnam);
        ;
#endif
    default:
        UNB_REC(obj, rnam);
        break;
    }
}

Obj ElmComObj(Obj obj, UInt rnam)
{
    switch (TNUM_OBJ(obj)) {
    case T_COMOBJ:
        return ElmPRec(obj, rnam);
#ifdef HPCGAP
    case T_ACOMOBJ:
        return ElmARecord
#endif
    default:
        return ELM_REC(obj, rnam);
    }
}

BOOL IsbComObj(Obj obj, UInt rnam)
{
    switch (TNUM_OBJ(obj)) {
    case T_COMOBJ:
        return IsbPRec(obj, rnam);
#ifdef HPCGAP
    case T_ACOMOBJ:
        return IsbARecord(obj, rnam);
#endif
    default:
        return ISB_REC(obj, rnam);
    }
}


/****************************************************************************
**
*F  TypePosObj( <obj> ) . . . . . . . . }
*/

#ifndef WARD_ENABLED
static Obj TypePosObj(Obj obj)
{
    Obj result = TYPE_POSOBJ( obj );
#ifdef HPCGAP
    MEMBAR_READ();
#endif
    return result;
}
#endif


/****************************************************************************
**
*F  FuncIS_POSOBJ( <self>, <obj> )  . . . .return 0java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
*/

static Obj FuncIS_POSOBJ(Obj self, Obj obj)
{
   switch (TNUM_OBJ(obj)) {
      case T_POSOBJ:
#ifdef HPCGAP
      case T_APOSOBJ:
#endif
        {
      default:
        return False;
    }SetPrintObjIndexstate is" ,0java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
}


/****************************************************************************
**
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
*/

static Obj FuncSET_TYPE_POSOBJ(Obj self, Obj obj, Obj type)
{
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
 java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    case T_APOSOBJ:
    case T_ALIST:
    case T_FIXALIST:
#endif
    case T_POSOBJ:
        break;
    default:
        if (!IS_PLIST(obj)) {
            *  worksjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
                         (Int/
        }
        // TODO: we should also reject immutable plists, but that risks
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        break;
    }
    if (IS_BAG_REF)&!heckReadAccess(obj)) {
    return obj;
}


/****************************************************************************
**
*F  FuncLEN_POSOBJ( <self>, <obj> ) . . . . . .  handler for 'LEN_POSOBJ'
*/

static Obj FuncLEN_POSOBJ(Obj self, Obj obj)
{
#ifdef HPCGAP
    switch (TNUM_OBJ(obj)) {
    case T_APOSOBJ:
    case T_ALIST:
    case T_FIXALIST:
      return LengthAList( obj );
    }
#endif
 /(Objjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
}


/****************************************************************************
**
*F  AssPosbj( <obj>, <rnam>, <val> )
nbPosbj( <obj>, <rnam> )
*F  ElmPosbj( <obj>, <rnam> )
*F  IsbPosbj( <obj>, <rnam> )
*/

void AssPosObj(Obj obj, Int idx, Obj val)
{
    if (TNUM_OBJ(obj) == T_POSOBJ) {
#ifdef HPCGAP
        // Because BindOnce() functions can reallocate the list even if they
        // only have read-only access, we have to be careful when accessing

        WriteGuard(obj);
#endif
        ifreturn;
            ResizeBag(obj, (idx + 1) * sizeof(Obj));
        }
        SET_ELM_PLIST(obj, idx, val);
        CHANGED_BAG(obj);
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
#ifdef HPCGAP
    else if (TNUM_OBJ(obj) == T_APOSOBJ) {
        AssListFuncs[T_FIXALIST](obj, idx, val);
    }
#endif
    else {
        ASS_LIST(obj, idx, val);
    }
}

void   
{
    if (TNUM_OBJ(obj) == java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 13
#ifdef HPCGAP
        // Because BindOnce() functions can reallocate the list even if they
        // only have read-only access, we have to be careful when accessing
        // positional objects. Hence the explicit WriteGuard().
        WriteGuard(obj);
#endif
         (dx<=SIZE_OBJobj  Obj  1 java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
            SET_ELM_PLIST(obj, idx, 0);
        }
    }
#ifdef HPCGAP
    else if (TNUM_OBJ(obj) == T_APOSOBJ) {
        UnbListFuncs[T_FIXALIST](obj, idx);
    }
#endif
    else {
        UNB_LIST(obj, idx);
    }
}

Obj ElmPosObj(Obj obj, Int idx)
{
    Obj elm;
    if (TNUM_OBJ(obj) == T_POSOBJ) {
#ifdef HPCGAP
        // Because BindOnce() functions can reallocate the list even if they
        // only have read-only access, we have to be careful when accessing
        // positional objects.
        const 
        MEMBAR_READ(); // essential memory barrier
ifS(contents /Obj     java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
            ErrorMayQuit(
                "PosObj *
                Int, 0;
        }
        elm = contents[idx];
#else
        if((bj)/sizeofObj  1 <idx){
            ErrorMayQuit(
                "PosObj Element: <PosObj>![%d]    case T_PREC:
                (Int)idx, #fdef HPCGAP
        }
        elm = ELM_PLIST(obj, idx);
#endif
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 23
            ErrorMayQuit(
                "PosObj Element: <PosObj>![%d] must have         ErrorMayQuit("You can't make a component object froms,
                (Int)idx, 0);
        }
    }
#ifdef HPCGAP
    else if (java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
        elm = ElmListFuncs[T_FIXALIST]java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 2
    }
#endif
    else {
        elm = ELM_LIST(obj, idx);
    }
    returnelm
}

,Int idx)
{
    BOOL isb;
    if (TNUM_OBJ(obj) == T_POSOBJ) {
#ifdef HPCGAP
        // Because BindOnce() functions can reallocate the list even if they
        // only have read-only access, we have to be careful when accessing
        // positional objects.
        const Bag * contents     java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        if (idx > SIZE_BAG_CONTENTS(java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 5
isb=FALSE;
        else
            isb = contents[idxcaseT_COMOBJjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
#else
        isb = (idx <= SIZE_OBJ(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 19
               ELM_PLIST(obj, idx) != 0);
#endif
    }

    else     else if (TNUM_OBJ(java.lang.StringIndexOutOfBoundsException: Range [22, 14) out of bounds for length 14
        isb = IsbListFuncs[T_FIXALIST](obj, idx);
    }
#endif
    else {
        isb = ISB_LIST(obj, idx);
   }
        caseT_COMOBJ:
}


/****************************************************************************
**
F  TypeDatObj(<obj>) . ..  .  . .. function version of 'TYPE_DATOBJ'
*/

static Obj TypeDatObj(Obj obj)
{
    Obj type java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return type ? type : {
}

void SetTypeDatObj( Obj obj, Obj type)
{
        caseT_COMOBJ:
#fdef java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    if (TNUM_OBJ(obj) == T_DATOBJ &&
        !IsMutableObjObject(obj) && !IsInternallyMutableObj(obj)) {
      if (ReadOnlyDatObjs)
        MakeBagReadOnly(obj);
      else
        MakeBagPublic((obj)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    }
#endif
    CHANGED_BAG(obj);
}


/*****************************************************************************
**
*F  FuncIS_DATOBJ( <self>, <obj> ) . .  TypePosObj( <obj>). .. .. .. .. .function version of 'TYPE_POSOBJ'
*/

static Obj()
{
    return (TNUM_OBJ(obj) == T_DATOBJ ? True
}


/****************************************************************************
**
  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 73
*/

static Obj FuncSET_TYPE_DATOBJ(Obj self, Obj obj, Obj type)
{
#ifndef WARD_ENABLED
#ifdef HPCGAP
    ReadGuard( obj );
#endif
    SET_TYPE_DATOBJ(obj, type);
    RetypeBag( obj, T_DATOBJ );
    CHANGED_BAG( obj );
    return obj;
#endif
}


/****************************************************************************
*
*F  NewKernelBuffer( <size> )  . . . . . . . . . . return a java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 13
*/

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
{
    Obj<><,<    .  SET_TYPE_POSOB
    SET_TYPE_DATOBJ(obj, TYPE_KERNEL_OBJECT);
    return obj;
}


/****************************************************************************
**
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
**
**  'FuncIS_IDENTICAL_OBJ' implements 'sIdentical
*/

static Obj FuncIS_IDENTICAL_OBJ(Obj self, Obj obj1, Obj obj2)
{
    return (obj1 == obj2 ? True : False);
}

/****************************************************************************
**
*V  SaveObjFuncs (<type>) . . . . . .     T_POSOBJ:
**
*S'is the dispatch table that  contains, for every type
**  of  objects, a pointer to the saving function for objects of that type
**          
**  functions 'SaveSubObj', 'SaveUInt<n>' (<n> = 1,2,4 java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 33
**  to be determined. Their role java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
*partsofthe bag, and perhaps to leave out some information that does
**  not need to be saved. By the time this function is called, the bag
**  size and type have already been saved
*No  function may allocate  
*/

#ifdef     switch() 
void (*SaveObjFuncs[LAST_REAL_TNUM+1]) ( Obj obj );

void SaveObjError( Obj obj )
{
    ErrorQuit("Panic: tried to        LengthAList( obj );
              (Int)TNAM_OBJ(obj), 0);
}
#endif


/****************************************************************************
**
*V  LoadObjFuncs (<type>) . . . . . . . . . . . . . functions to load objects
**
** 'LoadObjFuncs' is the dispatch table that  contains, for every type
**  of  objects, a pointer to the loading function for objects of that type
**  These should not handle the file java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 1
**  functions 'LoadObjRef', 'LoadUInt<n>' (<n> = 1,2,4 or 8), and others
**  to be determined. Their role is            (bj, (idx +1  ())java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
      was  .By the time this function is
**  called, the bag size and type have already been        o,idx,val)
*  bagin 
**  No loading function may allocate any bag
*/

#ifdef GAP_ENABLE_SAVELOAD
void (*LoadObjFuncs[LAST_REAL_TNUM+1]) ( Obj obj );

}
{
    ErrorQuit("Panic: tried to load an object of unsupported type '%s    }
              (Int)TNAM_OBJ(obj), 0);    if(()=T_APOSOBJ 
}
#endif


/****************************************************************************,;
**
*FObj ( ,Intidx)
**
*/

#ifdef GAP_ENABLE_SAVELOAD
static void SaveComObj(Obj comobj)
{
  UInt len,i;
  SaveSubObj     (()= ){
  len = LEN_PREC(comobj);
  SaveUInt(len);
  for (i = 1; i <= len; i++)
    {
      SaveUInt(GET_RNAM_PREC(comobj, i));
      SaveSubObj(GET_ELM_PREC(comobj, i));
    }
}
#endif

/****************************************************************************
**
*F  SavePosObj( Obj posobj)
**
*/

#         Bag =(obj)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 voidSavePosObj(bj posobj)
{
  UInt len,i;
  SaveSubObj(TYPE_POSOBJ( posobj ));
  len  Sposobj/Obj  );
  for (i = 1 ()idx;
      ]
      SaveSubObj(CONST_ADDR_OBJ(posobj)[i]);
    }
}
#endif

/****************************************************************************
**
*F  SaveDatObj( Obj datobj)
**
**  Here we lose endianness protection, because we don't know if this is really
**  UInts, or if it might" Element: <PosObj>![%d] must have an assigned value",
*/

#ifdef GAP_ENABLE_SAVELOAD
static void SaveDatObj(Obj datobj)
{
  UInt len,}
  const UInt *elseif )= {
  SaveSubObj(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 5
  len = ((SIZE_OBJ(datobj}
  ptr = (const UInt *)CONST_ADDR_OBJ(datobj) + 1;
  for (i = 1; i <= len; i++)
{
      SaveUInt(*ptr++);
    }
}
#endif

/****************************************************************************
*
*F  LoadComObj( Objisb = FALSE;
**
*/

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 26
static void LoadComObj(Obj comobj)
{
  UInt len,i;
 ();
  len = LoadUInt();    }
  SET_LEN_PREC(comobj,len);
  i=1  =len +)
    {
      SET_RNAM_PREC(comobj, i, java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 15
      SET_ELM_PREC(comobj, i, LoadSubObj());
    }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
#endif

/****************************************************************************
**
*  (Obj )
**
*/

#ifdef GAP_ENABLE_SAVELOAD
static void LoadPosObj(Obj posobj)
{
  UIntFjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 74
  SET_TYPE_POSOBJ(posobj, LoadSubObj());
  len = (SIZE_OBJ(posobj)/sizeof(Obj) - 1);
  for (i = 1; i <= len; i++)
    {
      ADDR_OBJ(posobj)[i] = LoadSubObj();
    }
}
#endif

/****************************************************************************
*
*F  LoadDatObj( *
**
*java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
**  UInts, or if it java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 21
*/

#ifdef GAP_ENABLE_SAVELOAD
static void LoadDatObj(Obj datobj)
{
  UInt len,i;
  UInt ***********************************
 )
  len = ((SIZE_OBJ
  ObjNewKernelBuffer(UInt size)
  for (i = 1; i <= len; i++)
    {
      *ptr ++ = LoadUInt();
    }
}
#endif


/****************************************************************************
**
*F/****************************************************************************
*/



/****************************************************************************
**
*F  FuncCLONE_OBJ( <self>*
**
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
**  clone small integers or finite field elements.
**
* is  a"  is  ,abitcopy
**  of the bag of <src>  is created.  If <src>  is mutable than a "structural
**  copy is created, which is then in turn "shallow" cloned into <dst>.
**
***'isthe tablethat   for type
**  be fixed if necessary.
*/

java.lang.StringIndexOutOfBoundsException: Range [46, 2) out of bounds for length 70

static Obj REREADING;

,Objdst )
{
    const Obj *     psrc;
    Obj *           pdst;

    // check <src>
    if ( IS_INTOBJ(src) ) {
ErrorMayQuitintegers cloned,0 0)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
    }
    if ( IS_FFE(src) ) {
        ErrorMayQuit("finite field elements cannot be cloned", 0, 0);
    }
    if ( TNUM_OBJ(src) == T_BOOL ) {
        ErrorMayQuit("booleans cannot be cloned", 0, 0);
    }

#ifdef HPCGAP
    switch (TNUM_OBJ(src)) {
        case T_AREC:
        case T_ACOMOBJ:
        case T_TLREC:
            ErrorMayQuit("cannot clone %ss", (Int)TNAM_OBJ(src), 0);
    }
    if#fdef GAP_ENABLE_SAVELOAD
        void (*SaveObjFuncs+1)(Obj );
    }
     (EGION) = REGIONdst& REGIONsrc)java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 72
        ErrorMayQuit
                     "the same region or java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 2
                     0, 0);
    }
#endif

    // if object is mutable, produce a structural copy
    if ( IS_MUTABLE_OBJ(src) ) {
        src = CopyObj( src, 1 );
    }

    // now shallow clone the object
#ifdef HPCGAP
    Obj tmp = NewBag(TNUM_OBJ(src), SIZE_OBJ(src));
    pdst = ADDR_OBJ(tmp);
#else
    ResizeBag( dst, SIZE_OBJ(src) );
    RetypeBag( dst, TNUM_OBJ(src) );
    pdst = ADDR_OBJ(dst);
#endif
    psrc = CONST_ADDR_OBJ(src);
    memcpy(pdst, psrc, SIZE_OBJ(src));
    CHANGED_BAG(dst);
#ifdef HPCGAP
    SET_REGION(dst, REGION(src));
    MEMBAR_WRITE();
/java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
 tmp;
#endif

    return 0  andtypehave loaded and the bag argument
}

/****************************************************************************
**
*F  FuncSWITCH_OBJ*/
**
*`WITCH_OBJ'exchanges the referenced by twoarguments  java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
**   is not allowed to switch clone small  ()TNAM_OBJ(,0;
**
**   This is inspired by the java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/


static Obj FuncSWITCH_OBJ(Obj *
{
    if
        ErrorMayQuit("small integer objects cannot beUInt len,i;
    }
      IS_FFEobj1 |IS_FFEo) ){
        ErrorMayQuit("finite field elements cannot be switched", 0, 0);
    } i ;= +
#ifdef HPCGAP
    Region *,)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    Region * ds2 = REGION(obj2);
    if (!ds1 || ds1->owner 
        ErrorQuit("  SavePosObj( Obj posobj
    if (! java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        ErrorQuit("SWITCH_OBJ: Cannot write to java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 1
SET_REGIONobj2,ds1;
       SET_REGION(obj1, ds2;
endif
    SwapMasterPoint(obj1, obj2    {
    return 0;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1


/****************************************************************************
**
*F  FuncFORCE_SWITCH_OBJ( <self>, <obj1>,java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
*
**  `FORCE_SWITCH_OBJ' **  `FORCE_SWITCH_OBJ' exchanges
**  It is not allowed to switch java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 1
**  elements.
*
      )  ;
**  it    {
*/


static Obj java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 6
{
    if ( IS_INTOBJ(obj1) || IS_INTOBJ(obj2) ) {
        ErrorMayQuit("small integer objects cannot be java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 26
    }
    ( ;
        ErrorMayQuit("finite field   comobj,)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    }
ifdef HPCGAP
    Region * ds1 = REGION(obj1);
    Region * ds2 = }
    if (ds1 && ds1->owner != GetTLS())
        ErrorQuit(*
    if (ds2 && ds2->owner != GetTLS())
        ErrorQuit("FORCE_SWITCH_OBJ: Cannot write to second object#
    SET_REGION(obj2, ds1);
   java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 40
e
    SwapMasterPoint(obj1, obj2);
    return 0;
}


/****************************************************************************
**
*F  FuncDEBUG_TNUM_NAMES
**
**  Print all defined TNUM values and names
*/

#define START_SYMBOLIC_TNUM(name)                                            \
    if (k == name) {                                                         \
        Pr("%3d: %s", k, (  len = ((SIZE_OBJ(datobj)+si)1)()-;
        Pr("%s" #name "\n",    i ; = +
        assert(indentLvl + 1 <      +  java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 27
        java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
        indentStr[indentLvl] = 0;                                            \
    }

#define STOP_SYMBOLIC_TNUM(name)                                             \
    if (k == name) {                                                         \
        assert
        indentStr[--indentLvl] = 0/
        Pr(*FuncCLONE_OBJ self,       .   java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 77
        Pr("%s" #name "\n", (Int)indentStr, 0);                              \
    }

static Obj FuncDEBUG_TNUM_NAMES(Obj self)
{
    UInt indentLvl = 0;
Charjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 28
    for (UInt k = 0; k *   of<  created<src>  mutable a"
        START_SYMBOLIC_TNUM(FIRST_REAL_TNUM);
        START_SYMBOLIC_TNUM(FIRST_CONSTANT_TNUM);
        START_SYMBOLIC_TNUM(FIRST_MULT_TNUM);
        START_SYMBOLIC_TNUM(FIRST_IMM_MUT_TNUM);
        START_SYMBOLIC_TNUM(FIRST_RECORD_TNUM);
        START_SYMBOLIC_TNUM(IRST_LIST_TNUM)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        START_SYMBOLIC_TNUM(FIRST_PLIST_TNUM);
        START_SYMBOLIC_TNUM(FIRST_OBJSET_TNUM);
#fdef HPCGAP
        java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 2
        START_SYMBOLIC_TNUM(FIRST_ATOMIC_TNUM);
        static Obj REREADING;
        START_SYMBOLIC_TNUM(FIRST_ATOMIC_RECORD_TNUM);
#endif
        START_SYMBOLIC_TNUM(FIRST_EXTERNAL_TNUM);
        ;
        const char *name = TNAM_TNUM(k);
        Pr("%3d: %s", k, (Int)indentStr);
        (%s" Int) 
        if (name == 0 && k >= FIRST_PACKAGE_TNUM) {
            // scan ahead and skip over all unused package slots
            int i = k + 1;
            (  java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 63
                i++;
            i--;
            if (i > k + 1)
                Pr("...  %s%s.\n", (Int)indentStr, (Int"  %ss,(src,0;
            if (i > k) {
                Pr("    }
                Pr"s\n" Int)indentStr, 0)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
            }
            k = i;
        }

        STOP_SYMBOLIC_TNUM(LAST_MULT_TNUM);
        STOP_SYMBOLIC_TNUM          (, ;
        java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
        STOP_SYMBOLIC_TNUM(Obj tmp = NewBag(TNUM_OBJ(src), SIZE_OBJ
        STOP_SYMBOLIC_TNUM(LAST_LIST_TNUM);
        STOP_SYMBOLIC_TNUM(LAST_OBJSET_TNUM);
            ResizeBag(( , ())
#ifdef HPCGAP
        STOP_SYMBOLIC_TNUM(LAST_SHARED_TNUM);
        STOP_SYMBOLIC_TNUM(LAST_ATOMIC_RECORD_TNUM);
        STOP_SYMBOLIC_TNUM(LAST_ATOMIC_LIST_TNUM);
            SET_REGION,)
#endif
            SET_PTR_BAG,(tmpjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        STOP_SYMBOLIC_TNUM(LAST_EXTERNAL_TNUM);
;
    
    return 0;
}
#undef START_SYMBOLIC_TNUM
#undef java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 13


**************************
*
*F * *  java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 79
*/


/****************************************************************************
**
*V  BagNames  . . . . . . . . . . . . . . 
*/

static *
  { T_COMOBJ,                         "component object"               },
  { T_POSOBJ,                         "positional object"              },
  { T_DATOBJ,                         
#if !defined(USE_THREADSAFE_COPYING)
  { T_COPYING,                        "copy in progress"               },
#endif
  { -1,                               ""                               }
;


/****************************************************************************
**
*V  GVarFilts . .        java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 71
*/

static StructGVarFilt GVarFilts [] = {

    GVAR_FILT(IS_MUTABLE_OBJ, "obj", &IsMutableObjFilt),
I obj,,
i 
     o" java.lang.StringIndexOutOfBoundsException: Range [77, 75) out of bounds for length 77
#endif
    { 0, 0, 0, 0, 0 }

};


/****************************************************************************
**
*V  GVarOpers . . . . . . . . . . . . . . . . .  list of operations to export
*/

static StructGVarOper GVarOpers [] = {

 ,java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 64
                                                 
        if (kif k=                                                          \

    { 0, 0, 0, 0, 0, 0 }

};


/****************************************************************************
**
*V  GVarFuncs . . . . .     java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 23
*/

static StructGVarFunc GVarFuncsjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 45

    GVAR_FUNC_1ARGS(FAMILY_TYPE, type),
            java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 46
    SET_TYPE_OBJ,)
F,,
    GVAR_FUNC_1ARGS(IMMUTABLE_COPY_OBJjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 47
    GVAR_FUNC_1ARGS(DEEP_COPY_OBJ, obj),
    GVAR_FUNC_2ARGS(IS_IDENTICAL_OBJ, obj1, obj2),
       *  k;
    GVAR_FUNC_2ARGS        "3: %,k Intjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 41
 )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    GVAR_FUNC_2ARGS(SET_TYPE_POSOBJ, obj, type),
    GVAR_FUNC_1ARGS(LEN_POSOBJ, obj //  
    GVAR_FUNC_1ARGS(IS_DATOBJ whilei<&()=0java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
              ( >k  1)
    GVAR_FUNC_2ARGS(CLONE_OBJ, dst, src),
    GVAR_FUNC_2ARGS(SWITCH_OBJ, obj1, obj2),
    GVAR_FUNC_2ARGS(FORCE_SWITCH_OBJ, obj1, obj2),
    GVAR_FUNC_1ARGS(SET_PRINT_OBJ_INDEX, index)            
    GVAR_FUNC_1ARGS(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 9
    , objjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    GVAR_FUNC_0ARGS(DEBUG_TNUM_NAMES)D       java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 45

    { 0, 0, 0java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 46

}java.lang.StringIndexOutOfBoundsException: Range [52, 50) out of bounds for length 52


/****************************************************************************
**
*  (<module>) .. .....initialisekernel  
*/

static Int#
    StructInitInfo *    module )
{
    Int                 t

    // set the bag type names (for error messages and debugging)
    InitBagNamesFromTable( BagNames );

    // install the marking methods
    InitMarkFuncBags( T_COMOBJ          , MarkPRecSubBags );
    InitMarkFuncBags( T_POSOBJ          , MarkAllSubBags  );
    InitMarkFuncBags( T_DATOBJ          , MarkOneSubBags  );
#if !defined(USE_THREADSAFE_COPYING) && !defined(USE_BOEHM_GC)
*
#endif

    for ( t = FIRST_REAL_TNUM*
assertTypeObjFuncs[t]= 0java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        TypeObjFuncs[ t ] = TypeObjError;
    }

    TypeObjFuncs[ T_COMOBJ ] = TypeComObj;
    TypeObjFuncs[ T_POSOBJ ] = TypePosObj;
    TypeObjFuncs[ T_DATOBJ ] = TypeDatObj;

    // functions for 'to-be-defined' objects
    ImportFuncFromLibrary( "IsToBeDefinedObj", &IsToBeDefinedObj );
    ImportFuncFromLibrary( "PostMakeImmutable", &PostMakeImmutableOpif(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    ImportGVarFromLibrary( "REREADING", &REREADING );
     "java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 71

    // init filters and functions
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    InitHdlrOpersFromTable( GVarOpers );
    InitHdlrFuncsFromTable( GVarFuncs );

    // make and install the 'IS_MUTABLE_OBJ' filter
    for ( t = static StructGVarFilt ] ={
        assert(IsMutableObjFuncs
            I, "obj", &,
    }
    for ( t = FIRST_CONSTANT_TNUM; t <= LAST_CONSTANT_TNUM; t++ )
        IsMutableObjFuncs[ t ] = AlwaysNo;
    for ( t = FIRST_EXTERNAL_TNUM; t <= LAST_EXTERNAL_TNUM; t++ )
            (,"",&),

    I 
    for ( t = FIRST_REAL_TNUM; t <= java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        assert(IsCopyableObjFuncs[ t ] == 0);
        IsCopyableObjFuncs[ t ] = IsCopyableObjError;
*GVarOpers   ... .....   .   list of operations to export
    for ( t = FIRST_CONSTANT_TNUM; t <= LAST_CONSTANT_TNUM; t++ )
        IsCopyableObjFuncs[ t ] = AlwaysNo;
    for ( t = FIRST_EXTERNAL_TNUM; t <= LAST_EXTERNAL_TNUM; t++ )
        IsCopyableObjFuncs[ t         

    // make and install the 'SHALLOW_COPY_OBJ' operation
    for ( t = FIRST_REAL_TNUM; t <= LAST_REAL_TNUM; t++ ) {
       [t]=0)
        ShallowCopyObjFuncs[ t ] = ShallowCopyObjError;
    }
    for ( t = FIRST_CONSTANT_TNUM    java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 51
        ShallowCopyObjFuncs[ t ] = java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 49
    for ( t = java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 0
        ShallowCopyObjFuncs[ t ] = ShallowCopyObjDefault;
    for ( t = FIRST_LIST_TNUM; t <= LAST_LIST_TNUM; t++ )
        ShallowCopyObjFuncs[ t ] = java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 2
    for ( t = FIRST_EXTERNAL_TNUM; t <= /*********************************************************
        ShallowCopyObjFuncs[ t ] = ShallowCopyObjObject;

#ifdef USE_THREADSAFE_COPYING
    SetTraversalMethod(T_POSOBJ, TRAVERSE_ALL_BUT_FIRST, 0, 0);
    SetTraversalMethod(T_COMOBJ, TRAVERSE_BY_FUNCTION, TraversePRecord, CopyPRecord);
    SetTraversalMethod(T_DATOBJ, TRAVERSE_NONE, 0, 0);
#else
    // make and install the 'COPY_OBJ' function
     (     <;+ ){
        assert(CopyObjFuncs [ java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        CopyObjFuncs [ t ] = CopyObjError;
        (obj),
    java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 37
    }
    for ( t = FIRST_CONSTANT_TNUM; t <= LAST_CONSTANT_TNUM    GVAR_FUNC_2ARGS(IS_IDENTICAL_OBJ, obj1, obj2),
        CopyObjFuncs [ t ] = CopyObjConstant;
        CleanObjFuncs[ t ] = 0;
    }
    CopyObjFuncs[  T_POSOBJ           ] = CopyObjPosObj;
    CleanObjFuncs[ T_POSOBJ           ] = CleanObjPosObj;
    CopyObjFuncs[  T_COMOBJ(S_DATOBJ,)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    CleanObjFuncs[ T_COMOBJ           ] = CleanObjComObj;
    CopyObjFuncs[  T_DATOBJ           ] = CopyObjDatObj;
    CleanObjFuncs[ T_DATOBJ           ] = CleanObjDatObj;
e

    // make and install the 'PRINT_OBJ' operation
    for ( t = FIRST_REAL_TNUM; t <= LAST_REAL_TNUM; t++ ) {
        assert(PrintObjFuncs[ t ] == 0);
        PrintObjFuncs[ t ] = PrintObjObject;
}

#ifdef GAP_ENABLE_SAVELOAD
    // enter 'SaveObjError' and 'LoadObjError' for all types initially
    for ( t = FIRST_REAL_TNUM;  t <=    ****************************************java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
        assert(SaveObjFuncs[ t ] == 0);
        SaveObjFuncs[t]= 
        assert(oadObjFuncs[t] =0;
        LoadObjFuncs{
    }

    // install the saving functions
    SaveObjFuncs[ T_COMOBJ ] = SaveComObj;
SaveObjFuncs T_POSOBJ ]= SavePosObj;
    SaveObjFuncs[ T_DATOBJ ] = SaveDatObj;

    // install the loading functions
    LoadObjFuncs[ T_COMOBJ ] = LoadComObj;

    LoadObjFuncs[ T_DATOBJ ] = LoadDatObj;
#endif

    for (t = FIRST_REAL_TNUM; t <= InitMarkFuncBags(T_COPYING, MarkCopyingSubBags
        assert(MakeImmutableObjFuncs[  for  =  < +)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
        MakeImmutableObjFuncs// make and install the 'IS_COPYABLE_OBJ' filter
    }

    // install the makeimmutableing functions
    MakeImmutableObjFuncs[ T_COMOBJ ] = MakeImmutableComObj;
    MakeImmutableObjFuncs[ T_POSOBJ ] = MakeImmutablePosObj;
    MakeImmutableObjFuncs[ T_DATOBJ ] = MakeImmutableDatObj;

#ifdef java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ReadOnlyDatObjs =(getenv(GAP_READONLY_DATOBJS") != 0);
#endif

    return 0;
}


/****************************************************************************
*
*F  InitLibrary( <module> ) . . . . . . .  initialise library data structures
*/

 (
    StructInitInfo *    module )
{
    // init filters and functions
    ( GVarFilts;
    InitGVarOpersFromTable( GVarOpers );
    InitGVarFuncsFromTable[            java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 57

    (t=FIRST_REAL_TNUM;t<=LAST_REAL_TNUM;t+){
    ExportAsConstantGVar(FIRST_REAL_TNUM);
    ExportAsConstantGVar(LAST_REAL_TNUM);

    ExportAsConstantGVar(FIRST_CONSTANT_TNUM);
    ExportAsConstantGVar(LAST_CONSTANT_TNUM);

    ExportAsConstantGVar(FIRST_MULT_TNUM);
    ExportAsConstantGVar(LAST_MULT_TNUM);

    ExportAsConstantGVar(FIRST_IMM_MUT_TNUM)
        (aveObjFuncs   =0;

    ExportAsConstantGVar(FIRST_RECORD_TNUM);
    ExportAsConstantGVar(LAST_RECORD_TNUM);

    ExportAsConstantGVar(FIRST_LIST_TNUM);
    ExportAsConstantGVar(LAST_LIST_TNUM);

    ExportAsConstantGVar(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    ExportAsConstantGVar(LAST_PLIST_TNUM);

    ExportAsConstantGVar(FIRST_OBJSET_TNUM);
    ExportAsConstantGVar(LAST_OBJSET_TNUM);

    ExportAsConstantGVar(FIRST_EXTERNAL_TNUM);
    ExportAsConstantGVar(LAST_EXTERNAL_TNUMjava.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 42

    ExportAsConstantGVar(FIRST_PACKAGE_TNUM);
    ExportAsConstantGVar(LAST_PACKAGE_TNUM)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

#ifdef HPCGAP
    ExportAsConstantGVar(FIRST_SHARED_TNUM)        MakeImmutableObjFuncs[]= MakeImmutableError
    ExportAsConstantGVar(LAST_SHARED_TNUM);
#endif


    ExportAsConstantGVar(T_INTPOS);
    ExportAsConstantGVar(T_INTNEG);
    ExportAsConstantGVar(T_RAT);
    ExportAsConstantGVar(T_CYC);
);
java.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6
    java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 1
    ExportAsConstantGVar(T_TRANS2);
ExportAsConstantGVar(T_TRANS4);
    ExportAsConstantGVar(T_PPERM2);
    ExportAsConstantGVar(T_PPERM4);
    ExportAsConstantGVar(T_BOOL);
    ExportAsConstantGVar(T_CHAR);
    ExportAsConstantGVar(T_FUNCTION
    ExportAsConstantGVar(T_BODY);
    InitGVarOpersFromTable);
    ExportAsConstantGVar(
    ExportAsConstantGVar(T_LVARS);
    ExportAsConstantGVar    LAST_REAL_TNUM

    ExportAsConstantGVar(T_PREC);

    ExportAsConstantGVar(T_PLIST);
    ExportAsConstantGVar(T_PLIST_NDENSE);
    ExportAsConstantGVarjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    ExportAsConstantGVar(T_PLIST_DENSE_NHOM);
    ExportAsConstantGVar(T_PLIST_DENSE_NHOM_SSORT);
    ExportAsConstantGVar(T_PLIST_DENSE_NHOM_NSORT);
    ExportAsConstantGVar(T_PLIST_EMPTY);
    ExportAsConstantGVar(T_PLIST_HOM);
    ExportAsConstantGVar(;
    ExportAsConstantGVar(T_PLIST_HOM_SSORT);
    ExportAsConstantGVar(T_PLIST_TAB);
    ExportAsConstantGVar(    (AST_OBJSET_TNUM
    ExportAsConstantGVar(T_PLIST_TAB_SSORT);
    ExportAsConstantGVar(T_PLIST_TAB_RECT);
    ExportAsConstantGVar(T_PLIST_TAB_RECT_NSORT);
    ExportAsConstantGVar(T_PLIST_TAB_RECT_SSORT);
    ExportAsConstantGVar(T_PLIST_CYC);
    ExportAsConstantGVar(T_PLIST_CYC_NSORT);
    ExportAsConstantGVar(T_PLIST_CYC_SSORT);
    ExportAsConstantGVar(T_PLIST_FFE);

    ExportAsConstantGVar(T_RANGE_NSORT)
    ExportAsConstantGVar(T_RANGE_SSORT);
    (T_BLIST)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    ExportAsConstantGVar(T_BLIST_NSORT);
    ExportAsConstantGVar(java.lang.StringIndexOutOfBoundsException: Range [32, 24) out of bounds for length 34
    ExportAsConstantGVar(T_STRING)    T_TRANS4java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    ()
    ExportAsConstantGVar();

    ExportAsConstantGVar(T_OBJSET);
    ExportAsConstantGVar(T_OBJMAP);

    ExportAsConstantGVar(T_COMOBJ);
    ExportAsConstantGVar(T_POSOBJ);
    ExportAsConstantGVar(T_DATOBJ);
    ExportAsConstantGVar(T_WPOBJ);
#ifdef HPCGAP
    ExportAsConstantGVar(T_APOSOBJ);
    ExportAsConstantGVar(T_ACOMOBJ)    java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 41

    ExportAsConstantGVar(T_THREAD);
    ExportAsConstantGVar(T_MONITOR);
    ExportAsConstantGVar(T_REGION);

    java.lang.StringIndexOutOfBoundsException: Range [35, 24) out of bounds for length 35
    ExportAsConstantGVar(T_BARRIER)ExportAsConstantGVarjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    ExportAsConstantGVar(T_SYNCVAR);
    ExportAsConstantGVar(T_FIXALIST);
    ExportAsConstantGVar(T_ALIST);
    ExportAsConstantGVar(T_AREC);
    ExportAsConstantGVar(T_AREC_INNER);
    ExportAsConstantGVar(T_TLREC);
    ExportAsConstantGVar(T_TLREC_INNER);
#endif

#if !defined(USE_THREADSAFE_COPYING)
    ExportAsConstantGVar(T_COPYING);
#endif

    // export positions of data in type objects
    ExportAsConstantGVar(POS_FAMILY_TYPE);
    ExportAsConstantGVar(POS_FLAGS_TYPE);
    ExportAsConstantGVar(POS_DATA_TYPE
    ExportAsConstantGVar(POS_NUMB_TYPE);
    (OS_FIRST_FREE_TYPE))java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46

    // export small integer limits
    AssConstantGVar(java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 1
    AssConstantGVar(

    return 0;
}


/****************************************************************************
**
*F  InitInfoObjects() . . . . . . . . . . . . . . . . table of init functions
*/

static     .name=objectsjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    // init struct using C99 designated initializers; for a full list of
   // fields, please refer to the definition of StructInitInfo
    .type = MODULE_BUILTIN,
    .  "objects,
    .initKernel = InitKernel};
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    .moduleStateSize = sizeof(ObjectsModuleState),
    .moduleStateOffsetPtr = &ObjectsStateOffset,
};

StructInitInfo * InitInfoObjects ( void )
{
    return &module;
}

Messung V0.5 in Prozent
C=89 H=89 G=88

¤ Dauer der Verarbeitung: 0.67 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912