@@ -33,6 +33,30 @@ def nada_main():
33
33
_ = na .pad (a , 2 , mode = "wrap" )
34
34
_ = na .split (a , (1 , 2 ))
35
35
36
+ pyfunc_out_1 = na .frompyfunc (lambda x : x + Integer (1 ), 1 , 1 )(a )
37
+ assert isinstance (pyfunc_out_1 , na .NadaArray ), type (pyfunc_out_1 ).__name__
38
+
39
+ pyfunc_out_2 , pyfunc_out_3 = na .frompyfunc (
40
+ lambda x : (x + Integer (1 ), x + Integer (2 )), 1 , 2
41
+ )(a )
42
+ assert isinstance (pyfunc_out_2 , na .NadaArray ), type (pyfunc_out_2 ).__name__
43
+ assert isinstance (pyfunc_out_3 , na .NadaArray ), type (pyfunc_out_3 ).__name__
44
+
45
+ pyfunc_out_4 = na .frompyfunc (lambda x , y : x + y , 2 , 1 )(a , a )
46
+ assert isinstance (pyfunc_out_4 , na .NadaArray ), type (pyfunc_out_4 ).__name__
47
+
48
+ vectorize_out_1 = na .vectorize (lambda x : x + Integer (1 ))(a )
49
+ assert isinstance (vectorize_out_1 , na .NadaArray ), type (vectorize_out_1 ).__name__
50
+
51
+ vectorize_out_2 , vectorize_out_3 = na .vectorize (
52
+ lambda x : (x + Integer (1 ), x + Integer (2 ))
53
+ )(a )
54
+ assert isinstance (vectorize_out_2 , na .NadaArray ), type (vectorize_out_2 ).__name__
55
+ assert isinstance (vectorize_out_3 , na .NadaArray ), type (vectorize_out_3 ).__name__
56
+
57
+ vectorize_out_4 = na .vectorize (lambda x , y : x + y )(a , a )
58
+ assert isinstance (vectorize_out_4 , na .NadaArray ), type (vectorize_out_4 ).__name__
59
+
36
60
# Test all for a Rational type
37
61
_ = na .sum (b )
38
62
_ = na .compress (b , [True , True , False ], axis = 0 )
@@ -41,7 +65,7 @@ def nada_main():
41
65
_ = na .cumsum (b , axis = 0 )
42
66
_ = na .diagonal (b .reshape (1 , 3 ))
43
67
_ = na .prod (b )
44
- _ = na .put (b , 2 , Integer (20 ))
68
+ _ = na .put (b , 2 , na . rational (20 , is_scaled = True ))
45
69
_ = na .ravel (b )
46
70
_ = na .repeat (b , 12 )
47
71
_ = na .reshape (b , (1 , 3 ))
@@ -58,6 +82,30 @@ def nada_main():
58
82
_ = na .pad (b , 2 , mode = "wrap" )
59
83
_ = na .split (b , (1 , 2 ))
60
84
85
+ pyfunc_out_5 = na .frompyfunc (lambda x : x + na .rational (1 ), 1 , 1 )(b )
86
+ assert isinstance (pyfunc_out_5 , na .NadaArray ), type (pyfunc_out_4 ).__name__
87
+
88
+ pyfunc_out_6 , pyfunc_out_7 = na .frompyfunc (
89
+ lambda x : (x + na .rational (1 ), x + na .rational (2 )), 1 , 2
90
+ )(b )
91
+ assert isinstance (pyfunc_out_6 , na .NadaArray ), type (pyfunc_out_6 ).__name__
92
+ assert isinstance (pyfunc_out_7 , na .NadaArray ), type (pyfunc_out_7 ).__name__
93
+
94
+ pyfunc_out_8 = na .frompyfunc (lambda x , y : x + y , 2 , 1 )(b , b )
95
+ assert isinstance (pyfunc_out_8 , na .NadaArray ), type (pyfunc_out_8 ).__name__
96
+
97
+ vectorize_out_5 = na .vectorize (lambda x : x + na .rational (1 ))(b )
98
+ assert isinstance (vectorize_out_5 , na .NadaArray ), type (pyfunc_out_4 ).__name__
99
+
100
+ vectorize_out_6 , vectorize_out_7 = na .vectorize (
101
+ lambda x : (x + na .rational (1 ), x + na .rational (2 ))
102
+ )(b )
103
+ assert isinstance (vectorize_out_6 , na .NadaArray ), type (vectorize_out_6 ).__name__
104
+ assert isinstance (vectorize_out_7 , na .NadaArray ), type (vectorize_out_7 ).__name__
105
+
106
+ vectorize_out_8 = na .vectorize (lambda x , y : x + y )(b , b )
107
+ assert isinstance (vectorize_out_8 , na .NadaArray ), type (vectorize_out_8 ).__name__
108
+
61
109
# Generative functions
62
110
_ = na .eye (3 , nada_type = na .Rational )
63
111
_ = na .eye (3 , nada_type = Integer )
0 commit comments