搜索插件、代码仓与 APP 分类

插件详情v2.0.0

invertible

一个用于定义可逆函数及其组合的 Dart 库

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
1.5万
喜欢数
3
Pub 分数
140

安装插件

flutter pub add invertible

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

可逆包是一个 Dart 库,旨在定义和使用可逆函数——即能够反转以恢复原始输入的函数。它支持组合多个可逆函数,同时保持其可逆性,从而实现安全且可预测的转换。适用于数学运算、数据处理流水线和可逆计算,通过类型安全和清晰的函数契约确保正确性。该库轻量级且兼容所有主要平台,适合需要双向逻辑的跨平台应用程序。

适合场景

  • 数学变换
  • 数据编码/解码
  • 可逆状态管理
  • 管道组合
  • 双向数据处理
  • 算法可逆性

主要特点

  • 支持可逆函数组合
  • 类型安全的反转机制
  • 跨平台兼容性
  • 定义逆函数的清晰 API
  • 轻量且依赖极少
  • 对不可逆情况的健壮错误处理

适合对象

  • 开发人员使用可逆算法
  • 数学或科学计算
  • 需要数据转换和恢复的应用程序
  • 构建模块化转换管道的工程师
  • 注重函数式编程中正确性的团队

使用建议

  • 需要函数在数学上可逆
  • 不适用于非确定性或有状态的操作
  • 必须显式定义反转
  • 仅限纯函数
  • 复杂组合的性能开销

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

invertible - Define invertible functions and their compositions

Version Build Status Coverage Status License

A Dart library for defining invertible functions and their compositions

Usage

See example/invertible_example.dart

final InvertibleRealFunction celsiusToFahrenheit =
    InvertibleRealFunction.parse('* 9; / 5; + 32;');

final InvertibleRealFunction fahrenheitToCelsius = celsiusToFahrenheit.inverse();

final num fahrenheit = celsiusToFahrenheit(40);
// fahrenheit == 104

final num celsius = fahrenheitToCelsius(41);
// celsius == 5

Syntax

See documentation for more

License

MIT

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目