/[guile]/guile/guile-core/libguile/unif.c
ViewVC logotype

Diff of /guile/guile-core/libguile/unif.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.126 by mvo, Sun Nov 25 15:21:06 2001 UTC revision 1.127 by mvo, Mon Feb 11 18:06:49 2002 UTC
# Line 171  scm_make_uve (long k, SCM prot) Line 171  scm_make_uve (long k, SCM prot)
171                              scm_long2num (k), k <= SCM_BITVECTOR_MAX_LENGTH);                              scm_long2num (k), k <= SCM_BITVECTOR_MAX_LENGTH);
172            i = sizeof (long) * ((k + SCM_LONG_BIT - 1) / SCM_LONG_BIT);            i = sizeof (long) * ((k + SCM_LONG_BIT - 1) / SCM_LONG_BIT);
173            v = scm_alloc_cell (SCM_MAKE_BITVECTOR_TAG (k),            v = scm_alloc_cell (SCM_MAKE_BITVECTOR_TAG (k),
174                                (scm_t_bits) scm_must_malloc (i, "vector"));                                (scm_t_bits) scm_gc_malloc (i, "vector"));
175          }          }
176        else        else
177          v = scm_alloc_cell (SCM_MAKE_BITVECTOR_TAG (0), 0);          v = scm_alloc_cell (SCM_MAKE_BITVECTOR_TAG (0), 0);
# Line 240  scm_make_uve (long k, SCM prot) Line 240  scm_make_uve (long k, SCM prot)
240    SCM_ASSERT_RANGE (1, scm_long2num (k), k <= SCM_UVECTOR_MAX_LENGTH);    SCM_ASSERT_RANGE (1, scm_long2num (k), k <= SCM_UVECTOR_MAX_LENGTH);
241    
242    return scm_alloc_cell (SCM_MAKE_UVECTOR_TAG (k, type),    return scm_alloc_cell (SCM_MAKE_UVECTOR_TAG (k, type),
243                           (scm_t_bits) scm_must_malloc (i ? i : 1, "vector"));                           (scm_t_bits) scm_gc_malloc (i, "vector"));
244  }  }
245  #undef FUNC_NAME  #undef FUNC_NAME
246    
# Line 520  scm_make_ra (int ndim) Line 520  scm_make_ra (int ndim)
520    SCM ra;    SCM ra;
521    SCM_DEFER_INTS;    SCM_DEFER_INTS;
522    SCM_NEWSMOB(ra, ((scm_t_bits) ndim << 17) + scm_tc16_array,    SCM_NEWSMOB(ra, ((scm_t_bits) ndim << 17) + scm_tc16_array,
523                scm_must_malloc ((sizeof (scm_t_array) +                scm_gc_malloc ((sizeof (scm_t_array) +
524                                  ndim * sizeof (scm_t_array_dim)),                                ndim * sizeof (scm_t_array_dim)),
525                                 "array"));                               "array"));
526    SCM_ARRAY_V (ra) = scm_nullvect;    SCM_ARRAY_V (ra) = scm_nullvect;
527    SCM_ALLOW_INTS;    SCM_ALLOW_INTS;
528    return ra;    return ra;
# Line 2589  array_mark (SCM ptr) Line 2589  array_mark (SCM ptr)
2589  static size_t  static size_t
2590  array_free (SCM ptr)  array_free (SCM ptr)
2591  {  {
2592    scm_must_free (SCM_ARRAY_MEM (ptr));    scm_gc_free (SCM_ARRAY_MEM (ptr),
2593    return sizeof (scm_t_array) +                 (sizeof (scm_t_array)
2594      SCM_ARRAY_NDIM (ptr) * sizeof (scm_t_array_dim);                  + SCM_ARRAY_NDIM (ptr) * sizeof (scm_t_array_dim)),
2595                   "array");
2596      return 0;
2597  }  }
2598    
2599  void  void

Legend:
Removed from v.1.126  
changed lines
  Added in v.1.127

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26