Goto Chapter: Top 1 2 3 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

3 Precompilation

3 Precompilation

#@if ValueOption( "no_precompiled_code" ) <> true and String({}->1-[1-1]) = "function (  ) return 1 - [ (1 - 1) ]; end"
gap> LoadPackage( "FpLinearCategories", false );
true
gap> LoadPackage( "CompilerForCAP", ">= 2024.07-09", false );
true
gap> ReadPackageOnce( "FpLinearCategories", "gap/CompilerLogic.gi" );
true
gap> CapJitAddTypeSignature( "\*", [ IsHomalgRingElement, IsInt ], input_types -> input_types[1] );;
gap> category_constructor :=
>   data_tables -> AdditiveClosure( AlgebroidFromDataTables( ShallowCopy( data_tables ) : range_of_HomStructure := CategoryOfRows_as_AdditiveClosure_RingAsCategory( data_tables[1] : FinalizeCategory := true ), FinalizeCategory := true ) );;
gap> Q := HomalgFieldOfRationalsInSingular();;
gap> q := FinQuiver( "q(*)[x:*->*]" );;
gap> given_arguments :=
>   [ NTuple( 5,
>       # coefficients_ring
>       Q,
>       # quiver
>       q,
>       # decomposition_indices_of_bases_elements
>       [ [ [ [ ], [ 1 ], [ 1, 1 ] ] ] ],
>       # hom_structure_gmors_objs
>       [ [ [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] ] ],
>       # hom_structure_objs_gmors
>       [ [ [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] ] ] ) ];;
gap> compiled_category_name := "AdditiveClosureOfAlgebroidFromDataTablesPrecompiled";;
gap> package_name := "FpLinearCategories";;
gap> CapJitPrecompileCategoryAndCompareResult(
>     category_constructor,
>     given_arguments,
>     package_name,
>     compiled_category_name
>     : operations := "primitive"
>     );;
gap> A := AdditiveClosureOfAlgebroidFromDataTablesPrecompiled( given_arguments[1] );;
gap> A!.precompiled_functions_added;
true
#@fi
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 Ind

generated by GAPDoc2HTML