Symia 0.4发布 符号演算的C++库

Symia是一个帮助程序员进行符号演算的C++++ 库,该库没有用户界面图形或文字。

Symia主要特点:

1、Symia是程序员目标对象的一个库。
2、Symia是采用C++编写。
3、Symia是GNU通用公共许可证下发布,无源码软件也可以利用它。
4、Symia使用单元测试以防止回归,以确保稳健性,并提供工作的例子给用户参考。

Symia 0.4该版本修复了几个重要的错误。最重要的是一些内存泄漏问题已修复。

软件信息:http://labs.freehackers.org/projects/symia/wiki

使用范例:

1 { 2     Expression x("x"), y("y"), a("a"), b("b"), c("c"); // create symbols

3

4     // Operators and
most classical
functions are overloaded, so you can construct

5     // complex expressions the way you expect.

6     Expression e = a*x+b*x*x*exp(-c*(x+1)/(x*x));

7

8     // Helpers are provided to display an expression

9     std::string e_as_text = e.toString();

10     // now e_as_text is "a*x+b*x*x*exp(-c*(x+1)/(x*x))"

11

12     // You can substitute an expression to any symbol

13     e = e.replace(x, b+log(c))

14     // e now is "a*(b+log(c))+b*(b+log(c))*(b+log(c))*exp(-c*(b+log(c)+1)/((b+log(c))*(b+log(c))))"

15     // yes, this is ugly, and this is the reason why you are happy a computer handles it for you.

16

17     // Evaluation is about using replace() as well

18     e = e.replace(a,-3).replace(c,1).replace(b,.78);

19     // e now is "-2.31455"

20

21     // symia provides a way to compute the derivative with respect to a symbol:

22     e = sqrt(a+log(x)*b)+exp(cos(x));

23     e = e.derivative(x);

24     // e now is "b/x*
0.5/sqrt(a+log(x)*b)-sin(x)*exp(cos(x))"

25

26 }

时间: 2024-10-13 19:45:40

Symia 0.4发布 符号演算的C++库的相关文章

libmemcached 0.51发布 一个memcached的库

libmemcached 0.51该版本memcached_callback_set()现在需要一个const数据参数.测试的更新,端口号分析器的修复. libmemcached 是一个memcached的库,客户端库,C++ 和 C++ 语言实现的客户端库,具有低http://www.aliyun.com/zixun/aggregation/17969.html">内存占用率.线程安全.并提供对memcached功能的全面支持.它还采用 多种命令行工具: memcat , memflus

STALLioN 0.08发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切 STALLioN 0.08该版本增加了对Windows和Linux的最基本输入支持.当前版本只能检查如果某一个键被按下或没有.输入是非阻塞(单线程),并使用相同scanco

STALLioN 0.07发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切换. STALLioN 0.07该版本增加了支持Windows和Linux的所有功能,多种颜色的单个字符和格式化字符串输出(即printf的),可控的光标位置.闪光率.能见度

Hotpatch 0.1发布 目标进程执行库

Hotpatch是一个可以用来动态地加载共享库到另一个已经运行的进程中,从一个进程在Linux上的文件不影响目标进程的执行库. API是一个C++ API,但也支持C++.用户可以载入他/她自己的.so文件,到一个已经运行的进程文件,调用一个自定义的符号/功能在这个.so文件中.该函数只传递参数,因此它序列化的一个字节的缓冲区和长度形成缓冲区. Hotpatch 0.1此版本发行第一个64位Linux. Hotpatch方法可以在执行中修改系统中存在的用户态公用dll的内容,甚至是修改内核模块的

D:YAML 0.3发布 YAML解析器库

D:YAML是一款基于D编程语言的YAML解析器库,它大部份符合YAML 1.1规范.它具有一个没有外部依赖性的D编译器和标准库.D:YAML的特点是易于使用,支持YAML设置的完整功能. YAML是一个可读性高,用来表达资料序列的编程语言.YAML参考了其他多种语言,包括:XML.C语言.Python.Perl以及电子邮件格式RFC2822.Clark Evans在2001年在首次发表了这种语言[1] ,另外Ingy döt Net与Oren Ben-http://www.aliyun.com

Urwid 1.0.1发布 文本控制台Python库

Urwid 1.0.1这是目前1.0正式版系列的错误修正版本. Urwid是一款用于开发文本控制台应用程序的Python库.它具有多种功能,包括:流体界面大小改变,支持UTF-8和CJK编码,标准和自定义文本布局模式,简单设置文本属性的标记和一个强大的动态列表框,用于处理部件类型的混合. 示例: palette_test.py Urwid Palette Test ( ) Monochrome (X) Foreground Colors ( ) 16-Color ( ) Background C

STALLioN 0.12发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切换 STALLioN http://www.aliyun.com/zixun/aggregation/37104.html">0.12该版本增加了一个新的功能,iowa

STALLioN 0.13发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切换 STALLioN 0.13该版本增加了一个iosetcursorposlin新的功能,是iosetcursorpos的一个克隆.它增加了两个函数的边界检查,改变光标位置时

STALLioN 0.10发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切换 STALLioN 0.10该版本改进了支持Windows的iogetch功能,增加了简单的标点符号/非字母数字的ASCII字符支持.新的密钥是从布局到不同的布局,目前标准