# RFC for MAD ## 約定術語 `$var` 變數名稱 `$value` 一個值 `$diff` 偏微分變數名稱 `$log` 布林判斷式 `$ops` 運算元 `...` 省略 `d_$var` 變數的偏微分 `d_$ops_$var` 運算元運算對變數的偏微分 $OUT$ 函式輸出值 $VAR$ 不可變變數 $MUT$ 可變變數 ## cheats list `d_add_$var`$=1$ `d_mul_$var`$=另一個數$ ## 規範 可變值不保證微分正確性($\frac{\partial OUT}{\partial MUT}$),但可影響微分,like normal ```rust= let mut num = 1; num *= 10; // d_num = 可能會爆 ``` ## 編譯實踐 ### 變數 `struct` 設計 - 名稱 `string` - 編號 `usize` 例如: ```rust= let a = 1; ``` 生成 ```rust= struct{ 名稱: "a", 編號: 0, } ``` ### 函式 `struct` 設計 - 名稱 `string` - 帶入變數 `[usize]` 例如: ```rust= let a = f(b, c); ``` 生成 ```rust= struct{ 名稱: "f", 帶入變數: [0 ,1], } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up