正在寫第三代排盤程式中的安星演算法。
前版的排盤程式中,安星演算均已齊備,原則上只要作語法轉寫便可。然則有此機緣,當藉此機會探索不同的寫法。
就以陰煞為例,前版的演算法,可真是依足「陰煞隔宮逆行,寅子戌申午辰」來寫的。效果是有,但此法的問題在,輸入十二月所需的運算,會是一月的 12 陪。以現今的電腦算力,雖不足道,可從追求極致來說,總想更見效率的。
繼近期拜讀一本甚好的術數基礎書後,忽想到尋找陰煞的公式。藉千問之助,原來真個有之:
相比前版,既解決了因輸入月份導致的算力差距,亦免卻用排表導致的空間浪廢。
以 Rust 來寫,便是這個模樣:
match 生月 {
1 => 地支::寅,
2 => 地支::子,
_ => 16 - 2 * 生月,
};
只能說,當今寫程式,AI真的少不得。
