Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for archAvailableIEEE (0.24 sec)

  1. src/hash/crc32/crc32.go

    // The interface that they implement is as follows:
    //
    //    // archAvailableIEEE reports whether an architecture-specific CRC32-IEEE
    //    // algorithm is available.
    //    archAvailableIEEE() bool
    //
    //    // archInitIEEE initializes the architecture-specific CRC3-IEEE algorithm.
    //    // It can only be called if archAvailableIEEE() returns true.
    //    archInitIEEE()
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sun May 12 05:36:29 UTC 2024
    - 7.5K bytes
    - Viewed (0)
  2. src/hash/crc32/crc32_otherarch.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build !amd64 && !s390x && !ppc64le && !arm64
    
    package crc32
    
    func archAvailableIEEE() bool                    { return false }
    func archInitIEEE()                              { panic("not available") }
    func archUpdateIEEE(crc uint32, p []byte) uint32 { panic("not available") }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 681 bytes
    - Viewed (0)
  3. src/hash/crc32/crc32_arm64.go

    func archUpdateCastagnoli(crc uint32, p []byte) uint32 {
    	if !cpu.ARM64.HasCRC32 {
    		panic("arch-specific crc32 instruction for Castagnoli not available")
    	}
    
    	return ^castagnoliUpdate(^crc, p)
    }
    
    func archAvailableIEEE() bool {
    	return cpu.ARM64.HasCRC32
    }
    
    func archInitIEEE() {
    	if !cpu.ARM64.HasCRC32 {
    		panic("arch-specific crc32 instruction for IEEE not available")
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 25 05:31:01 UTC 2022
    - 1.2K bytes
    - Viewed (0)
  4. src/hash/crc32/crc32_s390x.go

    		aligned := len(p) & ^vxAlignMask
    		crc = vectorizedCastagnoli(crc, p[:aligned])
    		p = p[aligned:]
    	}
    	if len(p) == 0 {
    		return crc
    	}
    	return slicingUpdate(crc, archCastagnoliTable8, p)
    }
    
    func archAvailableIEEE() bool {
    	return hasVX
    }
    
    var archIeeeTable8 *slicing8Table
    
    func archInitIEEE() {
    	if !hasVX {
    		panic("not available")
    	}
    	// We still use slicing-by-8 for small buffers.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 05 17:54:15 UTC 2022
    - 2.1K bytes
    - Viewed (0)
  5. src/hash/crc32/crc32_ppc64le.go

    		crc = vectorCrc32(crc, crcCast, p[:aligned])
    		p = p[aligned:]
    	}
    	if len(p) == 0 {
    		return crc
    	}
    	return ppc64SlicingUpdateBy8(crc, archCastagnoliTable8, p)
    }
    
    func archAvailableIEEE() bool {
    	return true
    }
    func archAvailableCastagnoli() bool {
    	return true
    }
    
    var archIeeeTable8 *slicing8Table
    
    func archInitIEEE() {
    	// We still use slicing-by-8 for small buffers.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 18 17:59:44 UTC 2022
    - 2.2K bytes
    - Viewed (0)
  6. src/hash/crc32/crc32_amd64.go

    		crc = castagnoliShift(castagnoliSSE42TableK1, crcAB) ^ crcC
    		p = p[castagnoliK1*3:]
    	}
    
    	// Use the simple implementation for what's left.
    	crc = castagnoliSSE42(crc, p)
    	return ^crc
    }
    
    func archAvailableIEEE() bool {
    	return cpu.X86.HasPCLMULQDQ && cpu.X86.HasSSE41
    }
    
    var archIeeeTable8 *slicing8Table
    
    func archInitIEEE() {
    	if !cpu.X86.HasPCLMULQDQ || !cpu.X86.HasSSE41 {
    		panic("not available")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 05 17:54:15 UTC 2022
    - 6.8K bytes
    - Viewed (0)
  7. src/hash/crc32/crc32_test.go

    		t2 := slicingMakeTable(poly)
    		f2 := func(crc uint32, b []byte) uint32 {
    			return slicingUpdate(crc, t2, b)
    		}
    		testCrossCheck(t, f1, f2)
    	}
    }
    
    func TestArchIEEE(t *testing.T) {
    	if !archAvailableIEEE() {
    		t.Skip("Arch-specific IEEE not available.")
    	}
    	archInitIEEE()
    	slicingTable := slicingMakeTable(IEEE)
    	testCrossCheck(t, archUpdateIEEE, func(crc uint32, b []byte) uint32 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 03 14:56:25 UTC 2024
    - 12.1K bytes
    - Viewed (0)
Back to top