.. _stdlib_only_nttp: ========= Only NTTP ========= .. das:module:: only_nttp The ONLY_NTTP module provides the ``[only_nttp]`` function annotation — a guard for benchmark kernels. Compilation fails if the annotated function calls a call-based extern that is not bound through ``addExternInline`` (the NTTP interpreter node flavor), naming the offending call. This keeps a measured fastpath honest: a silently downgraded binding cannot skew the benchmark. All functions and symbols are in "only_nttp" module, use require to get access to it. .. code-block:: das require daslib/only_nttp ++++++++++++++++++++ Function annotations ++++++++++++++++++++ .. _handle-only_nttp-only_nttp: .. das:attribute:: only_nttp Fails the compile when the annotated function calls an extern not bound with ``addExternInline``. +++++++ Classes +++++++ .. _struct-only_nttp-OnlyNttpAnnotation: .. das:attribute:: OnlyNttpAnnotation : AstFunctionAnnotation class OnlyNttpAnnotation .. _function-only_nttp_OnlyNttpAnnotation_rq_patch_OnlyNttpAnnotation_FunctionPtr_ModuleGroup_AnnotationArgumentList_AnnotationArgumentList_das_string_bool_ref__0x1a: .. das:function:: OnlyNttpAnnotation.patch(func: FunctionPtr; group: ModuleGroup; args: AnnotationArgumentList; progArgs: AnnotationArgumentList; errors: das_string; astChanged: bool&) : bool def patch : function<(var self:ast::AstFunctionAnnotation;var func:ast_core::Function? aka FunctionPtr -const;var group:rtti_core::ModuleGroup -const;args:rtti_core::AnnotationArgumentList const;progArgs:rtti_core::AnnotationArgumentList const;var errors:$::das_string -const;var astChanged:bool& -const):bool> :Arguments: * **func** : :ref:`FunctionPtr ` * **group** : :ref:`ModuleGroup ` * **args** : :ref:`AnnotationArgumentList ` * **progArgs** : :ref:`AnnotationArgumentList ` * **errors** : :ref:`das_string ` * **astChanged** : bool\ &