func DropFloat64Ptr(num *float64, list []*float64) []*float64 {
	var newList []*float64
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
DropFloat64Ptr returns a new list after dropping the given item
package fp
func DropIntPtr(num *int, list []*int) []*int {
	var newList []*int
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropIntsPtr(nums []*int, list []*int) []*int {
	var newList []*int
	for _, v := range list {
		if !ExistsIntPtr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInt64Ptr(num *int64, list []*int64) []*int64 {
	var newList []*int64
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInts64Ptr(nums []*int64, list []*int64) []*int64 {
	var newList []*int64
	for _, v := range list {
		if !ExistsInt64Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInt32Ptr(num *int32, list []*int32) []*int32 {
	var newList []*int32
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInts32Ptr(nums []*int32, list []*int32) []*int32 {
	var newList []*int32
	for _, v := range list {
		if !ExistsInt32Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInt16Ptr(num *int16, list []*int16) []*int16 {
	var newList []*int16
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInts16Ptr(nums []*int16, list []*int16) []*int16 {
	var newList []*int16
	for _, v := range list {
		if !ExistsInt16Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInt8Ptr(num *int8, list []*int8) []*int8 {
	var newList []*int8
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropInts8Ptr(nums []*int8, list []*int8) []*int8 {
	var newList []*int8
	for _, v := range list {
		if !ExistsInt8Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUintPtr(num *uint, list []*uint) []*uint {
	var newList []*uint
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUintsPtr(nums []*uint, list []*uint) []*uint {
	var newList []*uint
	for _, v := range list {
		if !ExistsUintPtr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUint64Ptr(num *uint64, list []*uint64) []*uint64 {
	var newList []*uint64
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUint64sPtr(nums []*uint64, list []*uint64) []*uint64 {
	var newList []*uint64
	for _, v := range list {
		if !ExistsUint64Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUint32Ptr(num *uint32, list []*uint32) []*uint32 {
	var newList []*uint32
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUints32Ptr(nums []*uint32, list []*uint32) []*uint32 {
	var newList []*uint32
	for _, v := range list {
		if !ExistsUint32Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUint16Ptr(num *uint16, list []*uint16) []*uint16 {
	var newList []*uint16
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUints16Ptr(nums []*uint16, list []*uint16) []*uint16 {
	var newList []*uint16
	for _, v := range list {
		if !ExistsUint16Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUint8Ptr(num *uint8, list []*uint8) []*uint8 {
	var newList []*uint8
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropUints8Ptr(nums []*uint8, list []*uint8) []*uint8 {
	var newList []*uint8
	for _, v := range list {
		if !ExistsUint8Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropStrPtr(num *string, list []*string) []*string {
	var newList []*string
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropStrsPtr(nums []*string, list []*string) []*string {
	var newList []*string
	for _, v := range list {
		if !ExistsStrPtr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropBoolPtr(num *bool, list []*bool) []*bool {
	var newList []*bool
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropBoolsPtr(nums []*bool, list []*bool) []*bool {
	var newList []*bool
	for _, v := range list {
		if !ExistsBoolPtr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropFloat32Ptr(num *float32, list []*float32) []*float32 {
	var newList []*float32
	for _, v := range list {
		if v != num {
			newList = append(newList, v)
		}
	}
	return newList
}
func DropFloat32sPtr(nums []*float32, list []*float32) []*float32 {
	var newList []*float32
	for _, v := range list {
		if !ExistsFloat32Ptr(v, nums) {
			newList = append(newList, v)
		}
	}
	return newList
}