增加交并计算功能
This commit is contained in:
12
makebloom.go
12
makebloom.go
@@ -17,23 +17,23 @@ func RunMakeBloom(args ...string) error {
|
||||
fs := flag.NewFlagSet("makebloom", flag.ExitOnError)
|
||||
|
||||
txtFile := fs.String("d", "", "device id filename")
|
||||
bmpFile := fs.String("b", "", "bitmap filename for output")
|
||||
outFile := fs.String("o", "", "output bitmap filename")
|
||||
elements := fs.Uint64("e", 0, "max elements. (max 100 0000 0000). if 0 then auto")
|
||||
falseRate := fs.Float64("r", FalseRate, "false rate (0.01--0.0000 0000 1)")
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return err
|
||||
} else if fs.NArg() > 0 || *txtFile == "" || *bmpFile == "" ||
|
||||
} else if fs.NArg() > 0 || *txtFile == "" || *outFile == "" ||
|
||||
*elements > 10000000000 ||
|
||||
*falseRate > 0.01 || *falseRate < 0.000000001 {
|
||||
fs.Usage()
|
||||
return nil
|
||||
}
|
||||
|
||||
return makeBloom(*txtFile, *bmpFile, *elements, *falseRate)
|
||||
return makeBloom(*txtFile, *outFile, *elements, *falseRate)
|
||||
}
|
||||
|
||||
func makeBloom(txtFile string, bmpFile string, elements uint64, falseRate float64) error {
|
||||
func makeBloom(txtFile string, outFile string, elements uint64, falseRate float64) error {
|
||||
// 打开设备号文件
|
||||
slog.Info("open source file", "filename", txtFile)
|
||||
tfile, err := os.Open(txtFile)
|
||||
@@ -76,8 +76,8 @@ func makeBloom(txtFile string, bmpFile string, elements uint64, falseRate float6
|
||||
}
|
||||
|
||||
// 保存文件
|
||||
slog.Info("save bitmap file", "filename", bmpFile)
|
||||
err = bloombmp.SaveToFile(bmpFile)
|
||||
slog.Info("save bitmap file", "filename", outFile)
|
||||
err = bloombmp.SaveToFile(outFile)
|
||||
|
||||
if err != nil {
|
||||
slog.Error("save bitmap file error", "err", err)
|
||||
|
||||
Reference in New Issue
Block a user