後で追加修正するかも。
指標の一覧:
| 名前 | 提供記号 | ひとこと |
|---|---|---|
| Magma | * | 乗法記号使ったマグマ |
| UnitalMagma | *, 1 | 単位的マグマ |
| MonoidAste | *, 1 | モノイド |
| MonoidPlus | +, 0 | モノイド |
| Group | *, 1, ~ | 群 |
| AbGroupPlus | +, 0, - | アーベル群 |
| Ring | +, 0, -, *, 1 | 可換とは限らない環 |
| SemiRing | +, 0, *, 1 | 可換とは限らない半環 |
| CommRing | +, 0, -, *, 1 | 可換環 |
指標の忘却関係
- UnitalMagma →Magma
- MonoidAste → UnitalMagma
- Group → MonoidAste
- AbGroupPlus → MonoidPlus
- SemiRing → Ring
- CommRing → Ring
集合の一覧:
| 名前 | ひとこと |
|---|---|
| Real | 実数 |
| String | 文字列 |
| Vect3 | 3次元数ベクトル |
| SqMat[n] | n次元数正方行列 |
※ SqMat = square matrix
| + | * | |
|---|---|---|
| Real | CommRing | CommRing |
| String | MonoidPlus | UnitalMagma |
| Vect3 | AbGroupPlus | Magma |
| SqMat[n] | Ring | Ring |
※選択テーブル=ルックアップ・テーブル
| ~ | - | |
|---|---|---|
| Real | なし | CommRing |
| String | なし | なし |
| Vect3 | なし | AbGroup |
| SqMat[n] | なし | Ring |
定数のアドホック選択テーブル、指標を選ぶ:
| 0 | 1 | |
|---|---|---|
| Real | CommRing | CommRing |
| String | MonoidPlus | UnitalMagma |
| Vect3 | AbGroupPlus | なし |
| SqMat[n] | Ring | Ring |
実装の選択テーブル、指標の実装を選ぶ:
| Real | String | Vect3 | SqMat[n] | |
|---|---|---|---|---|
| Magma | なし | 継承 | Vect3Cross | なし |
| UnitalMagma | なし | StringMult | なし | なし |
| MonoidAste | なし | なし | なし | なし |
| MonoidPlus | なし | StringAdd | なし | なし |
| Group | なし | なし | なし | なし |
| AbGroupPlus | なし | なし | Vect3Add | なし |
| Ring | 継承 | なし | なし | AqMatRing[n] |
| SemiRing | 継承 | なし | なし | 継承 |
| CommRing | RealRing | なし | なし | なし |