/* Test new is* intrinsics */
proc main()
{
var vals = {3, 4ub, 5l, 6., 7.d, '8', L'9'};
var res;
var rows = {"isinteger", "isfloat", "ischar", "isnumeric"};
res = new Array(5, 1+vals.length());
forall (vals[i]) {
res[0,i+1] = typeof(vals[i]);
res[1,i+1] = vals[i].isinteger() ? 'Y' : ' ';
res[2,i+1] = vals[i].isfloat() ? 'Y' : ' ';
res[3,i+1] = vals[i].ischar() ? 'Y' : ' ';
res[4,i+1] = vals[i].isnumeric() ? 'Y' : ' ';
}
res[0,0] = ' ';
res[1:,0] = rows;
// Print it out. 'SN#' - don't do nest boxes. 'S*' - print literals in
// every row. '*' - loop format here. 'SC' - center values in column.
// ':' - terminate after row is exhausted
print("SN#, S*, V, ' | ', (*, SC, V, :, ' | ')", res);
}