/**************************************************************************** ** ** 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 declares the functions handling Info statements.
*/
void InfoDoPrint(Obj cls, Obj lvl, Obj args)
{ if (IS_PLIST(cls))
cls = ELM_PLIST(cls, 1); #ifdef HPCGAP
Obj fun = Elm0AList(cls, INFODATA_HANDLER); #else
Obj fun = ELM_PLIST(cls, INFODATA_HANDLER); #endif if (!fun)
fun = DefaultInfoHandler;
CALL_3ARGS(fun, cls, lvl, args);
}
Obj InfoCheckLevel(Obj selectors, Obj level)
{ if (STATE(ShowUsedInfoClassesActive)) {
CALL_2ARGS(ShowUsedInfoClassesHandler, selectors, level);
} // Fast-path the most common failing case. // The fast-path only deals with the case where all arguments are of the // correct type, and were False is returned. if (CALL_1ARGS(IsInfoClassListRep, selectors) == True) { #ifdef HPCGAP
Obj index = ElmAList(selectors, INFODATA_CURRENTLEVEL); #else
Obj index = ELM_PLIST(selectors, INFODATA_CURRENTLEVEL); #endif if (IS_INTOBJ(index) && IS_INTOBJ(level)) { // < on INTOBJs compares the represented integers. if (index < level) { returnFalse;
}
}
} return CALL_2ARGS(InfoDecision, selectors, level);
}
// The work of handling Info messages is delegated to the GAP level
ImportFuncFromLibrary("InfoDecision", &InfoDecision);
ImportFuncFromLibrary("DefaultInfoHandler", &DefaultInfoHandler);
ImportFuncFromLibrary("IsInfoClassListRep", &IsInfoClassListRep);
ImportFuncFromLibrary("RESET_SHOW_USED_INFO_CLASSES",
&ResetShowUsedInfoClassesHandler);
ImportFuncFromLibrary("SHOW_USED_INFO_CLASSES",
&ShowUsedInfoClassesHandler);
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 ist noch experimentell.