progs/perftest.c: Use from Glibc syscall numbers.
[catacomb] / math / ec-exp.h
index 6cad753..b393d7e 100644 (file)
 #define EXP_TYPE ec
 
 #define EXP_COPY(d, p) do {                                            \
-  (d).x = MP_COPY((p).x);                                              \
-  (d).y = MP_COPY((p).y);                                              \
-  (d).z = (p).z ? MP_COPY((p).z) : MP_NEW;                             \
+  if (EC_ATINF(&(p)))                                                  \
+    (d).x = (d).y = (d).z = MP_NEW;                                    \
+  else {                                                               \
+    (d).x = MP_COPY((p).x);                                            \
+    (d).y = MP_COPY((p).y);                                            \
+    (d).z = (p).z ? MP_COPY((p).z) : MP_NEW;                           \
+  }                                                                    \
 } while (0)
 #define EXP_DROP(x) EC_DESTROY(&(x))