212
212
213
213
< p class ="text-right "> < small >
214
214
最終更新日時(UTC):
215
- < span itemprop ="datePublished " content ="2024-08-26T11:40:12 ">
216
- 2024年08月26日 11時40分12秒
215
+ < span itemprop ="datePublished " content ="2024-08-26T13:25:47 ">
216
+ 2024年08月26日 13時25分47秒
217
217
</ span >
218
218
< br />
219
219
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
254
254
< span class ="k "> constexpr</ span > < span class ="k "> explicit</ span > < span class ="p "> (</ span > < span class ="n "> extents_type</ span > < span class ="o "> ::</ span > < span class ="n "> < a href ="../../extents/rank.html "> rank()</ a > </ span > < span class ="o "> ></ span > < span class ="mi "> 0</ span > < span class ="p "> )</ span >
255
255
< span class ="n "> mapping</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> < a href ="../../layout_stride/mapping.html "> layout_stride::mapping</ a > </ span > < span class ="o "> <</ span > < span class ="n "> OtherExtents</ span > < span class ="o "> >&</ span > < span class ="n "> other</ span > < span class ="p "> );</ span > < span class ="c1 "> // (6)</ span >
256
256
257
- < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> < a href =" ../mapping.html " > LayoutLeftPaddedMapping</ a > </ span > < span class ="o "> ></ span >
258
- < span class ="k "> constexpr</ span > < span class ="k "> explicit</ span > < span class ="p "> (</ span > < span class ="n "> see </ span > < span class =" n " > below </ span > < span class ="p "> )</ span >
259
- < span class ="n "> mapping</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> < a href =" ../mapping.html " > LayoutLeftPaddedMapping</ a > </ span > < span class ="o "> &</ span > < span class ="n "> other</ span > < span class ="p "> );</ span > < span class ="c1 "> // (7)</ span >
257
+ < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> LayoutLeftPaddedMapping</ span > < span class ="o "> ></ span >
258
+ < span class ="k "> constexpr</ span > < span class ="k "> explicit</ span > < span class ="p "> (</ span > < span class ="n "> < i > see below </ i > </ span > < span class ="p "> )</ span >
259
+ < span class ="n "> mapping</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> LayoutLeftPaddedMapping</ span > < span class ="o "> &</ span > < span class ="n "> other</ span > < span class ="p "> );</ span > < span class ="c1 "> // (7)</ span >
260
260
261
261
< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> LayoutRightPaddedMapping</ span > < span class ="o "> ></ span >
262
- < span class ="k "> constexpr</ span > < span class ="k "> explicit</ span > < span class ="p "> (</ span > < span class ="n "> see </ span > < span class =" n " > below </ span > < span class ="p "> )</ span >
262
+ < span class ="k "> constexpr</ span > < span class ="k "> explicit</ span > < span class ="p "> (</ span > < span class ="n "> < i > see below </ i > </ span > < span class ="p "> )</ span >
263
263
< span class ="n "> mapping</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> LayoutRightPaddedMapping</ span > < span class ="o "> &</ span > < span class ="n "> other</ span > < span class ="p "> )</ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span > < span class ="c1 "> // (8)</ span >
264
264
</ code > </ pre > </ div >
265
265
</ p >
@@ -306,27 +306,27 @@ <h2>事前条件</h2>
306
306
< ul >
307
307
< li > (3) :< ul >
308
308
< li > < code > ext</ code > の多次元インデクス空間のサイズを、< code > index_type</ code > 型で表現できること。</ li >
309
- < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.extent(0))</ code > を< code > index_type</ code > 型で表現できること。</ li >
310
- < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、半開区間< code > [1, rank_)</ code > の全ての値< code > k</ code > に対して< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.extent(0))</ code > と全ての< code > ext.extent(k)</ code > を乗算した値を< code > index_type</ code > 型で表現できること。</ li >
309
+ < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > を< code > index_type</ code > 型で表現できること。</ li >
310
+ < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、半開区間< code > [1, rank_)</ code > の全ての値< code > k</ code > に対して< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > と全ての< code > ext.extent(k)</ code > を乗算した値を< code > index_type</ code > 型で表現できること。</ li >
311
311
</ ul >
312
312
</ li >
313
313
< li > (4) :< ul >
314
314
< li > < code > pad</ code > の値を< code > index_type</ code > 型で表現できること。</ li >
315
315
< li > < code > extetns_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (pad) > 0</ code > </ li >
316
- < li > < code > rank_ > 1</ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.extent(0))</ code > を< code > index_type</ code > 型で表現できること。</ li >
317
- < li > < code > rank_ > 1</ code > のとき、半開区間< code > [1, rank_)</ code > の全ての値< code > k</ code > に対して< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.extent(0))</ code > と全ての< code > ext.extent(k)</ code > を乗算した値を< code > index_type</ code > 型で表現できること。</ li >
316
+ < li > < code > rank_ > 1</ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > を< code > index_type</ code > 型で表現できること。</ li >
317
+ < li > < code > rank_ > 1</ code > のとき、半開区間< code > [1, rank_)</ code > の全ての値< code > k</ code > に対して< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > と全ての< code > ext.extent(k)</ code > を乗算した値を< code > index_type</ code > 型で表現できること。</ li >
318
318
< li > < code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > padding_value == extetns_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (pad)</ code > </ li >
319
319
</ ul >
320
320
</ li >
321
321
< li > (5) :< ul >
322
- < li > < code > extents_type::< a href ="../../extents/rank.html "> rank()</ a > > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > other.< a href ="../../layout_left/mapping/stride.html "> stride</ a > </ code > ) < code > (1) == LEAST-MULTIPLE-AT-LEAST(padding_value, extents_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (other.extents().extent(0)))</ code > </ li >
322
+ < li > < code > extents_type::< a href ="../../extents/rank.html "> rank()</ a > > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > other.< a href ="../../layout_left/mapping/stride.html "> stride</ a > (1) == LEAST-MULTIPLE-AT-LEAST(padding_value, extents_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (other.extents().< a href =" ../../extents/ extent.html " > extent </ a > (0)))</ code > </ li >
323
323
< li > < code > other.< a href ="../../layout_left/mapping/required_span_size.html "> required_span_size()</ a > </ code > を、< code > index_type</ code > 型で表現できること。</ li >
324
324
</ ul >
325
325
</ li >
326
326
< li > (6) :< ul >
327
- < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > other.< a href ="../../layout_left /mapping/stride.html "> stride</ a > (1) == LEAST-MULTIPLE-AT-LEAST(padding_value, extents_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (other.extents().extent(0)))</ code > </ li >
327
+ < li > < code > rank_ > 1</ code > かつ< code > padding_value != < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > other.< a href ="../../layout_stride /mapping/stride.html "> stride</ a > (1) == LEAST-MULTIPLE-AT-LEAST(padding_value, extents_type::< a href ="../../extents/index-cast.html "> index-cast</ a > (other.extents().< a href =" ../../extents/ extent.html " > extent </ a > (0)))</ code > </ li >
328
328
< li > < code > rank_ > 0</ code > のとき、< code > other.< a href ="../../layout_stride/mapping/stride.html "> stride</ a > (0) == 1</ code > </ li >
329
- < li > < code > rank_ > 2</ code > のとき、半開区間< code > [2, rank_)</ code > の全ての値< code > r</ code > に対して< code > other.stride(r) == (other.extents().fwd-prod-of-extents(r) / other.extents().extent(0)) * other.stride(1)</ code > </ li >
329
+ < li > < code > rank_ > 2</ code > のとき、半開区間< code > [2, rank_)</ code > の全ての値< code > r</ code > に対して< code > other.< a href =" ../../layout_stride/mapping/ stride.html " > stride </ a > (r) == (other.extents().fwd-prod-of-extents(r) / other.extents().< a href =" ../../extents/ extent.html " > extent </ a > (0)) * other.stride(1)</ code > </ li >
330
330
< li > < code > other.< a href ="../../layout_stride/mapping/required_span_size.html "> required_span_size()</ a > </ code > を、< code > index_type</ code > 型で表現できること。</ li >
331
331
</ ul >
332
332
</ li >
@@ -349,15 +349,15 @@ <h2>効果</h2>
349
349
< li > (3) :< ul >
350
350
< li > < code > ext</ code > を用いて< code > extents_</ code > を< a class ="cpprefjp-defined-word " data-desc ="direct-non-list-initialization。リスト初期化ではない直接初期化 "> 直接非リスト初期化</ a > する。</ li >
351
351
< li > < code > rank_ > 1</ code > のとき、次の値を用いて< code > stride-1</ code > を< a class ="cpprefjp-defined-word " data-desc ="direct-non-list-initialization。リスト初期化ではない直接初期化 "> 直接非リスト初期化</ a > する。< ul >
352
- < li > < code > padding_value == < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > ext.extent(0)</ code > </ li >
353
- < li > そうでなければ、< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.extent(0))</ code > </ li >
352
+ < li > < code > padding_value == < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > ext.< a href =" ../../extents/ extent.html " > extent </ a > (0)</ code > </ li >
353
+ < li > そうでなければ、< code > LEAST-MULTIPLE-AT-LEAST(padding_value, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > </ li >
354
354
</ ul >
355
355
</ li >
356
356
</ ul >
357
357
</ li >
358
358
< li > (4) :< ul >
359
359
< li > < code > ext</ code > を用いて< code > extents_</ code > を< a class ="cpprefjp-defined-word " data-desc ="direct-non-list-initialization。リスト初期化ではない直接初期化 "> 直接非リスト初期化</ a > する。</ li >
360
- < li > < code > rank_ > 1</ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.extent(0))</ code > を用いて< code > stride-1</ code > を< a class ="cpprefjp-defined-word " data-desc ="direct-non-list-initialization。リスト初期化ではない直接初期化 "> 直接非リスト初期化</ a > する。</ li >
360
+ < li > < code > rank_ > 1</ code > のとき、< code > LEAST-MULTIPLE-AT-LEAST(pad, ext.< a href =" ../../extents/ extent.html " > extent </ a > (0))</ code > を用いて< code > stride-1</ code > を< a class ="cpprefjp-defined-word " data-desc ="direct-non-list-initialization。リスト初期化ではない直接初期化 "> 直接非リスト初期化</ a > する。</ li >
361
361
</ ul >
362
362
</ li >
363
363
< li > (5) :< ul >
@@ -422,7 +422,7 @@ <h2>例</h2>
422
422
< span class ="p "> }</ span >
423
423
< span class ="c1 "> // (5) : layout_left::mappingからの変換コンストラクタ</ span >
424
424
< span class ="p "> {</ span >
425
- < span class ="n "> std </ span > < span class =" o " > :: </ span > < span class =" n " > layout_left</ span > < span class =" o " > :: </ span > < span class =" n " > mapping </ span > < span class ="n "> src5</ span > < span class ="p "> {</ span > < span class ="n "> Ext3x3</ span > < span class ="p "> {}};</ span >
425
+ < span class ="n "> < a href =" ../../ layout_left/mapping.html " > std::layout_left::mapping </ a > </ span > < span class ="n "> src5</ span > < span class ="p "> {</ span > < span class ="n "> Ext3x3</ span > < span class ="p "> {}};</ span >
426
426
< span class ="n "> < span style ="color:#ff0000 "> std::layout_left_padded<>::mapping</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Ext2D</ span > < span class ="o "> ></ span > < span class ="n "> dst5</ span > < span class ="o "> =</ span > < span class ="n "> src5</ span > < span class ="p "> ;</ span >
427
427
< span class ="n "> < a href ="../../../cassert/assert.html "> assert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> dst5</ span > < span class ="p "> .</ span > < span class ="n "> stride</ span > < span class ="p "> (</ span > < span class ="mi "> 1</ span > < span class ="p "> )</ span > < span class ="o "> ==</ span > < span class ="mi "> 3</ span > < span class ="p "> );</ span >
428
428
< span class ="p "> }</ span >
0 commit comments