2022-11-28 19:21:26 +08:00
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "compound.xsd" version= "1.9.4" xml:lang= "en-US" >
<compounddef id= "Computations_8h" kind= "file" language= "C++" >
<compoundname > Computations.h</compoundname>
<includes refid= "Types_8h" local= "yes" > tdm/Types.h</includes>
<includes refid= "Mat_8h" local= "yes" > tdm/Mat.h</includes>
<includes refid= "Vec_8h" local= "yes" > tdm/Vec.h</includes>
<includes local= "no" > cmath</includes>
<includes local= "no" > utility</includes>
<includedby refid= "TDM_8h" local= "yes" > TDM.h</includedby>
<includedby refid= "Transforms_8h" local= "yes" > Transforms.h</includedby>
<incdepgraph >
<node id= "1" >
<label > Computations.h</label>
<link refid= "Computations_8h" />
<childnode refid= "2" relation= "include" >
</childnode>
<childnode refid= "8" relation= "include" >
</childnode>
<childnode refid= "9" relation= "include" >
</childnode>
<childnode refid= "5" relation= "include" >
</childnode>
<childnode refid= "10" relation= "include" >
</childnode>
</node>
<node id= "8" >
<label > tdm/Mat.h</label>
<link refid= "Mat_8h" />
<childnode refid= "2" relation= "include" >
</childnode>
<childnode refid= "9" relation= "include" >
</childnode>
</node>
<node id= "2" >
<label > tdm/Types.h</label>
<link refid= "Types_8h" />
<childnode refid= "3" relation= "include" >
</childnode>
<childnode refid= "4" relation= "include" >
</childnode>
<childnode refid= "5" relation= "include" >
</childnode>
<childnode refid= "6" relation= "include" >
</childnode>
<childnode refid= "7" relation= "include" >
</childnode>
</node>
<node id= "9" >
<label > tdm/Vec.h</label>
<link refid= "Vec_8h" />
<childnode refid= "2" relation= "include" >
</childnode>
</node>
<node id= "3" >
<label > algorithm</label>
</node>
<node id= "4" >
<label > cassert</label>
</node>
<node id= "5" >
<label > cmath</label>
</node>
<node id= "6" >
<label > cstddef</label>
</node>
<node id= "7" >
<label > type_traits</label>
</node>
<node id= "10" >
<label > utility</label>
</node>
</incdepgraph>
<invincdepgraph >
<node id= "14" >
<label > CommandImplBase.h</label>
<link refid= "CommandImplBase_8h" />
<childnode refid= "12" relation= "include" >
</childnode>
<childnode refid= "15" relation= "include" >
</childnode>
<childnode refid= "16" relation= "include" >
</childnode>
<childnode refid= "17" relation= "include" >
</childnode>
<childnode refid= "18" relation= "include" >
</childnode>
<childnode refid= "19" relation= "include" >
</childnode>
<childnode refid= "20" relation= "include" >
</childnode>
<childnode refid= "21" relation= "include" >
</childnode>
<childnode refid= "3" relation= "include" >
</childnode>
<childnode refid= "26" relation= "include" >
</childnode>
<childnode refid= "27" relation= "include" >
</childnode>
<childnode refid= "28" relation= "include" >
</childnode>
<childnode refid= "29" relation= "include" >
</childnode>
<childnode refid= "30" relation= "include" >
</childnode>
<childnode refid= "31" relation= "include" >
</childnode>
<childnode refid= "32" relation= "include" >
</childnode>
<childnode refid= "33" relation= "include" >
</childnode>
</node>
<node id= "4" >
<label > TypeDefs.h</label>
<link refid= "src_2dnacalib_2TypeDefs_8h" />
<childnode refid= "5" relation= "include" >
</childnode>
<childnode refid= "6" relation= "include" >
</childnode>
<childnode refid= "7" relation= "include" >
</childnode>
<childnode refid= "8" relation= "include" >
</childnode>
<childnode refid= "9" relation= "include" >
</childnode>
<childnode refid= "10" relation= "include" >
</childnode>
<childnode refid= "14" relation= "include" >
</childnode>
<childnode refid= "16" relation= "include" >
</childnode>
<childnode refid= "34" relation= "include" >
</childnode>
<childnode refid= "38" relation= "include" >
</childnode>
<childnode refid= "40" relation= "include" >
</childnode>
<childnode refid= "42" relation= "include" >
</childnode>
<childnode refid= "43" relation= "include" >
</childnode>
<childnode refid= "45" relation= "include" >
</childnode>
<childnode refid= "46" relation= "include" >
</childnode>
<childnode refid= "41" relation= "include" >
</childnode>
<childnode refid= "48" relation= "include" >
</childnode>
<childnode refid= "36" relation= "include" >
</childnode>
<childnode refid= "49" relation= "include" >
</childnode>
<childnode refid= "21" relation= "include" >
</childnode>
<childnode refid= "50" relation= "include" >
</childnode>
<childnode refid= "51" relation= "include" >
</childnode>
<childnode refid= "52" relation= "include" >
</childnode>
<childnode refid= "39" relation= "include" >
</childnode>
</node>
<node id= "12" >
<label > CalculateMeshLowerLODsCommand.cpp</label>
<link refid= "CalculateMeshLowerLODsCommand_8cpp" />
</node>
<node id= "15" >
<label > ClearBlendShapesCommand.cpp</label>
<link refid= "ClearBlendShapesCommand_8cpp" />
</node>
<node id= "16" >
<label > CommandSequence.cpp</label>
<link refid= "src_2dnacalib_2commands_2CommandSequence_8cpp" />
</node>
<node id= "17" >
<label > PruneBlendShapeTargetsCommand.cpp</label>
<link refid= "PruneBlendShapeTargetsCommand_8cpp" />
</node>
<node id= "18" >
<label > RemoveJointAnimationCommand.cpp</label>
<link refid= "RemoveJointAnimationCommand_8cpp" />
</node>
<node id= "19" >
<label > RemoveJointCommand.cpp</label>
<link refid= "RemoveJointCommand_8cpp" />
</node>
<node id= "20" >
<label > RemoveMeshCommand.cpp</label>
<link refid= "RemoveMeshCommand_8cpp" />
</node>
<node id= "22" >
<label > RenameAnimatedMapCommand.cpp</label>
<link refid= "RenameAnimatedMapCommand_8cpp" />
</node>
<node id= "23" >
<label > RenameBlendShapeCommand.cpp</label>
<link refid= "RenameBlendShapeCommand_8cpp" />
</node>
<node id= "24" >
<label > RenameJointCommand.cpp</label>
<link refid= "RenameJointCommand_8cpp" />
</node>
<node id= "25" >
<label > RenameMeshCommand.cpp</label>
<link refid= "RenameMeshCommand_8cpp" />
</node>
<node id= "21" >
<label > RenameResourceCommand.h</label>
<link refid= "RenameResourceCommand_8h" />
<childnode refid= "22" relation= "include" >
</childnode>
<childnode refid= "23" relation= "include" >
</childnode>
<childnode refid= "24" relation= "include" >
</childnode>
<childnode refid= "25" relation= "include" >
</childnode>
</node>
<node id= "3" >
<label > RotateCommand.cpp</label>
<link refid= "RotateCommand_8cpp" />
</node>
<node id= "26" >
<label > ScaleCommand.cpp</label>
<link refid= "ScaleCommand_8cpp" />
</node>
<node id= "27" >
<label > SetBlendShapeTargetDeltasCommand.cpp</label>
<link refid= "SetBlendShapeTargetDeltasCommand_8cpp" />
</node>
<node id= "28" >
<label > SetLODsCommand.cpp</label>
<link refid= "SetLODsCommand_8cpp" />
</node>
<node id= "29" >
<label > SetNeutralJointRotationsCommand.cpp</label>
<link refid= "SetNeutralJointRotationsCommand_8cpp" />
</node>
<node id= "30" >
<label > SetNeutralJointTranslationsCommand.cpp</label>
<link refid= "SetNeutralJointTranslationsCommand_8cpp" />
</node>
<node id= "31" >
<label > SetSkinWeightsCommand.cpp</label>
<link refid= "SetSkinWeightsCommand_8cpp" />
</node>
<node id= "32" >
<label > SetVertexPositionsCommand.cpp</label>
<link refid= "SetVertexPositionsCommand_8cpp" />
</node>
<node id= "50" >
<label > SupportFactories.h</label>
<link refid= "SupportFactories_8h" />
<childnode refid= "27" relation= "include" >
</childnode>
<childnode refid= "32" relation= "include" >
</childnode>
</node>
<node id= "33" >
<label > TranslateCommand.cpp</label>
<link refid= "TranslateCommand_8cpp" />
</node>
<node id= "35" >
<label > BaseImpl.h</label>
<link refid= "dnacalib_2dna_2BaseImpl_8h" />
<childnode refid= "36" relation= "include" >
</childnode>
<childnode refid= "39" relation= "include" >
</childnode>
</node>
<node id= "34" >
<label > DNA.h</label>
<link refid= "dnacalib_2dna_2DNA_8h" />
<childnode refid= "6" relation= "include" >
</childnode>
<childnode refid= "35" relation= "include" >
</childnode>
<childnode refid= "8" relation= "include" >
</childnode>
<childnode refid= "12" relation= "include" >
</childnode>
<childnode refid= "15" relation= "include" >
</childnode>
<childnode refid= "40" relation= "include" >
</childnode>
<childnode refid= "41" relation= "include" >
</childnode>
<childnode refid= "17" relation= "include" >
</childnode>
<childnode refid= "18" relation= "include" >
</childnode>
<childnode refid= "19" relation= "include" >
</childnode>
<childnode refid= "20" relation= "include" >
</childnode>
<childnode refid= "3" relation= "include" >
</childnode>
<childnode refid= "26" relation= "include" >
</childnode>
<childnode refid= "27" relation= "include" >
</childnode>
<childnode refid= "28" relation= "include" >
</childnode>
<childnode refid= "29" relation= "include" >
</childnode>
<childnode refid= "30" relation= "include" >
</childnode>
<childnode refid= "31" relation= "include" >
</childnode>
<childnode refid= "32" relation= "include" >
</childnode>
<childnode refid= "33" relation= "include" >
</childnode>
</node>
<node id= "38" >
<label > DNACalibDNAReaderImpl.cpp</label>
<link refid= "DNACalibDNAReaderImpl_8cpp" />
</node>
<node id= "37" >
<label > DNACalibDNAReaderImpl.h</label>
<link refid= "DNACalibDNAReaderImpl_8h" />
<childnode refid= "12" relation= "include" >
</childnode>
<childnode refid= "15" relation= "include" >
</childnode>
<childnode refid= "38" relation= "include" >
</childnode>
<childnode refid= "17" relation= "include" >
</childnode>
<childnode refid= "18" relation= "include" >
</childnode>
<childnode refid= "19" relation= "include" >
</childnode>
<childnode refid= "20" relation= "include" >
</childnode>
<childnode refid= "22" relation= "include" >
</childnode>
<childnode refid= "23" relation= "include" >
</childnode>
<childnode refid= "24" relation= "include" >
</childnode>
<childnode refid= "25" relation= "include" >
</childnode>
<childnode refid= "21" relation= "include" >
</childnode>
<childnode refid= "3" relation= "include" >
</childnode>
<childnode refid= "26" relation= "include" >
</childnode>
<childnode refid= "27" relation= "include" >
</childnode>
<childnode refid= "28" relation= "include" >
</childnode>
<childnode refid= "29" relation= "include" >
</childnode>
<childnode refid= "30" relation= "include" >
</childnode>
<childnode refid= "31" relation= "include" >
</childnode>
<childnode refid= "32" relation= "include" >
</childnode>
<childnode refid= "33" relation= "include" >
</childnode>
</node>
<node id= "47" >
<label > DenormalizedData.h</label>
<link refid= "dnacalib_2dna_2DenormalizedData_8h" />
<childnode refid= "36" relation= "include" >
</childnode>
</node>
<node id= "44" >
<label > LODConstraint.cpp</label>
<link refid= "dnacalib_2dna_2LODConstraint_8cpp" />
</node>
<node id= "43" >
<label > LODConstraint.h</label>
<link refid= "dnacalib_2dna_2LODConstraint_8h" />
<childnode refid= "44" relation= "include" >
</childnode>
<childnode refid= "45" relation= "include" >
</childnode>
</node>
<node id= "45" >
<label > LODMapping.cpp</label>
<link refid= "dnacalib_2dna_2LODMapping_8cpp" />
</node>
<node id= "46" >
<label > LODMapping.h</label>
<link refid= "dnacalib_2dna_2LODMapping_8h" />
<childnode refid= "34" relation= "include" >
</childnode>
<childnode refid= "47" relation= "include" >
</childnode>
<childnode refid= "45" relation= "include" >
</childnode>
</node>
<node id= "36" >
<label > ReaderImpl.h</label>
<link refid= "dnacalib_2dna_2ReaderImpl_8h" />
<childnode refid= "37" relation= "include" >
</childnode>
</node>
<node id= "51" >
<label > SurjectiveMapping.h</label>
<link refid= "dnacalib_2dna_2SurjectiveMapping_8h" />
<childnode refid= "34" relation= "include" >
</childnode>
</node>
<node id= "39" >
<label > WriterImpl.h</label>
<link refid= "dnacalib_2dna_2WriterImpl_8h" />
<childnode refid= "37" relation= "include" >
</childnode>
</node>
<node id= "6" >
<label > AnimatedMapFilter.cpp</label>
<link refid= "alib_2dna_2filters_2AnimatedMapFilter_8cpp" />
</node>
<node id= "7" >
<label > AnimatedMapFilter.h</label>
<link refid= "alib_2dna_2filters_2AnimatedMapFilter_8h" />
<childnode refid= "6" relation= "include" >
</childnode>
</node>
<node id= "8" >
<label > BlendShapeFilter.cpp</label>
<link refid= "alib_2dna_2filters_2BlendShapeFilter_8cpp" />
</node>
<node id= "9" >
<label > BlendShapeFilter.h</label>
<link refid= "alib_2dna_2filters_2BlendShapeFilter_8h" />
<childnode refid= "8" relation= "include" >
</childnode>
</node>
<node id= "40" >
<label > JointFilter.cpp</label>
<link refid= "alib_2dna_2filters_2JointFilter_8cpp" />
</node>
<node id= "42" >
<label > JointFilter.h</label>
<link refid= "alib_2dna_2filters_2JointFilter_8h" />
<childnode refid= "38" relation= "include" >
</childnode>
<childnode refid= "40" relation= "include" >
</childnode>
</node>
<node id= "41" >
<label > MeshFilter.cpp</label>
<link refid= "alib_2dna_2filters_2MeshFilter_8cpp" />
</node>
<node id= "48" >
<label > MeshFilter.h</label>
<link refid= "alib_2dna_2filters_2MeshFilter_8h" />
<childnode refid= "38" relation= "include" >
</childnode>
<childnode refid= "41" relation= "include" >
</childnode>
</node>
<node id= "49" >
<label > Remap.h</label>
<link refid= "alib_2dna_2filters_2Remap_8h" />
<childnode refid= "6" relation= "include" >
</childnode>
<childnode refid= "8" relation= "include" >
</childnode>
<childnode refid= "40" relation= "include" >
</childnode>
<childnode refid= "41" relation= "include" >
</childnode>
</node>
<node id= "10" >
<label > BoundingBox.h</label>
<link refid= "BoundingBox_8h" />
<childnode refid= "11" relation= "include" >
</childnode>
</node>
<node id= "53" >
<label > Triangle.cpp</label>
<link refid= "Triangle_8cpp" />
</node>
<node id= "52" >
<label > Triangle.h</label>
<link refid= "Triangle_8h" />
<childnode refid= "53" relation= "include" >
</childnode>
<childnode refid= "11" relation= "include" >
</childnode>
</node>
<node id= "13" >
<label > UVBarycentricMapping.cpp</label>
<link refid= "UVBarycentricMapping_8cpp" />
</node>
<node id= "11" >
<label > UVBarycentricMapping.h</label>
<link refid= "UVBarycentricMapping_8h" />
<childnode refid= "12" relation= "include" >
</childnode>
<childnode refid= "13" relation= "include" >
</childnode>
</node>
<node id= "5" >
<label > Algorithm.h</label>
<link refid= "Algorithm_8h" />
<childnode refid= "3" relation= "include" >
</childnode>
</node>
<node id= "1" >
<label > Computations.h</label>
<link refid= "Computations_8h" />
<childnode refid= "2" relation= "include" >
</childnode>
<childnode refid= "54" relation= "include" >
</childnode>
</node>
<node id= "2" >
<label > TDM.h</label>
<link refid= "TDM_8h" />
<childnode refid= "3" relation= "include" >
</childnode>
<childnode refid= "4" relation= "include" >
</childnode>
</node>
<node id= "54" >
<label > Transforms.h</label>
<link refid= "Transforms_8h" />
<childnode refid= "2" relation= "include" >
</childnode>
</node>
</invincdepgraph>
<innernamespace refid= "namespacetdm" > tdm</innernamespace>
<innernamespace refid= "namespacetdm_1_1impl" > tdm::impl</innernamespace>
<briefdescription >
</briefdescription>
<detaileddescription >
</detaileddescription>
<programlisting >
<codeline lineno= "1" > <highlight class= "comment" > //<sp /> Copyright<sp /> Epic<sp /> Games,<sp /> Inc.<sp /> All<sp /> Rights<sp /> Reserved.</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "2" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "3" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #pragma<sp /> once</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "4" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "5" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #include<sp /> " <ref refid= "Types_8h" kindref= "compound" > tdm/Types.h</ref> " </highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "6" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #include<sp /> " <ref refid= "Mat_8h" kindref= "compound" > tdm/Mat.h</ref> " </highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "7" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #include<sp /> " <ref refid= "Vec_8h" kindref= "compound" > tdm/Vec.h</ref> " </highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "8" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "9" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #ifdef<sp /> _MSC_VER</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "10" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > <sp /> <sp /> <sp /> <sp /> #pragma<sp /> warning(push)</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "11" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > <sp /> <sp /> <sp /> <sp /> #pragma<sp /> warning(disable<sp /> :<sp /> 4365<sp /> 4987)</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "12" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #endif</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "13" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #include<sp /> < cmath> </highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "14" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #include<sp /> < utility> </highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "15" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #ifdef<sp /> _MSC_VER</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "16" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > <sp /> <sp /> <sp /> <sp /> #pragma<sp /> warning(pop)</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "17" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #endif</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "18" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "19" refid= "namespacetdm" refkind= "compound" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > namespace<sp /> </highlight> <highlight class= "normal" > <ref refid= "namespacetdm" kindref= "compound" > tdm</ref> <sp /> {</highlight> </codeline>
<codeline lineno= "20" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "21" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "22" refid= "namespacetdm_1ab7a32e9e75bbffd9cda585d73d313de8" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec3< T> </ref> <sp /> <ref refid= "namespacetdm_1ab7a32e9e75bbffd9cda585d73d313de8" kindref= "member" > cross</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec3< T> </ref> & <sp /> lhs,<sp /> </highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec3< T> </ref> & <sp /> rhs)<sp /> {</highlight> </codeline>
<codeline lineno= "23" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec3< T> </ref> {</highlight> </codeline>
<codeline lineno= "24" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> lhs[1]<sp /> *<sp /> rhs[2]<sp /> -<sp /> lhs[2]<sp /> *<sp /> rhs[1],</highlight> </codeline>
<codeline lineno= "25" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> lhs[2]<sp /> *<sp /> rhs[0]<sp /> -<sp /> lhs[0]<sp /> *<sp /> rhs[2],</highlight> </codeline>
<codeline lineno= "26" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> lhs[0]<sp /> *<sp /> rhs[1]<sp /> -<sp /> lhs[1]<sp /> *<sp /> rhs[0]</highlight> </codeline>
<codeline lineno= "27" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> };</highlight> </codeline>
<codeline lineno= "28" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "29" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "30" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> L,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "31" refid= "namespacetdm_1a789cefc95e9408211615da063d75b751" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> T<sp /> <ref refid= "namespacetdm_1a789cefc95e9408211615da063d75b751" kindref= "member" > dot</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> & <sp /> lhs,<sp /> </highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> & <sp /> rhs)<sp /> {</highlight> </codeline>
<codeline lineno= "32" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> (lhs<sp /> *<sp /> rhs).sum();</highlight> </codeline>
<codeline lineno= "33" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "34" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "35" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> L,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "36" refid= "namespacetdm_1a7e856a88d452831ae93e3f22c03b3e83" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> <sp /> <ref refid= "namespacetdm_1a7e856a88d452831ae93e3f22c03b3e83" kindref= "member" > negate</ref> (<ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> <sp /> v)<sp /> {</highlight> </codeline>
<codeline lineno= "37" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> v.<ref refid= "structtdm_1_1vec_1a3f3ea73401edb017414292df5c64d4a8" kindref= "member" > negate</ref> ();</highlight> </codeline>
<codeline lineno= "38" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "39" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "40" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> R,<sp /> dim_t<sp /> C,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "41" refid= "namespacetdm_1ad2984aa9fe011508721b2582fd533cbd" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< R, C, T> </ref> <sp /> <ref refid= "namespacetdm_1a7e856a88d452831ae93e3f22c03b3e83" kindref= "member" > negate</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< R, C, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "42" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> m.negate();</highlight> </codeline>
<codeline lineno= "43" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "44" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "45" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> L,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "46" refid= "namespacetdm_1aa46734d11a9299f44130a29409c2963f" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> std::enable_if< std::is_floating_point< T> ::value,<sp /> T> ::type<sp /> <ref refid= "namespacetdm_1aa46734d11a9299f44130a29409c2963f" kindref= "member" > length</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> & <sp /> v)<sp /> {</highlight> </codeline>
<codeline lineno= "47" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> v.<ref refid= "structtdm_1_1vec_1a2b355427a69d56cf8a32539191d96c93" kindref= "member" > length</ref> ();</highlight> </codeline>
<codeline lineno= "48" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "49" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "50" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> L,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "51" refid= "namespacetdm_1a19d3e09b0d8eea38abc06732ed3775a7" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> std::enable_if< std::is_floating_point< T> ::value,<sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> <sp /> > ::type<sp /> <ref refid= "namespacetdm_1a19d3e09b0d8eea38abc06732ed3775a7" kindref= "member" > normalize</ref> (<ref refid= "structtdm_1_1vec" kindref= "compound" > vec< L, T> </ref> <sp /> v)<sp /> {</highlight> </codeline>
<codeline lineno= "52" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> v.<ref refid= "structtdm_1_1vec_1acd44cca051bda523e42cbfcbd26f49c9" kindref= "member" > normalize</ref> ();</highlight> </codeline>
<codeline lineno= "53" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> v;</highlight> </codeline>
<codeline lineno= "54" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "55" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "56" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> R,<sp /> dim_t<sp /> C,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "57" refid= "namespacetdm_1ad5abf5602d97e3df89baa5700086e9cd" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< C, R, T> </ref> <sp /> <ref refid= "namespacetdm_1ad5abf5602d97e3df89baa5700086e9cd" kindref= "member" > transpose</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< R, C, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "58" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keyword" > using<sp /> </highlight> <highlight class= "normal" > row_type<sp /> =<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1vec" kindref= "compound" > mat< C, R, T> ::row_type</ref> ;</highlight> </codeline>
<codeline lineno= "59" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< C, R, T> </ref> <sp /> ret;</highlight> </codeline>
<codeline lineno= "60" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> ret.<ref refid= "structtdm_1_1mat_1a5b4b59b8794a8e4223119c64c47252dc" kindref= "member" > apply</ref> ([& m](row_type& <sp /> row,<sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> i)<sp /> {</highlight> </codeline>
<codeline lineno= "61" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> row<sp /> =<sp /> m.column(i);</highlight> </codeline>
<codeline lineno= "62" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> });</highlight> </codeline>
<codeline lineno= "63" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> ret;</highlight> </codeline>
<codeline lineno= "64" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "65" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "66" refid= "namespacetdm_1_1impl" refkind= "compound" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > namespace<sp /> </highlight> <highlight class= "normal" > impl<sp /> {</highlight> </codeline>
<codeline lineno= "67" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "68" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #pragma<sp /> push_macro(" minor" </highlight> <highlight class= "normal" > )</highlight> </codeline>
<codeline lineno= "69" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #undef<sp /> minor</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "70" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "71" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "72" refid= "namespacetdm_1_1impl_1a8b9bffce0b1b01437454596d529e020a" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> </highlight> <highlight class= "keywordtype" > void</highlight> <highlight class= "normal" > <sp /> <ref refid= "namespacetdm_1_1impl_1a8b9bffce0b1b01437454596d529e020a" kindref= "member" > minor</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> input,<sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> dimensions,<sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> i,<sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> j,<sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> output)<sp /> {</highlight> </codeline>
<codeline lineno= "73" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> outRow{},<sp /> inRow{};<sp /> inRow<sp /> < <sp /> dimensions;<sp /> ++inRow)<sp /> {</highlight> </codeline>
<codeline lineno= "74" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> outCol{},<sp /> inCol{};<sp /> inCol<sp /> < <sp /> dimensions;<sp /> ++inCol)<sp /> {</highlight> </codeline>
<codeline lineno= "75" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > if</highlight> <highlight class= "normal" > <sp /> ((inRow<sp /> !=<sp /> i)<sp /> & & <sp /> (inCol<sp /> !=<sp /> j))<sp /> {</highlight> </codeline>
<codeline lineno= "76" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> output(outRow,<sp /> outCol)<sp /> =<sp /> input(inRow,<sp /> inCol);</highlight> </codeline>
<codeline lineno= "77" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> ++outCol;</highlight> </codeline>
<codeline lineno= "78" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > if</highlight> <highlight class= "normal" > <sp /> (outCol<sp /> ==<sp /> (dimensions<sp /> -<sp /> </highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> </highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > (1)))<sp /> {</highlight> </codeline>
<codeline lineno= "79" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> outCol<sp /> =<sp /> {};</highlight> </codeline>
<codeline lineno= "80" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> ++outRow;</highlight> </codeline>
<codeline lineno= "81" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "82" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "83" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "84" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "85" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "86" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "87" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "88" refid= "namespacetdm_1_1impl_1abb27bdfe1717ef57f4dcd7cba4ab4cbb" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> T<sp /> <ref refid= "namespacetdm_1_1impl_1abb27bdfe1717ef57f4dcd7cba4ab4cbb" kindref= "member" > determinant</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> m,<sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> dimensions)<sp /> {</highlight> </codeline>
<codeline lineno= "89" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > if</highlight> <highlight class= "normal" > <sp /> (dimensions<sp /> ==<sp /> </highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> </highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > (1))<sp /> {</highlight> </codeline>
<codeline lineno= "90" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> m(0,<sp /> 0);</highlight> </codeline>
<codeline lineno= "91" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "92" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "93" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> T<sp /> result{};</highlight> </codeline>
<codeline lineno= "94" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> temp;</highlight> </codeline>
<codeline lineno= "95" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keyword" > auto</highlight> <highlight class= "normal" > <sp /> sign<sp /> =<sp /> </highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > T</highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > (1);</highlight> </codeline>
<codeline lineno= "96" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> i{};</highlight> </codeline>
<codeline lineno= "97" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> j{};<sp /> j<sp /> < <sp /> dimensions;<sp /> ++j)<sp /> {</highlight> </codeline>
<codeline lineno= "98" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <ref refid= "namespacetdm_1_1impl_1a8b9bffce0b1b01437454596d529e020a" kindref= "member" > minor</ref> (m,<sp /> dimensions,<sp /> i,<sp /> j,<sp /> temp);</highlight> </codeline>
<codeline lineno= "99" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> result<sp /> +=<sp /> (sign<sp /> *<sp /> m(i,<sp /> j)<sp /> *<sp /> <ref refid= "namespacetdm_1_1impl_1abb27bdfe1717ef57f4dcd7cba4ab4cbb" kindref= "member" > determinant</ref> (temp,<sp /> dimensions<sp /> -<sp /> 1));</highlight> </codeline>
<codeline lineno= "100" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> sign<sp /> =<sp /> -sign;</highlight> </codeline>
<codeline lineno= "101" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "102" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "103" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> result;</highlight> </codeline>
<codeline lineno= "104" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "105" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "106" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "107" refid= "namespacetdm_1_1impl_1a984ad92a11c06e34fc8cbd1e3bbf468f" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> <ref refid= "namespacetdm_1_1impl_1a984ad92a11c06e34fc8cbd1e3bbf468f" kindref= "member" > adjoint</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "108" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > if</highlight> <highlight class= "normal" > <sp /> (m.rows()<sp /> ==<sp /> </highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > <ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> </highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > (1))<sp /> {</highlight> </codeline>
<codeline lineno= "109" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> {</highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > T</highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > (1)};</highlight> </codeline>
<codeline lineno= "110" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "111" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "112" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> result;</highlight> </codeline>
<codeline lineno= "113" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> temp;</highlight> </codeline>
<codeline lineno= "114" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> row{};<sp /> row<sp /> < <sp /> m.rows();<sp /> ++row)<sp /> {</highlight> </codeline>
<codeline lineno= "115" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> col{};<sp /> col<sp /> < <sp /> m.columns();<sp /> ++col)<sp /> {</highlight> </codeline>
<codeline lineno= "116" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <ref refid= "namespacetdm_1_1impl_1a8b9bffce0b1b01437454596d529e020a" kindref= "member" > minor</ref> (m,<sp /> N,<sp /> row,<sp /> col,<sp /> temp);</highlight> </codeline>
<codeline lineno= "117" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> T<sp /> sign<sp /> =<sp /> </highlight> <highlight class= "keyword" > static_cast< </highlight> <highlight class= "normal" > T</highlight> <highlight class= "keyword" > > </highlight> <highlight class= "normal" > ((row<sp /> +<sp /> col)<sp /> %<sp /> 2u<sp /> ==<sp /> 0u<sp /> ?<sp /> 1<sp /> :<sp /> -1);</highlight> </codeline>
<codeline lineno= "118" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> result(col,<sp /> row)<sp /> =<sp /> (sign<sp /> *<sp /> <ref refid= "namespacetdm_1_1impl_1abb27bdfe1717ef57f4dcd7cba4ab4cbb" kindref= "member" > determinant</ref> (temp,<sp /> N<sp /> -<sp /> 1));</highlight> </codeline>
<codeline lineno= "119" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "120" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "121" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> result;</highlight> </codeline>
<codeline lineno= "122" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "123" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "124" > <highlight class= "normal" > </highlight> <highlight class= "preprocessor" > #pragma<sp /> pop_macro(" minor" </highlight> <highlight class= "normal" > )</highlight> </codeline>
<codeline lineno= "125" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "126" > <highlight class= "normal" > }<sp /> <sp /> </highlight> <highlight class= "comment" > //<sp /> namespace<sp /> impl</highlight> <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "127" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "128" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "129" refid= "namespacetdm_1a8b9006c1e5787cd89b7da5bdb8749ba0" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> T<sp /> <ref refid= "namespacetdm_1a8b9006c1e5787cd89b7da5bdb8749ba0" kindref= "member" > determinant</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "130" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> <ref refid= "namespacetdm_1_1impl_1abb27bdfe1717ef57f4dcd7cba4ab4cbb" kindref= "member" > impl::determinant</ref> (m,<sp /> N);</highlight> </codeline>
<codeline lineno= "131" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "132" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "133" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "134" refid= "namespacetdm_1af6249949ec4da22bf7b907f2751efcaa" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> <ref refid= "namespacetdm_1af6249949ec4da22bf7b907f2751efcaa" kindref= "member" > inverse</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "135" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> T<sp /> det<sp /> =<sp /> <ref refid= "namespacetdm_1a8b9006c1e5787cd89b7da5bdb8749ba0" kindref= "member" > determinant</ref> (m);</highlight> </codeline>
<codeline lineno= "136" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > if</highlight> <highlight class= "normal" > <sp /> (det<sp /> ==<sp /> T{})<sp /> {</highlight> </codeline>
<codeline lineno= "137" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> {};</highlight> </codeline>
<codeline lineno= "138" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "139" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "140" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> adj<sp /> =<sp /> <ref refid= "namespacetdm_1_1impl_1a984ad92a11c06e34fc8cbd1e3bbf468f" kindref= "member" > impl::adjoint</ref> (m);</highlight> </codeline>
<codeline lineno= "141" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> <sp /> inv;</highlight> </codeline>
<codeline lineno= "142" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> row{};<sp /> row<sp /> < <sp /> m.rows();<sp /> ++row)<sp /> {</highlight> </codeline>
<codeline lineno= "143" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> col{};<sp /> col<sp /> < <sp /> m.columns();<sp /> ++col)<sp /> {</highlight> </codeline>
<codeline lineno= "144" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> inv(row,<sp /> col)<sp /> =<sp /> adj(row,<sp /> col)<sp /> /<sp /> det;</highlight> </codeline>
<codeline lineno= "145" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "146" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "147" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> inv;</highlight> </codeline>
<codeline lineno= "148" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "149" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "150" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > template</highlight> <highlight class= "normal" > < dim_t<sp /> N,<sp /> </highlight> <highlight class= "keyword" > typename</highlight> <highlight class= "normal" > <sp /> T> </highlight> </codeline>
<codeline lineno= "151" refid= "namespacetdm_1af2af6050315345aa0db49cc5f77ba33f" refkind= "member" > <highlight class= "normal" > </highlight> <highlight class= "keyword" > inline</highlight> <highlight class= "normal" > <sp /> T<sp /> <ref refid= "namespacetdm_1af2af6050315345aa0db49cc5f77ba33f" kindref= "member" > trace</ref> (</highlight> <highlight class= "keyword" > const</highlight> <highlight class= "normal" > <sp /> <ref refid= "structtdm_1_1mat" kindref= "compound" > mat< N, N, T> </ref> & <sp /> m)<sp /> {</highlight> </codeline>
<codeline lineno= "152" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> T<sp /> <ref refid= "namespacetdm_1af2af6050315345aa0db49cc5f77ba33f" kindref= "member" > trace</ref> {0};</highlight> </codeline>
<codeline lineno= "153" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > for</highlight> <highlight class= "normal" > <sp /> (<ref refid= "namespacetdm_1a644d3de5f1ca2eaa628196afcfbadef4" kindref= "member" > dim_t</ref> <sp /> row{};<sp /> row<sp /> < <sp /> m.rows();<sp /> ++row)<sp /> {</highlight> </codeline>
<codeline lineno= "154" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <sp /> <ref refid= "namespacetdm_1af2af6050315345aa0db49cc5f77ba33f" kindref= "member" > trace</ref> <sp /> +=<sp /> m(row,<sp /> row);</highlight> </codeline>
<codeline lineno= "155" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> }</highlight> </codeline>
<codeline lineno= "156" > <highlight class= "normal" > <sp /> <sp /> <sp /> <sp /> </highlight> <highlight class= "keywordflow" > return</highlight> <highlight class= "normal" > <sp /> <ref refid= "namespacetdm_1af2af6050315345aa0db49cc5f77ba33f" kindref= "member" > trace</ref> ;</highlight> </codeline>
<codeline lineno= "157" > <highlight class= "normal" > }</highlight> </codeline>
<codeline lineno= "158" > <highlight class= "normal" > </highlight> </codeline>
<codeline lineno= "159" > <highlight class= "normal" > }<sp /> <sp /> </highlight> <highlight class= "comment" > //<sp /> namespace<sp /> tdm</highlight> <highlight class= "normal" > </highlight> </codeline>
</programlisting>
2022-12-02 21:35:01 +08:00
<location file= "C:/source/MetaHuman-DNA-Calibration_clean/dnacalib/DNACalib/src/tdm/Computations.h" />
2022-11-28 19:21:26 +08:00
</compounddef>
</doxygen>