如何設計乙個底層的數學函式庫?

2021-09-12 04:00:19 字數 571 閱讀 6044

如何設計乙個底層的數學函式庫?

設計目標:

第一是效能,第二是高精度

設計原則如下:

第一 函式的實現,第一目標是效能,**的可讀性,可維護性等指標讓位於**的執行效能。

第二 函式的包體系結構,函式的命名必須符合它的直觀的含義,降低呼叫者的應用成本。

第三 函式的使用方法必須給出示例,詳細說明函式是如何被呼叫的。

第四 術語給出乙個術語表,規範它的含義。

第五 錯誤訊息的統一定義

數學庫的概述

向量的運算,矩陣的運算,複數的運算,任意長度的大資料的運算,多項式的運算

線性方程組的求解運算,數理統計與概率分析的運算,插值運算,微積分的運算,符號運算

基本運算

函式的包名稱

第一級命名為numjs

第二級包括如下的 vector ,matrix,complex,bigdata,equation,statics

命名規範參考mathematica的函式名進行命名。

函式的**實現,參考fortran程式的演算法程式集。

需要解決的問題

上溢位,下溢位的問題

自己的乙個LESS工具函式庫

自己大概在一年前開始使用less編寫樣式,現在感覺不用less都不會寫樣式了。現在寫靜態頁面完全離不開less與zen coding,我可以不用什麼ide,但這兩個工具卻必須要,當然也強烈推薦看到這篇文章的朋友去試試less與zen coding zen coding現在改名叫emmet 在使用le...

自己實現乙個類似 jQuery 的函式庫

假如我們有乙個需求,需要給元素新增樣式類,使用原生的js很容易搞定。function addclass node,classname 使用 var element document.queryselector div1 addclass element,active function addclas...

靜態函式庫與動態函式庫的設計

函式庫存放位置 linux應用程式使用的主要函式均放在 lib和 usr lib目錄下,其中採用 so.命名的是動態函式庫,而以 a方式命名的是靜態函式庫。靜態函式庫的特點 程式所要用到的庫函式 在鏈結時全部被copy到程式中。導致的問題 如果有多個程序在記憶體中同時執行,並且使用了相同的函式庫,那...