func FilterMapInt16Int32(fFilter func(int16) bool, fMap func(int16) int32, list []int16) []int32 {
	if fFilter == nil || fMap == nil {
		return []int32{}
	}
	var newList []int32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
FilterMapInt16Int32 filters given list, then apply function(2nd argument) on each item in the list and returns a new list
Takes 3 inputs
1. Function: takes one input type - int16 and returns true/false.
2. Function: takes int16 as argument and returns int32
3. List of type int16

Returns:
New List of type int32
Empty list if all there parameters are nil or either of parameter is nil
package fp
func FilterMapIntInt64(fFilter func(int) bool, fMap func(int) int64, list []int) []int64 {
	if fFilter == nil || fMap == nil {
		return []int64{}
	}
	var newList []int64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntInt32(fFilter func(int) bool, fMap func(int) int32, list []int) []int32 {
	if fFilter == nil || fMap == nil {
		return []int32{}
	}
	var newList []int32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntInt16(fFilter func(int) bool, fMap func(int) int16, list []int) []int16 {
	if fFilter == nil || fMap == nil {
		return []int16{}
	}
	var newList []int16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntInt8(fFilter func(int) bool, fMap func(int) int8, list []int) []int8 {
	if fFilter == nil || fMap == nil {
		return []int8{}
	}
	var newList []int8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntUint(fFilter func(int) bool, fMap func(int) uint, list []int) []uint {
	if fFilter == nil || fMap == nil {
		return []uint{}
	}
	var newList []uint
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntUint64(fFilter func(int) bool, fMap func(int) uint64, list []int) []uint64 {
	if fFilter == nil || fMap == nil {
		return []uint64{}
	}
	var newList []uint64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntUint32(fFilter func(int) bool, fMap func(int) uint32, list []int) []uint32 {
	if fFilter == nil || fMap == nil {
		return []uint32{}
	}
	var newList []uint32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntUint16(fFilter func(int) bool, fMap func(int) uint16, list []int) []uint16 {
	if fFilter == nil || fMap == nil {
		return []uint16{}
	}
	var newList []uint16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntUint8(fFilter func(int) bool, fMap func(int) uint8, list []int) []uint8 {
	if fFilter == nil || fMap == nil {
		return []uint8{}
	}
	var newList []uint8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntStr(fFilter func(int) bool, fMap func(int) string, list []int) []string {
	if fFilter == nil || fMap == nil {
		return []string{}
	}
	var newList []string
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntBool(fFilter func(int) bool, fMap func(int) bool, list []int) []bool {
	if fFilter == nil || fMap == nil {
		return []bool{}
	}
	var newList []bool
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntFloat32(fFilter func(int) bool, fMap func(int) float32, list []int) []float32 {
	if fFilter == nil || fMap == nil {
		return []float32{}
	}
	var newList []float32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapIntFloat64(fFilter func(int) bool, fMap func(int) float64, list []int) []float64 {
	if fFilter == nil || fMap == nil {
		return []float64{}
	}
	var newList []float64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Int(fFilter func(int64) bool, fMap func(int64) int, list []int64) []int {
	if fFilter == nil || fMap == nil {
		return []int{}
	}
	var newList []int
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Int32(fFilter func(int64) bool, fMap func(int64) int32, list []int64) []int32 {
	if fFilter == nil || fMap == nil {
		return []int32{}
	}
	var newList []int32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Int16(fFilter func(int64) bool, fMap func(int64) int16, list []int64) []int16 {
	if fFilter == nil || fMap == nil {
		return []int16{}
	}
	var newList []int16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Int8(fFilter func(int64) bool, fMap func(int64) int8, list []int64) []int8 {
	if fFilter == nil || fMap == nil {
		return []int8{}
	}
	var newList []int8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Uint(fFilter func(int64) bool, fMap func(int64) uint, list []int64) []uint {
	if fFilter == nil || fMap == nil {
		return []uint{}
	}
	var newList []uint
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Uint64(fFilter func(int64) bool, fMap func(int64) uint64, list []int64) []uint64 {
	if fFilter == nil || fMap == nil {
		return []uint64{}
	}
	var newList []uint64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Uint32(fFilter func(int64) bool, fMap func(int64) uint32, list []int64) []uint32 {
	if fFilter == nil || fMap == nil {
		return []uint32{}
	}
	var newList []uint32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Uint16(fFilter func(int64) bool, fMap func(int64) uint16, list []int64) []uint16 {
	if fFilter == nil || fMap == nil {
		return []uint16{}
	}
	var newList []uint16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Uint8(fFilter func(int64) bool, fMap func(int64) uint8, list []int64) []uint8 {
	if fFilter == nil || fMap == nil {
		return []uint8{}
	}
	var newList []uint8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Str(fFilter func(int64) bool, fMap func(int64) string, list []int64) []string {
	if fFilter == nil || fMap == nil {
		return []string{}
	}
	var newList []string
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Bool(fFilter func(int64) bool, fMap func(int64) bool, list []int64) []bool {
	if fFilter == nil || fMap == nil {
		return []bool{}
	}
	var newList []bool
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Float32(fFilter func(int64) bool, fMap func(int64) float32, list []int64) []float32 {
	if fFilter == nil || fMap == nil {
		return []float32{}
	}
	var newList []float32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt64Float64(fFilter func(int64) bool, fMap func(int64) float64, list []int64) []float64 {
	if fFilter == nil || fMap == nil {
		return []float64{}
	}
	var newList []float64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Int(fFilter func(int32) bool, fMap func(int32) int, list []int32) []int {
	if fFilter == nil || fMap == nil {
		return []int{}
	}
	var newList []int
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Int64(fFilter func(int32) bool, fMap func(int32) int64, list []int32) []int64 {
	if fFilter == nil || fMap == nil {
		return []int64{}
	}
	var newList []int64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Int16(fFilter func(int32) bool, fMap func(int32) int16, list []int32) []int16 {
	if fFilter == nil || fMap == nil {
		return []int16{}
	}
	var newList []int16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Int8(fFilter func(int32) bool, fMap func(int32) int8, list []int32) []int8 {
	if fFilter == nil || fMap == nil {
		return []int8{}
	}
	var newList []int8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Uint(fFilter func(int32) bool, fMap func(int32) uint, list []int32) []uint {
	if fFilter == nil || fMap == nil {
		return []uint{}
	}
	var newList []uint
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Uint64(fFilter func(int32) bool, fMap func(int32) uint64, list []int32) []uint64 {
	if fFilter == nil || fMap == nil {
		return []uint64{}
	}
	var newList []uint64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Uint32(fFilter func(int32) bool, fMap func(int32) uint32, list []int32) []uint32 {
	if fFilter == nil || fMap == nil {
		return []uint32{}
	}
	var newList []uint32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Uint16(fFilter func(int32) bool, fMap func(int32) uint16, list []int32) []uint16 {
	if fFilter == nil || fMap == nil {
		return []uint16{}
	}
	var newList []uint16
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Uint8(fFilter func(int32) bool, fMap func(int32) uint8, list []int32) []uint8 {
	if fFilter == nil || fMap == nil {
		return []uint8{}
	}
	var newList []uint8
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Str(fFilter func(int32) bool, fMap func(int32) string, list []int32) []string {
	if fFilter == nil || fMap == nil {
		return []string{}
	}
	var newList []string
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Bool(fFilter func(int32) bool, fMap func(int32) bool, list []int32) []bool {
	if fFilter == nil || fMap == nil {
		return []bool{}
	}
	var newList []bool
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Float32(fFilter func(int32) bool, fMap func(int32) float32, list []int32) []float32 {
	if fFilter == nil || fMap == nil {
		return []float32{}
	}
	var newList []float32
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt32Float64(fFilter func(int32) bool, fMap func(int32) float64, list []int32) []float64 {
	if fFilter == nil || fMap == nil {
		return []float64{}
	}
	var newList []float64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt16Int(fFilter func(int16) bool, fMap func(int16) int, list []int16) []int {
	if fFilter == nil || fMap == nil {
		return []int{}
	}
	var newList []int
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}
func FilterMapInt16Int64(fFilter func(int16) bool, fMap func(int16) int64, list []int16) []int64 {
	if fFilter == nil || fMap == nil {
		return []int64{}
	}
	var newList []int64
	for _, v := range list {
		if fFilter(v) {
			newList = append(newList, fMap(v))
		}
	}
	return newList
}