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 许可证