Index: libcfa/src/stdlib.cfa
===================================================================
--- libcfa/src/stdlib.cfa	(revision e3fea427569271c0c15fd2ca6d3296f213856ead)
+++ libcfa/src/stdlib.cfa	(revision 7030dab75c493bbd89de53cb88e496019c794ff4)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  4 08:27:08 2020
-// Update Count     : 486
+// Last Modified On : Tue Mar 31 13:26:46 2020
+// Update Count     : 495
 //
 
@@ -20,5 +20,4 @@
 #define _XOPEN_SOURCE 600								// posix_memalign, *rand48
 #include <string.h>										// memcpy, memset
-#include <malloc.h>										// malloc_usable_size
 //#include <math.h>										// fabsf, fabs, fabsl
 #include <complex.h>									// _Complex_I
@@ -38,4 +37,14 @@
 	} // alloc_set
 
+	T * alloc_set( T ptr[], size_t dim, T fill ) { // realloc array with fill
+		size_t olen = malloc_usable_size( ptr );		// current allocation
+		void * nptr = (void *)realloc( (void *)ptr, dim * sizeof(T) ); // C realloc
+		size_t nlen = malloc_usable_size( nptr );		// new allocation
+		if ( nlen > olen ) {							// larger ?
+			for ( i; dim ) { memcpy( &ptr[i], &fill, sizeof(T) ); } // initialize with fill value
+		} // if
+		return (T *)nptr;
+	} // alloc_align_set
+
 	T * alloc_align_set( T ptr[], size_t align, char fill ) { // aligned realloc with fill
 		size_t olen = malloc_usable_size( ptr );		// current allocation
@@ -45,4 +54,15 @@
 		if ( nlen > olen ) {							// larger ?
 			memset( (char *)nptr + olen, (int)fill, nlen - olen ); // initialize added storage
+		} // if
+		return (T *)nptr;
+	} // alloc_align_set
+
+	T * alloc_align_set( T ptr[], size_t align, size_t dim, T fill ) { // aligned realloc with fill
+		size_t olen = malloc_usable_size( ptr );		// current allocation
+		void * nptr = (void *)realloc( (void *)ptr, align, sizeof(T) ); // CFA realloc
+		// char * nptr = alloc_align( ptr, align );
+		size_t nlen = malloc_usable_size( nptr );		// new allocation
+		if ( nlen > olen ) {							// larger ?
+			for ( i; dim ) { memcpy( &ptr[i], &fill, sizeof(T) ); } // initialize with fill value
 		} // if
 		return (T *)nptr;
