From 879f4fa041cfdefee655eb877f1a91f86a9c62b7 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Fri, 3 Mar 2017 00:56:40 -0800 Subject: New upstream version 5f2 --- unif.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) mode change 100644 => 100755 unif.c (limited to 'unif.c') diff --git a/unif.c b/unif.c old mode 100644 new mode 100755 index 490d2a7..ca05d3b --- a/unif.c +++ b/unif.c @@ -138,6 +138,8 @@ long scm_prot2type(prot) case BOOL_T: return tc7_Vbool; case MAKINUM(8L): return tc7_VfixN8; case MAKINUM(16L): return tc7_VfixN16; + case MAKINUM(64L): return tc7_VfixN64; + case MAKINUM(-64L): return tc7_VfixZ64; case MAKINUM(32L): return tc7_VfixN32; case MAKINUM(-32L): return tc7_VfixZ32; case MAKINUM(-16L): return tc7_VfixZ16; @@ -226,19 +228,12 @@ SCM arrayp(v, prot) if (enclosed++) return BOOL_F; v = ARRAY_V(v); goto loop; + case tc7_vector: + case tc7_VfloR64: case tc7_VfloC64: case tc7_VfloR32: case tc7_VfloC32: + case tc7_VfixN64: case tc7_VfixZ64: case tc7_VfixN32: case tc7_VfixZ32: + case tc7_VfixN16: case tc7_VfixZ16: case tc7_VfixN8: case tc7_VfixZ8: case tc7_Vbool: case tc7_string: - case tc7_VfixN32: - case tc7_VfixZ32: - case tc7_VfixN16: - case tc7_VfixZ16: - case tc7_VfixN8: - case tc7_VfixZ8: - case tc7_VfloR32: - case tc7_VfloC32: - case tc7_VfloR64: - case tc7_VfloC64: - case tc7_vector: if (UNBNDP(prot)) return BOOL_T; if (scm_prot2type(prot)==typ) return BOOL_T; } @@ -1731,11 +1726,11 @@ SCM list2ura(ndim, prot, lst) SCM row=lst; SCM ra; long n; - sizet k = INUM(ndim); - ASRTER(INUMP(ndim), ndim, ARG1, s_list2ura); - for (; k--; NIMP(row) && (row = CAR(row))) { + int k = INUM(ndim); + ASRTER(INUMP(ndim) && k >= 0, ndim, ARG1, s_list2ura); + for (; --k >= 0 ; (NIMP(row) && (row = CAR(row)))) { n = ilength(row); - ASRTER(n>=0, lst, ARG2, s_list2ura); + ASRTER(n>=0, lst, ARG3, s_list2ura); shp = cons(MAKINUM(n), shp); } ra = dims2ura(reverse(shp), prot, EOL); @@ -1942,6 +1937,10 @@ int raprin1(exp, port, writing) lputc('A', port); break; case tc7_string: lputs("A:char", port); break; + case tc7_VfixN64: + lputs("A:fixN64b", port); break; + case tc7_VfixZ64: + lputs("A:fixZ64b", port); break; case tc7_VfixN32: lputs("A:fixN32b", port); break; case tc7_VfixZ32: @@ -1994,6 +1993,8 @@ SCM array_prot(ra) case tc7_vector: return EOL; case tc7_Vbool: return BOOL_T; case tc7_string: return MAKICHR('a'); + case tc7_VfixN64: return MAKINUM(64L); + case tc7_VfixZ64: return MAKINUM(-64L); case tc7_VfixN32: return MAKINUM(32L); case tc7_VfixZ32: return MAKINUM(-32L); case tc7_VfixN16: return MAKINUM(16L); -- cgit v1.2.3