5 个版本
使用旧的Rust 2015
| 0.4.1 | 2019年4月23日 |
|---|---|
| 0.3.4 | 2018年3月27日 |
| 0.3.3 | 2018年2月27日 |
| 0.2.5 |
|
#1239 在 数学
22KB
586 行
easy-complex
easy-complex是一个通过宏生成、无依赖的crate,它提供了易于使用的复数运算,并为标准库中的大多数数值类型提供了类型转换。
如果您有任何问题,请在这里报告
功能
- 显式地将整数、无符号整数和浮点数转换为复数(
Complex)和指数复数(EComplex)。 - 使用重载的标准运算符进行轻松操作。
- 自定义的Display trait实现,可以以指数形式或矩形形式打印。
- 这是一个通过宏生成的crate,意味着其源代码在编译时通过宏生成。
用法
easy complex没有除标准库之外的任何依赖。只需将其添加到您的Cargo.toml
[dependencies]
easy_complex = "0.4.0"
添加到您的crate根目录
extern crate easy_complex;
如果您不使用或不想使用Cargo,该crate可以在crates.io页面找到
有关详细解释和使用方法,请访问wiki,其中演示了完整的用法
待办事项
- 扩展兼容性(待定)
- 添加更多示例和测试
- 一些复数域(C)的高级函数
- 清理并编写更广泛的文档
- 创建解析器(待定)
指南
由于crate是通过宏生成的,因此创建文档几乎是不可能的。
以下将列出crate的结构和方法的摘要。
| 结构 | 描述 |
|---|---|
Complex |
以矩形形式表示的复数 |
EComplex |
以指数形式表示的复数 |
| 枚举 | 描述 | 变体 |
|---|---|---|
| Angle | 角度 | Radians,Degrees |
这些方法在Complex和EComplex中均可用
| 方法 | 参数 | 输出 | 描述 |
|---|---|---|---|
| new | f32, f32或f64, f64 |
Self |
生成新的结构体 |
| real | f32或f64 |
返回复数实部的值 | |
| imag | f32或f64 |
返回复数虚部的值 | |
| module | f32或f64 |
返回复数的模 | |
| arg | f32或f64 |
返回复数的参数值 | |
| 共轭 | Self |
返回复数的共轭 | |
| ln | Self |
返回复数的自然对数 | |
| log | f32或f64 |
Self |
返回给定底数的对数 |
| log2 | Self |
返回以2为底的对数 | |
| log10 | Self |
返回以10为底的对数 | |
| powf | f32或f64 |
Self |
返回给定幂的数值 |
| exp | Self |
返回 e^self |
|
| sqrt | Self |
返回数值的平方根 | |
| root | usize |
Vec<Self> |
返回包含数值的第n个根的 Vec |
| powc | Self |
Self |
返回 self 的给定复数幂 |
| expf | f32或f64 |
Self |
返回给定底数到 self 的复数幂 |
| cos, sin, tan | Self |
返回相应的几何函数 | |
| cosh, sinh, tanh | Self |
返回相应的双曲几何函数 |
如何进行自动转换
要进行自动转换,请使用 convert! 宏,该宏位于 convert 模块中。
此宏接受一个类型列表,这些类型可以转换为 f32 或 f64,并为给定的结构体实现相应的方法。
此示例直接来自crate的源代码
convert!([i8, u8, i16, u16, f32], f32, Complex);
许可证
双许可,Apache 2.0 和 MIT 许可证