Add copysign, ilogb and nextafter for half

http://b/23536224

Change-Id: Ib760a4120ec3ca3b1ad0459bd0e35398fd83bc4f
diff --git a/api/rs_math.spec b/api/rs_math.spec
index f686bab..47c1964 100644
--- a/api/rs_math.spec
+++ b/api/rs_math.spec
@@ -580,7 +580,6 @@
  For example, <code>clz((char)0x03)</code> returns 6.
 end:
 
-# TODO add f16 copysign
 function: copysign
 version: 9
 attrib: const
@@ -598,6 +597,17 @@
  For example, <code>copysign(4.0f, -2.7f)</code> returns -4.0f and <code>copysign(-4.0f, 2.7f)</code> returns 4.0f.
 end:
 
+function: copysign
+version: UNRELEASED
+attrib: const
+w: 1, 2, 3, 4
+t: f16
+ret: #2#1
+arg: #2#1 magnitude_value
+arg: #2#1 sign_value
+test: none
+end:
+
 function: cos
 version: 9
 attrib: const
@@ -1189,7 +1199,6 @@
 test: none
 end:
 
-# TODO Add f16 ilogb.  Should its return be short?
 function: ilogb
 version: 9
 attrib: const
@@ -1210,6 +1219,16 @@
 test: custom
 end:
 
+function: ilogb
+version: UNRELEASED
+attrib: const
+w: 1, 2, 3, 4
+t: f16
+ret: int#1
+arg: half#1 v
+test: none
+end:
+
 function: ldexp
 version: 9
 attrib: const
@@ -2759,7 +2778,6 @@
 test: none
 end:
 
-# TODO add f16 nextafter
 function: nextafter
 version: 9
 attrib: const
@@ -2776,6 +2794,17 @@
  value, as support of denormalized values is optional in relaxed mode.
 end:
 
+function: nextafter
+version: UNRELEASED
+attrib: const
+w: 1, 2, 3, 4
+t: f16
+ret: #2#1
+arg: #2#1 v
+arg: #2#1 target
+test: none
+end:
+
 function: pow
 version: 9
 attrib: const