Create mbedtls_cf_size_if function

Add a constant-time function with size_t parameter for choosing
between two integer values, like the ?: ternary operator.

Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/library/constant_time.c b/library/constant_time.c
index 9ddd21d..aa291d7 100644
--- a/library/constant_time.c
+++ b/library/constant_time.c
@@ -295,6 +295,12 @@
     return( ( mask & if1 ) | (~mask & if0 ) );
 }
 
+size_t mbedtls_cf_size_if( unsigned cond, size_t if1, size_t if0 )
+{
+    size_t mask = mbedtls_cf_size_mask( cond );
+    return( ( mask & if1 ) | (~mask & if0 ) );
+}
+
 /**
  * Select between two sign values in constant-time.
  *
diff --git a/library/constant_time.h b/library/constant_time.h
index a8d142b..fdbaf1f 100644
--- a/library/constant_time.h
+++ b/library/constant_time.h
@@ -59,6 +59,8 @@
 
 unsigned mbedtls_cf_uint_if( unsigned cond, unsigned if1, unsigned if0 );
 
+size_t mbedtls_cf_size_if( unsigned cond, size_t if1, size_t if0 );
+
 int mbedtls_cf_cond_select_sign( int a, int b, unsigned char second );
 
 #if defined(MBEDTLS_BIGNUM_C)