本文整理汇总了Golang中hash.Hash64类的典型用法代码示例。如果您正苦于以下问题:Golang Hash64类的具体用法?Golang Hash64怎么用?Golang Hash64使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

在下文中一共展示了Hash64类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: new_docsummary_internal

func new_docsummary_internal(n *html.Node, f hash.Hash64) *DocumentSummary {
    rtn := &DocumentSummary{}
    if n == nil {
        return rtn
    }
    foreach_child(n, func(child *html.Node) {
        switch {
        case child.Type == html.CommentNode:
        case child.Type == html.DoctypeNode:
        case child.Type == html.TextNode:
            c, _ := f.Write([]byte(child.Data))
            rtn.WordCount += c
            if node_is_in_a(child) {
                rtn.LinkWordCount += c
            }
            rtn.Text += child.Data
        case child.Data == "img":
            rtn.Images = append(rtn.Images, make_mediasummary(child))
        case node_is_media(child):
            rtn.Medias = append(rtn.Medias, make_mediasummary(child))
        case child.Data == "a":
            rtn.LinkCount++
            ac := new_docsummary_internal(child, f)
            rtn.Images = append(rtn.Images, ac.Images...)
            rtn.Medias = append(rtn.Medias, ac.Medias...)
        default:
            sc := new_docsummary_internal(child, f)
            rtn.add(sc)
        }
    })
    return rtn
}

开发者ID:heartszhang,项目名称:famous,代码行数:32,代码来源:summary_score.go

示例2: TestRef

func TestRef(t *testing.T) {
    for _, elem := range data {

        var h32 hash.Hash32 = New32()
        h32.Write([]byte(elem.s))
        if v := h32.Sum32(); v != elem.h32 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h32)
        }

        if v := Sum32([]byte(elem.s)); v != elem.h32 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h32)
        }

        var h64 hash.Hash64 = New64()
        h64.Write([]byte(elem.s))
        if v := h64.Sum64(); v != elem.h64_1 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h64_1)
        }

        var h128 Hash128 = New128()
        h128.Write([]byte(elem.s))
        if v1, v2 := h128.Sum128(); v1 != elem.h64_1 || v2 != elem.h64_2 {
            t.Errorf("'%s': 0x%x-0x%x (want 0x%x-0x%x)", elem.s, v1, v2, elem.h64_1, elem.h64_2)
        }

        if v1, v2 := Sum128([]byte(elem.s)); v1 != elem.h64_1 || v2 != elem.h64_2 {
            t.Errorf("'%s': 0x%x-0x%x (want 0x%x-0x%x)", elem.s, v1, v2, elem.h64_1, elem.h64_2)
        }
    }
}

开发者ID:venliong,项目名称:murmur3,代码行数:30,代码来源:murmur_test.go

示例3: makeHashes

func makeHashes(d []byte, h hash.Hash64) ([]uint32, error) {
    _, err := h.Write(d)
    if err != nil {
        return nil, err
    }
    hashed := h.Sum64()
    lower := uint32(hashed)
    upper := uint32(hashed >> 32)
    return []uint32{lower, upper}, nil
}

开发者ID:uluyol,项目名称:misc,代码行数:10,代码来源:bloom.go

示例4: ID

// ID with which you can identify a daemon connection to the same SMTP server
// independent of the scope ID.
func (dm *Daemon) ID() uint64 {
    var h hash.Hash64
    h = fnv.New64()
    data := []byte(dm.getHost() + strconv.Itoa(dm.getPort()) + dm.getUsername())
    if _, err := h.Write(data); err != nil {
        log.Error("mail.daemon.ID", "err", err, "hashWrite", string(data))
        return 0
    }
    return h.Sum64()
}

开发者ID:optimuse,项目名称:csfw,代码行数:12,代码来源:daemon.go

示例5: TestRef

func TestRef(t *testing.T) {
    for _, elem := range data {

        var h32 hash.Hash32 = New32()
        h32.Write([]byte(elem.s))
        if v := h32.Sum32(); v != elem.h32 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h32)
        }

        var h32_byte hash.Hash32 = New32()
        h32_byte.Write([]byte(elem.s))
        target := fmt.Sprintf("%08x", elem.h32)
        if p := fmt.Sprintf("%x", h32_byte.Sum(nil)); p != target {
            t.Errorf("'%s': %s (want %s)", elem.s, p, target)
        }

        if v := Sum32([]byte(elem.s)); v != elem.h32 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h32)
        }

        var h64 hash.Hash64 = New64()
        h64.Write([]byte(elem.s))
        if v := h64.Sum64(); v != elem.h64_1 {
            t.Errorf("'%s': 0x%x (want 0x%x)", elem.s, v, elem.h64_1)
        }

        var h64_byte hash.Hash64 = New64()
        h64_byte.Write([]byte(elem.s))
        target = fmt.Sprintf("%016x", elem.h64_1)
        if p := fmt.Sprintf("%x", h64_byte.Sum(nil)); p != target {
            t.Errorf("Sum64: '%s': %s (want %s)", elem.s, p, target)
        }

        if v := Sum64([]byte(elem.s)); v != elem.h64_1 {
            t.Errorf("Sum64: '%s': 0x%x (want 0x%x)", elem.s, v, elem.h64_1)
        }

        var h128 Hash128 = New128()
        h128.Write([]byte(elem.s))
        if v1, v2 := h128.Sum128(); v1 != elem.h64_1 || v2 != elem.h64_2 {
            t.Errorf("New128: '%s': 0x%x-0x%x (want 0x%x-0x%x)", elem.s, v1, v2, elem.h64_1, elem.h64_2)
        }

        var h128_byte Hash128 = New128()
        h128_byte.Write([]byte(elem.s))
        target = fmt.Sprintf("%016x%016x", elem.h64_1, elem.h64_2)
        if p := fmt.Sprintf("%x", h128_byte.Sum(nil)); p != target {
            t.Errorf("New128: '%s': %s (want %s)", elem.s, p, target)
        }

        if v1, v2 := Sum128([]byte(elem.s)); v1 != elem.h64_1 || v2 != elem.h64_2 {
            t.Errorf("Sum128: '%s': 0x%x-0x%x (want 0x%x-0x%x)", elem.s, v1, v2, elem.h64_1, elem.h64_2)
        }
    }
}

开发者ID:twmb,项目名称:murmur3,代码行数:55,代码来源:murmur_test.go

最后编辑: kuteng  文档更新时间: 2021-08-23 19:14   作者:kuteng