OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [hash/] [hash.go] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 747 jeremybenn
// Copyright 2009 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4
 
5
// Package hash provides interfaces for hash functions.
6
package hash
7
 
8
import "io"
9
 
10
// Hash is the common interface implemented by all hash functions.
11
type Hash interface {
12
        // Write adds more data to the running hash.
13
        // It never returns an error.
14
        io.Writer
15
 
16
        // Sum appends the current hash to b and returns the resulting slice.
17
        // It does not change the underlying hash state.
18
        Sum(b []byte) []byte
19
 
20
        // Reset resets the hash to one with zero bytes written.
21
        Reset()
22
 
23
        // Size returns the number of bytes Sum will return.
24
        Size() int
25
 
26
        // BlockSize returns the hash's underlying block size.
27
        // The Write method must be able to accept any amount
28
        // of data, but it may operate more efficiently if all writes
29
        // are a multiple of the block size.
30
        BlockSize() int
31
}
32
 
33
// Hash32 is the common interface implemented by all 32-bit hash functions.
34
type Hash32 interface {
35
        Hash
36
        Sum32() uint32
37
}
38
 
39
// Hash64 is the common interface implemented by all 64-bit hash functions.
40
type Hash64 interface {
41
        Hash
42
        Sum64() uint64
43
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.