陰煞竟然有公式

正在寫第三代排盤程式中的安星演算法。

前版的排盤程式中,安星演算均已齊備,原則上只要作語法轉寫便可。然則有此機緣,當藉此機會探索不同的寫法。

就以陰煞為例,前版的演算法,可真是依足「陰煞隔宮逆行,寅子戌申午辰」來寫的。效果是有,但此法的問題在,輸入十二月所需的運算,會是一月的 12 陪。以現今的電腦算力,雖不足道,可從追求極致來說,總想更見效率的。

繼近期拜讀一本甚好的術數基礎書後,忽想到尋找陰煞的公式。藉千問之助,原來真個有之:

f(x) = { 2 x=1 0 x=2 162x x3

相比前版,既解決了因輸入月份導致的算力差距,亦免卻用排表導致的空間浪廢。

以 Rust 來寫,便是這個模樣:

    match 生月 {
        1 => 地支::寅,
        2 => 地支::子,
        _ => 16 - 2 * 生月,
    };

只能說,當今寫程式,AI真的少不得。