Commit c9382d7
peng.li24
fix: template cumsum/squeeze/unwrap/intersect1d to preserve input dtype
Convert non-template pycpp wrappers to template<T> to match numpy's
dtype-preserving behavior:
cumsum(f32)→f32, squeeze(f32)→f32, unwrap(f32)→f32, intersect1d(f32)→f32
Add float32 pybind11 bindings for all four functions.
Add float32 test coverage (loop over [float64, float32]).
Known limitation: float32 unwrap with large π-multiple values differs
from numpy by ~ULP because numpy uses float64 constants internally
(period = 2*np.float64(pi)) even for float32 input.1 parent a9b4fe9 commit c9382d7
3 files changed
Lines changed: 48 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1018 | 1018 | | |
1019 | 1019 | | |
1020 | 1020 | | |
1021 | | - | |
| 1021 | + | |
| 1022 | + | |
1022 | 1023 | | |
1023 | | - | |
1024 | | - | |
1025 | | - | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
1026 | 1027 | | |
1027 | 1028 | | |
1028 | 1029 | | |
1029 | 1030 | | |
1030 | | - | |
| 1031 | + | |
| 1032 | + | |
1031 | 1033 | | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
1035 | 1037 | | |
1036 | 1038 | | |
1037 | 1039 | | |
1038 | 1040 | | |
1039 | | - | |
| 1041 | + | |
| 1042 | + | |
1040 | 1043 | | |
1041 | 1044 | | |
1042 | 1045 | | |
1043 | 1046 | | |
1044 | 1047 | | |
1045 | | - | |
1046 | | - | |
| 1048 | + | |
| 1049 | + | |
1047 | 1050 | | |
1048 | 1051 | | |
1049 | 1052 | | |
1050 | 1053 | | |
1051 | | - | |
| 1054 | + | |
| 1055 | + | |
1052 | 1056 | | |
1053 | 1057 | | |
1054 | | - | |
1055 | | - | |
1056 | | - | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
1057 | 1061 | | |
1058 | 1062 | | |
1059 | 1063 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
| 220 | + | |
220 | 221 | | |
221 | 222 | | |
| 223 | + | |
222 | 224 | | |
| 225 | + | |
223 | 226 | | |
| 227 | + | |
224 | 228 | | |
225 | 229 | | |
226 | 230 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
733 | 733 | | |
734 | 734 | | |
735 | 735 | | |
736 | | - | |
737 | | - | |
738 | | - | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
739 | 742 | | |
740 | 743 | | |
741 | 744 | | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
748 | 752 | | |
749 | 753 | | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
756 | 761 | | |
757 | 762 | | |
758 | | - | |
759 | | - | |
760 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
761 | 768 | | |
762 | 769 | | |
763 | 770 | | |
| |||
0 commit comments