Cara Membuat Ufunc sesuai keinginan kita
Untuk membuat ufunc kita sendiri, maka kita harus mendefinisikan sebuah fungsi, seperti yang dilakukan dengan fungsi normal di Python, lalu kita dapat menambahkannya ke perpustakaan ufunc NumPy dengan metode frompyfunc().
Metode frompyfunc() mengambil argumen berikut:
- function – nama fungsi.
- input – jumlah argumen input (array).
- output – jumlah array output.
Contoh:
Buat ufunc kita sendiri untuk penjumlahan
xxxxxxxxxx
import numpy as np
def myadd(x, y):
return x+y
myadd = np.frompyfunc(myadd, 2, 1)
print(myadd([1, 2, 3, 4], [5, 6, 7, 8]))
Periksa apakah Fungsi adalah ufunc
Periksa type dari fungsi untuk memeriksa apakah fungsi tersebut merupakan ufunc atau bukan.
Sebuah ufunc harus mengembalikan nilai.
Contoh:
Periksa apakah suatu fungsi adalah ufunc
xxxxxxxxxx
import numpy as np
print(type(np.add))
Jika fungsi bukan ufunc, maka akan mengembalikan tipe yang lain, seperti fungsi NumPy bawaan untuk menggabungkan dua atau lebih array.
Contoh:
Periksa tipe fungsi lain: concatenate()
xxxxxxxxxx
import numpy as np
print(type(np.concatenate))
Jika fungsinya tidak dikenali sama sekali, maka kode akan mengembalikan error.
Contoh:
Periksa type sesuatu yang tidak ada. Maka akan menghasilkan error
xxxxxxxxxx
import numpy as np
print(type(np.blahblah))
Untuk menguji apakah fungsi adalah ufunc dalam pernyataan if, gunakan nilai numpy.ufunc (atau np.ufunc jika kita menggunakan np sebagai alias untuk numpy).
Contoh:
Gunakan pernyataan if untuk memeriksa apakah fungsi tersebut adalah ufunc atau bukan
xxxxxxxxxx
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')