Skip to content

Commit

Permalink
Merge pull request #7 from theZiz/topic-SubVirtualDatum
Browse files Browse the repository at this point in the history
Added sub virtual datum support
  • Loading branch information
theZiz committed Oct 19, 2018
2 parents 0698d58 + 1690df3 commit 353f469
Show file tree
Hide file tree
Showing 32 changed files with 2,179 additions and 1,487 deletions.
1 change: 1 addition & 0 deletions documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,6 @@ help:
@find doxygen/xml -type f -exec sed -i "s/<definition>using common::allocator::Alpaka&lt; T_DevAcc, T_Size &gt;::/<definition>using common::allocator::Alpaka::/g" {} \;
@find doxygen/xml -type f -exec sed -i "s/<definition>using common::allocator::AlpakaMirror&lt; T_DevAcc, T_Size, T_Mapping &gt;::/<definition>using common::allocator::AlpakaMirror::/g" {} \;
@find doxygen/xml -type f -exec sed -i "s/<definition>using common::allocator::AlpakaShared&lt; T_Acc, T_count, T_uniqueID &gt;::/<definition>using common::allocator::AlpakaShared::/g" {} \;
@find doxygen/xml -type f -exec sed -i "s/<definition>using llama::VirtualDatum&lt; T_View, T_BoundDatumDomain &gt;::/<definition>using llama::VirtualDatum::/g" {} \;
# running sphinx-build while ignoring a warning generated by breathe from valid doxygen code
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 2>&1 | grep -v "WARNING: Duplicate declaration."
17 changes: 16 additions & 1 deletion documentation/doxygen/xml/DatumStruct_8hpp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@
<innerclass refid="structllama_1_1SizeOf_3_01DatumStruct_3_01T__FirstDatumElement_00_01T__DatumElements_8_8_8_01_4_4" prot="public">llama::SizeOf&lt; DatumStruct&lt; T_FirstDatumElement, T_DatumElements... &gt;&gt;</innerclass>
<innerclass refid="structllama_1_1SizeOf_3_01DatumStruct_3_01_4_01_4" prot="public">llama::SizeOf&lt; DatumStruct&lt; &gt; &gt;</innerclass>
<innerclass refid="structllama_1_1internal_1_1StubTypeImpl" prot="public">llama::internal::StubTypeImpl</innerclass>
<innerclass refid="structllama_1_1is__DatumStruct" prot="public">llama::is_DatumStruct</innerclass>
<innerclass refid="structllama_1_1is__DatumStruct_3_01DatumStruct_3_01T__DatumStructContent_8_8_8_01_4_01_4" prot="public">llama::is_DatumStruct&lt; DatumStruct&lt; T_DatumStructContent... &gt; &gt;</innerclass>
<innernamespace refid="namespacellama">llama</innernamespace>
<innernamespace refid="namespacellama_1_1internal">llama::internal</innernamespace>
<briefdescription>
Expand Down Expand Up @@ -311,7 +313,20 @@
<codeline lineno="174"><highlight class="keyword">template</highlight><highlight class="normal">&lt;<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumDomain<sp/>&gt;</highlight></codeline>
<codeline lineno="175" refid="namespacellama_1adb589a980e01610411523c3af5e5f4ed" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">using</highlight><highlight class="normal"><sp/><ref refid="namespacellama_1adb589a980e01610411523c3af5e5f4ed" kindref="member">StubType</ref><sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1StubTypeImpl_1af93e4ec691eca2caa37e36bb58217997" kindref="member">internal::StubTypeImpl&lt; T_DatumDomain &gt;::type</ref>;</highlight></codeline>
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
<codeline lineno="177"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>llama</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="177"><highlight class="normal"></highlight></codeline>
<codeline lineno="178"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_Type<sp/>&gt;</highlight></codeline>
<codeline lineno="179" refid="structllama_1_1is__DatumStruct" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structllama_1_1is__DatumStruct" kindref="compound">is_DatumStruct</ref></highlight></codeline>
<codeline lineno="180"><highlight class="normal">{</highlight></codeline>
<codeline lineno="181" refid="structllama_1_1is__DatumStruct_1aea74cea00b184b2420a2ac725149cd92" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>constexpr<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1LinearBytePosImpl_1a1ea766c50eb94d8ca36bad2c6975089e" kindref="member">value</ref><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="182"><highlight class="normal">};</highlight></codeline>
<codeline lineno="183"><highlight class="normal"></highlight></codeline>
<codeline lineno="184"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>T_DatumStructContent<sp/>&gt;</highlight></codeline>
<codeline lineno="185" refid="structllama_1_1is__DatumStruct_3_01DatumStruct_3_01T__DatumStructContent_8_8_8_01_4_01_4" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structllama_1_1is__DatumStruct" kindref="compound">is_DatumStruct</ref>&lt;<sp/><ref refid="namespacellama_1ad26ae6be4743f60f2379618d9bfb7cb0" kindref="member">DatumStruct</ref>&lt;<sp/>T_DatumStructContent...<sp/>&gt;<sp/>&gt;</highlight></codeline>
<codeline lineno="186"><highlight class="normal">{</highlight></codeline>
<codeline lineno="187" refid="structllama_1_1is__DatumStruct_3_01DatumStruct_3_01T__DatumStructContent_8_8_8_01_4_01_4_1a94d23595aece7c884001228cb782931c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>constexpr<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1LinearBytePosImpl_1a1ea766c50eb94d8ca36bad2c6975089e" kindref="member">value</ref><sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="188"><highlight class="normal">};</highlight></codeline>
<codeline lineno="189"><highlight class="normal"></highlight></codeline>
<codeline lineno="190"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>llama</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/home/alexander/develop/work/llama/include/llama/DatumStruct.hpp"/>
</compounddef>
Expand Down
3 changes: 1 addition & 2 deletions documentation/doxygen/xml/ForEach_8hpp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="macros_8hpp_1adad0b5fb27fb373cb41c47ed7ab419af" kindref="member">LLAMA_FN_HOST_ACC_INLINE</ref></highlight></codeline>
<codeline lineno="240" refid="structllama_1_1internal_1_1ApplyFunctorForEachLeaf_3_01DatumStruct_3_01T__Leaves_8_8_8_01_4_00_0873e5c33522256754320ecd22003f239_1adf595be1564452a4b580d34c3545b26b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1ApplyFunctorForEachLeaf_3_01DatumStruct_3_01T__Leaves_8_8_8_01_4_00_0873e5c33522256754320ecd22003f239_1adf595be1564452a4b580d34c3545b26b" kindref="member">apply</ref>(<sp/>T_Functor&amp;&amp;<sp/>functor<sp/>)</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structllama_1_1internal_1_1ApplyFunctorForEachLeafImpl" kindref="compound">ApplyFunctorForEachLeafImpl</ref>&lt;</highlight></codeline>
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structllama_1_1internal_1_1ApplyFunctorForEachLeafImpl" kindref="compound">ApplyFunctorForEachLeafImpl</ref>&lt;</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_DatumCoord,</highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structllama_1_1DatumCoord" kindref="compound">DatumCoord&lt; 0 &gt;</ref>,</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_Functor,</highlight></codeline>
Expand Down Expand Up @@ -429,7 +429,6 @@
<codeline lineno="316"><highlight class="normal"></highlight></codeline>
<codeline lineno="317"><highlight class="normal"></highlight></codeline>
<codeline lineno="318"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>llama</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="319"><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/home/alexander/develop/work/llama/include/llama/ForEach.hpp"/>
</compounddef>
Expand Down
54 changes: 53 additions & 1 deletion documentation/doxygen/xml/GetCoordFromUID_8hpp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
<innerclass refid="structllama_1_1internal_1_1GetCoordFromUIDImpl_3_01T__DatumDomain_00_01T__DatumCoord_00_01T__pos42aa3c321c620142ac61091bca4cc194" prot="public">llama::internal::GetCoordFromUIDImpl&lt; T_DatumDomain, T_DatumCoord, T_pos, typename std::enable_if&lt; std::is_same&lt; T_FirstUID, GetDatumElementUID&lt; boost::mp11::mp_first&lt; T_DatumDomain &gt; &gt; &gt;::value &gt;::type, T_FirstUID, T_UID... &gt;</innerclass>
<innerclass refid="structllama_1_1internal_1_1GetCoordFromUIDImpl_3_01T__DatumDomain_00_01T__DatumCoord_00_01T__posdbb55aaccff22d6a4c9d108b6b1d84bf" prot="public">llama::internal::GetCoordFromUIDImpl&lt; T_DatumDomain, T_DatumCoord, T_pos, typename std::enable_if&lt; !std::is_same&lt; T_FirstUID, GetDatumElementUID&lt; boost::mp11::mp_first&lt; T_DatumDomain &gt; &gt; &gt;::value &gt;::type, T_FirstUID, T_UID... &gt;</innerclass>
<innerclass refid="structllama_1_1internal_1_1GetCoordFromUIDImpl_3_01T__DatumDomain_00_01T__DatumCoord_00_01T__pos_00_01void_01_4" prot="public">llama::internal::GetCoordFromUIDImpl&lt; T_DatumDomain, T_DatumCoord, T_pos, void &gt;</innerclass>
<innerclass refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl" prot="public">llama::internal::GetCoordFromUIDRelativeImpl</innerclass>
<innernamespace refid="namespacellama">llama</innernamespace>
<innernamespace refid="namespacellama_1_1internal">llama::internal</innernamespace>
<briefdescription>
Expand Down Expand Up @@ -248,7 +249,58 @@
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/>T_UID...</highlight></codeline>
<codeline lineno="141" refid="namespacellama_1a3953132518a1c5bd14cbacc8107975db" refkind="member"><highlight class="normal">&gt;::type;</highlight></codeline>
<codeline lineno="142"><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>llama</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">internal</highlight></codeline>
<codeline lineno="144"><highlight class="normal">{</highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumCoord,</highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>T_UID</highlight></codeline>
<codeline lineno="150"><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="151" refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl" kindref="compound">GetCoordFromUIDRelativeImpl</ref></highlight></codeline>
<codeline lineno="152"><highlight class="normal">{</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl_1a99b9a9520d71d696e4cf1652709a50e3" kindref="member">AbsolutCoord</ref><sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1GetCoordFromUIDImpl" kindref="compound">internal::GetCoordFromUIDImpl</ref>&lt;</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespacellama_1a22362d58c566945f0f8178e2af1b0013" kindref="member">GetTypeFromDatumCoord</ref>&lt;</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_DatumCoord</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&gt;,</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_DatumCoord,</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0,</highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>void,</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_UID...</highlight></codeline>
<codeline lineno="162" refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl_1a99b9a9520d71d696e4cf1652709a50e3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/>&gt;<ref refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl_1a45745f3491000c6962af68167d95d1b2" kindref="member">::type</ref>;</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//Only<sp/>returning<sp/>the<sp/>datum<sp/>coord<sp/>relative<sp/>to<sp/>T_DatumCoord</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl_1a45745f3491000c6962af68167d95d1b2" kindref="member">type</ref><sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>AbsolutCoord::template<sp/>Back&lt;</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>AbsolutCoord::size<sp/>-<sp/>T_DatumCoord::size</highlight></codeline>
<codeline lineno="166" refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl_1a45745f3491000c6962af68167d95d1b2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/>&gt;;</highlight></codeline>
<codeline lineno="167"><highlight class="normal">};</highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight></codeline>
<codeline lineno="169"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>internal</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="170"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumCoord,</highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>T_UID</highlight></codeline>
<codeline lineno="186"><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="187"><highlight class="normal"></highlight><highlight class="keyword">using</highlight><highlight class="normal"><sp/><ref refid="namespacellama_1a2a66c0b18aabc9c5ad839c9f79e70023" kindref="member">GetCoordFromUIDRelative</ref><sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structllama_1_1internal_1_1GetCoordFromUIDRelativeImpl" kindref="compound">internal::GetCoordFromUIDRelativeImpl</ref>&lt;</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/>T_DatumCoord,</highlight></codeline>
<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/>T_UID...</highlight></codeline>
<codeline lineno="191" refid="namespacellama_1a2a66c0b18aabc9c5ad839c9f79e70023" refkind="member"><highlight class="normal">&gt;::type;</highlight></codeline>
<codeline lineno="192"><highlight class="normal"></highlight></codeline>
<codeline lineno="199"><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>T_UIDs</highlight></codeline>
<codeline lineno="202"><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="203"><highlight class="normal"></highlight><highlight class="keyword">using</highlight><highlight class="normal"><sp/><ref refid="namespacellama_1a611592a97449d75fa735130181876eda" kindref="member">GetTypeFromUID</ref><sp/>=<sp/><ref refid="namespacellama_1a22362d58c566945f0f8178e2af1b0013" kindref="member">GetTypeFromDatumCoord</ref>&lt;</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/>GetCoordFromUID&lt;</highlight></codeline>
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_DatumDomain,</highlight></codeline>
<codeline lineno="207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>T_UIDs...</highlight></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/>&gt;</highlight></codeline>
<codeline lineno="209" refid="namespacellama_1a611592a97449d75fa735130181876eda" refkind="member"><highlight class="normal">&gt;;</highlight></codeline>
<codeline lineno="210"><highlight class="normal"></highlight></codeline>
<codeline lineno="211"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>llama</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/home/alexander/develop/work/llama/include/llama/GetCoordFromUID.hpp"/>
</compounddef>
Expand Down

0 comments on commit 353f469

Please sign in to comment.