Metadata-Version: 2.1
Name: tamber-tower
Version: 2.0.0
Summary: 塔数系统（Ta Numbers）的 Python 实现
Home-page: https://github.com/yourusername/tamber
Author: Tamber Team
Author-email: 3753227864@qq.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Tamber 塔数模块

一个用于处理塔数系统的 Python 模块，支持塔数的创建、转换和各种运算，包括外部运算和内部运算两大体系。

## 功能特性

- **be_ta()**: 将普通数字转换为纯塔数
- **tanum()**: 将塔数转换为常数，返回可能的值集合
- **tacal()**: 外部运算器，计算包含塔数的表达式（返回单个值）
- **tascal()**: 内部运算器，处理纯塔数之间的可能性叠加（返回可能值集合）

## 安装方法

将 `tamber` 目录复制到你的 Python 项目中，或者添加到 Python 的搜索路径中。

## 使用示例

### 1. 基本用法

```python
from tamber import be_ta, tanum, tacal, tascal

# 创建塔数
ta_num = be_ta(3)
print(ta_num)  # 输出: 3'

# 获取塔数的可能值
values = tanum(ta_num)
print(values)  # 输出: [3, 0]

# 计算表达式（外部运算）
result = tacal("2^3'")
print(result)  # 输出: 8

# 内部运算
result = tascal("3' + 5'")
print(result)  # 输出: [3, 5, 8, 0]
```

### 2. 支持的运算符

#### 外部运算（塔数-常数混合）
- **加法**: `+`
- **减法**: `-`
- **乘法**: `×`
- **除法**: `÷`
- **幂运算**: `^`
- **开方运算**: `√`
- **括号**: `()`

#### 内部运算（纯塔数之间）
- **加法**: `⊕` 或 `+`
- **减法**: `⊖` 或 `-`
- **乘法**: `⊗` 或 `*`
- **除法**: `⊘` 或 `/`
- **括号**: `()`

### 3. 塔数类型

```python
from tamber import be_ta, parse_number

# 单塔数
ta1 = be_ta(5)
print(ta1)  # 输出: 5'

# 双塔数
ta2 = parse_number("3''")
print(ta2)  # 输出: 3''

# 多塔数
ta3 = parse_number("2'''")
print(ta3)  # 输出: 2'''

# 特殊塔数
ta4 = parse_number("∞'")
print(ta4)  # 输出: ∞'

# 混合类塔数
ta5 = parse_number("2'3")
print(ta5)  # 输出: 2'3
```

### 4. 外部运算示例

```python
# 塔数加法
print(tacal("1' + 2'"))  # 输出: 2

# 塔数乘法
print(tacal("2' × 3'"))  # 输出: 6'

# 塔数幂运算
print(tacal("2'^3'"))  # 输出: 8'

# 常数底塔指数
print(tacal("2^3'"))  # 输出: 8

# 塔数底常指数
print(tacal("2'^3"))  # 输出: 8

# 混合类塔数
print(tacal("2'3 + 4'5"))  # 输出: 45
```

### 5. 内部运算示例

```python
# 内部加法
print(tascal("3' + 5'"))  # 输出: [3, 5, 8, 0]

# 内部减法（自减升维）
print(tascal("4' - 4'"))  # 输出: 4''

# 内部乘法
print(tascal("2' * 3'"))  # 输出: 6'

# 内部除法
print(tascal("10' / 2'"))  # 输出: [5, ∞']
```

## 塔数系统规则

### 基本定义
- **常数**: 普通数字，如 `1`, `2`, `3`
- **单塔数**: 带一个撇号的数字，如 `1'`, `2'`, 状态集 `{a, 0}`
- **双塔数**: 带两个撇号的数字，如 `1''`, `2''`, 状态集 `{a, -a, 0}`
- **多塔数**: 带更多撇号的数字，如 `1'''`, 更高维可能性
- **特殊塔数**: `∞'`, 状态集 `{∞, 0}`
- **混合类**: 高位塔数位，低位常数位，如 `2'3`

### 外部运算规则
- **塔数 + 塔数**: 若两数相等结果为 0，否则结果为后一个数
- **塔数 + 常数**: 结果为常数
- **常数 + 塔数**: 结果为两数之和
- **塔数 × 塔数**: 结果为两数之积的塔数
- **塔数 × 常数**: 结果为 0（湮灭规则）
- **塔数 ^ 塔数**: 结果为塔数
- **塔数 ^ 常数**: 结果为常数
- **常数 ^ 塔数**: 结果为常数

### 内部运算规则
- **塔数 ⊕ 塔数**: 计算所有可能值的组合
- **塔数 ⊖ 塔数**: 自减升维（`a' - a' = a''`）
- **塔数 ⊗ 塔数**: 保持塔数性质
- **塔数 ⊘ 塔数**: 引入 `∞'`

## 错误处理

- 除数不能为零
- 不能对负数开方
- 括号必须匹配
- 运算符格式必须正确
- 无效字符

## 版本信息

- 版本: 2.0.0
- 作者: Tamber Team
- 日期: 2026-02-08
- 特性: 支持双塔数、多塔数、内部运算、特殊塔数
