Merge remote-tracking branch 'origin/master'
This commit is contained in:
		
						commit
						126cf68cab
					
				@ -5,8 +5,12 @@ import (
 | 
				
			|||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"math"
 | 
						"math"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestGenerateMagic(t *testing.T) {
 | 
				
			||||||
 | 
						generateMagicNumber()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
func generateMagicNumber() {
 | 
					func generateMagicNumber() {
 | 
				
			||||||
	//0月份 00000 日期 0000闰月 0000000000000 农历信息
 | 
						//0月份 00000 日期 0000闰月 0000000000000 农历信息
 | 
				
			||||||
	var tz = 8.0000 / 24.000
 | 
						var tz = 8.0000 / 24.000
 | 
				
			||||||
@ -14,6 +18,7 @@ func generateMagicNumber() {
 | 
				
			|||||||
	spYear := make(map[int][]int)
 | 
						spYear := make(map[int][]int)
 | 
				
			||||||
	var upper []uint16
 | 
						var upper []uint16
 | 
				
			||||||
	var lower []uint16
 | 
						var lower []uint16
 | 
				
			||||||
 | 
						var full []uint32
 | 
				
			||||||
	//var info uint32 = 0
 | 
						//var info uint32 = 0
 | 
				
			||||||
	for year := 1899; year <= 2401; year++ {
 | 
						for year := 1899; year <= 2401; year++ {
 | 
				
			||||||
		fmt.Println(year)
 | 
							fmt.Println(year)
 | 
				
			||||||
@ -89,13 +94,16 @@ func generateMagicNumber() {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	for year := 1900; year <= 2400; year++ {
 | 
						for year := 1900; year <= 2400; year++ {
 | 
				
			||||||
		fmt.Println(year)
 | 
							fmt.Println(year)
 | 
				
			||||||
		up, low := magicNumberSpilt(magicNumber(yearMap[year], spYear[year]))
 | 
							magic := magicNumber(yearMap[year], spYear[year])
 | 
				
			||||||
 | 
							up, low := magicNumberSpilt(magic)
 | 
				
			||||||
		upper = append(upper, up)
 | 
							upper = append(upper, up)
 | 
				
			||||||
		lower = append(lower, uint16(low))
 | 
							lower = append(lower, uint16(low))
 | 
				
			||||||
 | 
							full = append(full, uint32(magic))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	res := make(map[string]interface{})
 | 
						res := make(map[string]interface{})
 | 
				
			||||||
	res["up"] = upper
 | 
						res["up"] = upper
 | 
				
			||||||
	res["low"] = lower
 | 
						res["low"] = lower
 | 
				
			||||||
 | 
						res["full"] = full
 | 
				
			||||||
	d, _ := json.Marshal(res)
 | 
						d, _ := json.Marshal(res)
 | 
				
			||||||
	os.WriteFile("test.json", d, 0644)
 | 
						os.WriteFile("test.json", d, 0644)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@ import (
 | 
				
			|||||||
	"b612.me/astro/tools"
 | 
						"b612.me/astro/tools"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"math"
 | 
						"math"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@ -162,17 +163,20 @@ func TestJQDate(t *testing.T) {
 | 
				
			|||||||
		return math.Floor(d) + 0.5
 | 
							return math.Floor(d) + 0.5
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	c := 0
 | 
						c := 0
 | 
				
			||||||
 | 
						var info string
 | 
				
			||||||
	for year := 1900; year <= 2600; year++ {
 | 
						for year := 1900; year <= 2600; year++ {
 | 
				
			||||||
		for pos := 0; pos < 360; pos += 15 {
 | 
							for pos := 0; pos < 360; pos += 15 {
 | 
				
			||||||
			n := newGetJQTime(year, pos)
 | 
								n := newGetJQTime(year, pos) + 8.0/24.000000
 | 
				
			||||||
			o := GetJQTime(year, pos)
 | 
								o := GetJQTime(year, pos) + 8.0/24.0000000
 | 
				
			||||||
			if trimDay(n) != trimDay(o) {
 | 
								if trimDay(n) != trimDay(o) {
 | 
				
			||||||
				c++
 | 
									c++
 | 
				
			||||||
				fmt.Printf("\"%d%03d\":%.0f,", year, pos, trimDay(o)-trimDay(n))
 | 
									fmt.Printf("\"%d%03d\"=>%v  %v\n", year, pos, JDE2Date(trimDay(o)), JDE2Date(trimDay(n)))
 | 
				
			||||||
 | 
									info += fmt.Sprintf("\"%d%03d\"=>%.0f,", year, pos, trimDay(o)-trimDay(n))
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	fmt.Println(c)
 | 
						fmt.Println(c)
 | 
				
			||||||
 | 
						os.WriteFile("test.txt", []byte(info), 0644)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newGetJQTime(Year, Angle int) float64 { //节气时间
 | 
					func newGetJQTime(Year, Angle int) float64 { //节气时间
 | 
				
			||||||
 | 
				
			|||||||
@ -34,10 +34,8 @@ func FloatRound(f float64, n int) float64 {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func Limit360(x float64) float64 {
 | 
					func Limit360(x float64) float64 {
 | 
				
			||||||
	for x > 360 {
 | 
						x = math.Mod(x, 360)
 | 
				
			||||||
		x -= 360
 | 
						if x < 0 {
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	for x < 0 {
 | 
					 | 
				
			||||||
		x += 360
 | 
							x += 360
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return x
 | 
						return x
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user