---
generated_at: 2026-02-17 10:35:00
metrics:
  claims_total: 24
  claims_with_evidence: 24
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：42-deques

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：24 / 24、根拠なし：0
- 優先レビュー（高）
  - 全ての主張に根拠が存在するため、優先レビュー項目なし

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `lib/pure/collections/deques.nim` 10-21行目（モジュールドキュメント）
- E-02: `lib/pure/collections/deques.nim` 23-46行目（runnableExamples）
- E-03: `lib/pure/collections/deques.nim` 55-72行目（Deque型定義）
- E-04: `lib/pure/collections/deques.nim` 74-80行目（initImpl/checkIfInitialized）
- E-05: `lib/pure/collections/deques.nim` 82-83行目（mask関数）
- E-06: `lib/pure/collections/deques.nim` 85-96行目（initDeque関数）
- E-07: `lib/pure/collections/deques.nim` 98-100行目（len関数）
- E-08: `lib/pure/collections/deques.nim` 102-116行目（emptyCheck/xBoundsCheck）
- E-09: `lib/pure/collections/deques.nim` 118-150行目（[]演算子）
- E-10: `lib/pure/collections/deques.nim` 152-190行目（BackwardsIndex対応）
- E-11: `lib/pure/collections/deques.nim` 192-236行目（items/mitems/pairs）
- E-12: `lib/pure/collections/deques.nim` 238-251行目（contains関数）
- E-13: `lib/pure/collections/deques.nim` 253-266行目（expandIfNeeded関数）
- E-14: `lib/pure/collections/deques.nim` 268-296行目（addFirst/addLast関数）
- E-15: `lib/pure/collections/deques.nim` 298-310行目（toDeque関数）
- E-16: `lib/pure/collections/deques.nim` 312-370行目（peekFirst/peekLast関数）
- E-17: `lib/pure/collections/deques.nim` 375-405行目（popFirst/popLast関数）
- E-18: `lib/pure/collections/deques.nim` 407-448行目（clear/shrink関数）
- E-19: `lib/pure/collections/deques.nim` 450-460行目（$演算子）
- E-20: `lib/pure/collections/deques.nim` 462-480行目（==演算子）
- E-21: `lib/pure/collections/deques.nim` 482-487行目（hash関数）

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Dequeは両端キュー（double-ended queue）である | E-01 (10行目) | ○ |
| C-02 | 内部実装はseqを基盤とするリングバッファである | E-01 (11行目)、E-03 (61行目) | ○ |
| C-03 | 空Dequeに対するpeek/pop操作はIndexDefectを発生する | E-01 (13-18行目)、E-08 (102-106行目) | ○ |
| C-04 | Deque型はdata: seq[T]とhead, tail: uintで構成される | E-03 (56-69行目) | ○ |
| C-05 | defaultInitialSizeは4である | E-03 (72行目) | ○ |
| C-06 | initDequeは指定サイズを2のべき乗に切り上げる | E-04 (75行目) | ○ |
| C-07 | maskはdata.len - 1で計算される | E-05 (82-83行目) | ○ |
| C-08 | lenはtail - headで計算される | E-07 (100行目) | ○ |
| C-09 | boundChecks有効時に境界チェックが行われる | E-08 (104行目、110行目) | ○ |
| C-10 | インデックスアクセスは(head + i) and maskで計算される | E-09 (127行目) | ○ |
| C-11 | BackwardsIndexによる逆方向アクセスが可能 | E-10 (152-163行目) | ○ |
| C-12 | itemsイテレータはイテレーション中の長さ変更を検出する | E-11 (206行目) | ○ |
| C-13 | containsは線形探索で要素の存在を確認する | E-12 (249-250行目) | ○ |
| C-14 | expandIfNeededは容量不足時に2倍に拡張する | E-13 (257-258行目) | ○ |
| C-15 | addFirstはheadをデクリメントして先頭に追加する | E-14 (279-281行目) | ○ |
| C-16 | addLastは末尾に追加してtailをインクリメントする | E-14 (294-296行目) | ○ |
| C-17 | toDequeはNim 1.3以降で追加された | E-15 (298行目) | ○ |
| C-18 | peekFirstは削除せずに先頭要素を返却する | E-16 (312-325行目) | ○ |
| C-19 | peekLastは(tail - 1) and maskで末尾要素を返却する | E-16 (340行目) | ○ |
| C-20 | popFirstは先頭要素をmoveして返却しheadをインクリメントする | E-17 (388-389行目) | ○ |
| C-21 | popLastはtailをデクリメントして末尾要素をmoveして返却する | E-17 (404-405行目) | ○ |
| C-22 | clearは全要素をdestroyしてtail=headに設定する | E-18 (418-419行目) | ○ |
| C-23 | shrinkは前後から指定数の要素を削除する | E-18 (421-448行目) | ○ |
| C-24 | hash関数は各要素のハッシュを組み合わせる | E-21 (484-487行目) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし。全ての主張にソースコードからの根拠が存在する。

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全ての主張がソースコードの実装に基づいており、信頼性が高い

## 6) レビュアーチェックリスト（最小）
- [x] 全ての主張に根拠（ソースコード行番号）が存在することを確認
- [x] Deque型の構造がソースコードと一致していることを確認
- [x] 各関数の動作説明がソースコードの実装と整合していることを確認
- [ ] runnableExamplesの動作確認（任意）
- [ ] -d:danger時の動作についての注意事項確認（任意）
