Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
fuse.go192 linesDownload Raw Back to test
1// errorcheck -0 -d=ssa/late_fuse/debug=12 3//go:build (amd64 && !gcflags_noopt) || (arm64 && !gcflags_noopt)4 5// Copyright 2021 The Go Authors. All rights reserved.6// Use of this source code is governed by a BSD-style7// license that can be found in the LICENSE file.8 9package main10 11import "strings"12 13const Cf2 = 2.014 15func fEqEq(a int, f float64) bool {16	return a == 0 && f > Cf2 || a == 0 && f < -Cf2 // ERROR "Redirect Eq64 based on Eq64$"17}18 19func fEqNeq(a int32, f float64) bool {20	return a == 0 && f > Cf2 || a != 0 && f < -Cf2 // ERROR "Redirect Neq32 based on Eq32$"21}22 23func fEqLess(a int8, f float64) bool {24	return a == 0 && f > Cf2 || a < 0 && f < -Cf225}26 27func fEqLeq(a float64, f float64) bool {28	return a == 0 && f > Cf2 || a <= 0 && f < -Cf229}30 31func fEqLessU(a uint, f float64) bool {32	return a == 0 && f > Cf2 || a < 0 && f < -Cf233}34 35func fEqLeqU(a uint64, f float64) bool {36	return a == 0 && f > Cf2 || a <= 0 && f < -Cf2 // ERROR "Redirect Eq64 based on Eq64$"37}38 39func fNeqEq(a int, f float64) bool {40	return a != 0 && f > Cf2 || a == 0 && f < -Cf2 // ERROR "Redirect Eq64 based on Neq64$"41}42 43func fNeqNeq(a int32, f float64) bool {44	return a != 0 && f > Cf2 || a != 0 && f < -Cf2 // ERROR "Redirect Neq32 based on Neq32$"45}46 47func fNeqLess(a float32, f float64) bool {48	// TODO: Add support for floating point numbers in prove49	return a != 0 && f > Cf2 || a < 0 && f < -Cf250}51 52func fNeqLeq(a int16, f float64) bool {53	return a != 0 && f > Cf2 || a <= 0 && f < -Cf2 // ERROR "Redirect Leq16 based on Neq16$"54}55 56func fNeqLessU(a uint, f float64) bool {57	return a != 0 && f > Cf2 || a < 0 && f < -Cf258}59 60func fNeqLeqU(a uint32, f float64) bool {61	return a != 2 && f > Cf2 || a <= 2 && f < -Cf2 // ERROR "Redirect Leq32U based on Neq32$"62}63 64func fLessEq(a int, f float64) bool {65	return a < 0 && f > Cf2 || a == 0 && f < -Cf266}67 68func fLessNeq(a int32, f float64) bool {69	return a < 0 && f > Cf2 || a != 0 && f < -Cf270}71 72func fLessLess(a float32, f float64) bool {73	return a < 0 && f > Cf2 || a < 0 && f < -Cf2 // ERROR "Redirect Less32F based on Less32F$"74}75 76func fLessLeq(a float64, f float64) bool {77	return a < 0 && f > Cf2 || a <= 0 && f < -Cf278}79 80func fLeqEq(a float64, f float64) bool {81	return a <= 0 && f > Cf2 || a == 0 && f < -Cf282}83 84func fLeqNeq(a int16, f float64) bool {85	return a <= 0 && f > Cf2 || a != 0 && f < -Cf2 // ERROR "Redirect Neq16 based on Leq16$"86}87 88func fLeqLess(a float32, f float64) bool {89	return a <= 0 && f > Cf2 || a < 0 && f < -Cf290}91 92func fLeqLeq(a int8, f float64) bool {93	return a <= 0 && f > Cf2 || a <= 0 && f < -Cf2 // ERROR "Redirect Leq8 based on Leq8$"94}95 96func fLessUEq(a uint8, f float64) bool {97	return a < 0 && f > Cf2 || a == 0 && f < -Cf298}99 100func fLessUNeq(a uint16, f float64) bool {101	return a < 0 && f > Cf2 || a != 0 && f < -Cf2102}103 104func fLessULessU(a uint32, f float64) bool {105	return a < 0 && f > Cf2 || a < 0 && f < -Cf2106}107 108func fLessULeqU(a uint64, f float64) bool {109	return a < 0 && f > Cf2 || a <= 0 && f < -Cf2110}111 112func fLeqUEq(a uint8, f float64) bool {113	return a <= 2 && f > Cf2 || a == 2 && f < -Cf2 // ERROR "Redirect Eq8 based on Leq8U$"114}115 116func fLeqUNeq(a uint16, f float64) bool {117	return a <= 2 && f > Cf2 || a != 2 && f < -Cf2 // ERROR "Redirect Neq16 based on Leq16U$"118}119 120func fLeqLessU(a uint32, f float64) bool {121	return a <= 0 && f > Cf2 || a < 0 && f < -Cf2122}123 124func fLeqLeqU(a uint64, f float64) bool {125	return a <= 2 && f > Cf2 || a <= 2 && f < -Cf2 // ERROR "Redirect Leq64U based on Leq64U$"126}127 128// Arg tests are disabled because the op name is different on amd64 and arm64.129 130func fEqPtrEqPtr(a, b *int, f float64) bool {131	return a == b && f > Cf2 || a == b && f < -Cf2 // ERROR "Redirect EqPtr based on EqPtr$"132}133 134func fEqPtrNeqPtr(a, b *int, f float64) bool {135	return a == b && f > Cf2 || a != b && f < -Cf2 // ERROR "Redirect NeqPtr based on EqPtr$"136}137 138func fNeqPtrEqPtr(a, b *int, f float64) bool {139	return a != b && f > Cf2 || a == b && f < -Cf2 // ERROR "Redirect EqPtr based on NeqPtr$"140}141 142func fNeqPtrNeqPtr(a, b *int, f float64) bool {143	return a != b && f > Cf2 || a != b && f < -Cf2 // ERROR "Redirect NeqPtr based on NeqPtr$"144}145 146func fEqInterEqInter(a interface{}, f float64) bool {147	return a == nil && f > Cf2 || a == nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil$"148}149 150func fEqInterNeqInter(a interface{}, f float64) bool {151	return a == nil && f > Cf2 || a != nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil"152}153 154func fNeqInterEqInter(a interface{}, f float64) bool {155	return a != nil && f > Cf2 || a == nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil"156}157 158func fNeqInterNeqInter(a interface{}, f float64) bool {159	return a != nil && f > Cf2 || a != nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil$"160}161 162func fEqSliceEqSlice(a []int, f float64) bool {163	return a == nil && f > Cf2 || a == nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil$"164}165 166func fEqSliceNeqSlice(a []int, f float64) bool {167	return a == nil && f > Cf2 || a != nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil"168}169 170func fNeqSliceEqSlice(a []int, f float64) bool {171	return a != nil && f > Cf2 || a == nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil"172}173 174func fNeqSliceNeqSlice(a []int, f float64) bool {175	return a != nil && f > Cf2 || a != nil && f < -Cf2 // ERROR "Redirect IsNonNil based on IsNonNil$"176}177 178func fPhi(a, b string) string {179	aslash := strings.HasSuffix(a, "/") // ERROR "Redirect Phi based on Phi$"180	bslash := strings.HasPrefix(b, "/")181	switch {182	case aslash && bslash:183		return a + b[1:]184	case !aslash && !bslash:185		return a + "/" + b186	}187	return a + b188}189 190func main() {191}192 
codekingpro/portable-devtools · Team Ai