diff --git a/collects/scribblings/inside/values.scrbl b/collects/scribblings/inside/values.scrbl index da89258224..1a6d544367 100644 --- a/collects/scribblings/inside/values.scrbl +++ b/collects/scribblings/inside/values.scrbl @@ -162,6 +162,17 @@ types: modified); test for this type with @cppdef{SCHEME_VECTORP}; 3m: see @secref["im:3m"] for a caution about @cppi{SCHEME_VEC_ELS}} + @item{@cppdef{scheme_flvector_type} --- @cppdef{SCHEME_FLVEC_SIZE} + extracts the length and @cppdef{SCHEME_FLVEC_ELS} extracts the array of + @cpp{double}s; test for this type with @cppdef{SCHEME_FLVECTORP}; 3m: see + @secref["im:3m"] for a caution about @cppi{SCHEME_FLVEC_ELS}} + + @item{@cppdef{scheme_fxvector_type} --- uses the same representation + as @cpp{scheme_vector_type}, so use @cpp{SCHEME_VEC_SIZE} + for the length and @cpp{SCHEME_VEC_ELS} for the array of + Racket fixnum values; test for this type with @cppdef{SCHEME_FXVECTORP}; 3m: see + @secref["im:3m"] for a caution about @cppi{SCHEME_VEC_ELS}} + @item{@cppdef{scheme_structure_type} --- structure instances; test for this type with @cppdef{SCHEME_STRUCTP}} @@ -641,6 +652,18 @@ Like @cpp{scheme_intern_exact_keyword}, but given a character array Allocates a new vector.} +@function[(Scheme_Double_Vector* scheme_alloc_flvector + [intptr_t size])]{ + +Allocates an uninitialized flvector. +The result type is effectively an alias for @cpp{Scheme_Object*}.} + +@function[(Scheme_Vector* scheme_alloc_fxvector + [intptr_t size])]{ + +Allocates an uninitialized fxvector. +The result type is effectively an alias for @cpp{Scheme_Object*}.} + @function[(Scheme_Object* scheme_box [Scheme_Object* v])]{ diff --git a/src/racket/include/mzwin.def b/src/racket/include/mzwin.def index 891886e259..a45cff9328 100644 --- a/src/racket/include/mzwin.def +++ b/src/racket/include/mzwin.def @@ -288,6 +288,8 @@ EXPORTS scheme_append_char_string scheme_string_recase scheme_make_vector + scheme_alloc_flvector + scheme_alloc_fxvector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long @@ -599,6 +601,7 @@ EXPORTS scheme_get_signal_handle scheme_char_strlen scheme_stx_extract_marks + scheme_get_place_id scheme_get_place_table scheme_register_process_global scheme_malloc_key diff --git a/src/racket/include/mzwin3m.def b/src/racket/include/mzwin3m.def index 992ab3d3d6..184116fd78 100644 --- a/src/racket/include/mzwin3m.def +++ b/src/racket/include/mzwin3m.def @@ -303,6 +303,8 @@ EXPORTS scheme_append_char_string scheme_string_recase scheme_make_vector + scheme_alloc_flvector + scheme_alloc_fxvector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long @@ -615,6 +617,7 @@ EXPORTS scheme_get_signal_handle scheme_char_strlen scheme_stx_extract_marks + scheme_get_place_id scheme_get_place_table scheme_register_process_global scheme_malloc_key diff --git a/src/racket/include/racket.exp b/src/racket/include/racket.exp index ed449811c6..d98de04cfb 100644 --- a/src/racket/include/racket.exp +++ b/src/racket/include/racket.exp @@ -305,6 +305,8 @@ scheme_alloc_char_string scheme_append_char_string scheme_string_recase scheme_make_vector +scheme_alloc_flvector +scheme_alloc_fxvector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long @@ -616,6 +618,7 @@ scheme_signal_received_at scheme_get_signal_handle scheme_char_strlen scheme_stx_extract_marks +scheme_get_place_id scheme_get_place_table scheme_register_process_global scheme_malloc_key diff --git a/src/racket/include/racket3m.exp b/src/racket/include/racket3m.exp index 2d728a3cba..e4badf6c93 100644 --- a/src/racket/include/racket3m.exp +++ b/src/racket/include/racket3m.exp @@ -311,6 +311,8 @@ scheme_alloc_char_string scheme_append_char_string scheme_string_recase scheme_make_vector +scheme_alloc_flvector +scheme_alloc_fxvector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long @@ -623,6 +625,7 @@ scheme_signal_received_at scheme_get_signal_handle scheme_char_strlen scheme_stx_extract_marks +scheme_get_place_id scheme_get_place_table scheme_register_process_global scheme_malloc_key diff --git a/src/racket/src/schemef.h b/src/racket/src/schemef.h index b2147f2a47..a902356161 100644 --- a/src/racket/src/schemef.h +++ b/src/racket/src/schemef.h @@ -586,6 +586,8 @@ MZ_EXTERN Scheme_Object *scheme_append_char_string(Scheme_Object *, Scheme_Objec MZ_EXTERN mzchar *scheme_string_recase(mzchar *s, int d, int len, int mode, int inplace, int *_len); MZ_EXTERN Scheme_Object *scheme_make_vector(intptr_t size, Scheme_Object *fill); +MZ_EXTERN Scheme_Double_Vector *scheme_alloc_flvector(intptr_t size); +MZ_EXTERN Scheme_Vector *scheme_alloc_fxvector(intptr_t size); MZ_EXTERN Scheme_Object *scheme_make_integer_value(intptr_t i); MZ_EXTERN Scheme_Object *scheme_make_integer_value_from_unsigned(uintptr_t i); MZ_EXTERN Scheme_Object *scheme_make_integer_value_from_long_long(mzlonglong i); diff --git a/src/racket/src/schemex.h b/src/racket/src/schemex.h index e461bead8a..74a2d36928 100644 --- a/src/racket/src/schemex.h +++ b/src/racket/src/schemex.h @@ -466,6 +466,8 @@ Scheme_Object *(*scheme_alloc_char_string)(intptr_t size, mzchar fill); Scheme_Object *(*scheme_append_char_string)(Scheme_Object *, Scheme_Object *); mzchar *(*scheme_string_recase)(mzchar *s, int d, int len, int mode, int inplace, int *_len); Scheme_Object *(*scheme_make_vector)(intptr_t size, Scheme_Object *fill); +Scheme_Double_Vector *(*scheme_alloc_flvector)(intptr_t size); +Scheme_Vector *(*scheme_alloc_fxvector)(intptr_t size); Scheme_Object *(*scheme_make_integer_value)(intptr_t i); Scheme_Object *(*scheme_make_integer_value_from_unsigned)(uintptr_t i); Scheme_Object *(*scheme_make_integer_value_from_long_long)(mzlonglong i); diff --git a/src/racket/src/schemex.inc b/src/racket/src/schemex.inc index b2b241c831..8c0fbf1e7e 100644 --- a/src/racket/src/schemex.inc +++ b/src/racket/src/schemex.inc @@ -336,6 +336,8 @@ scheme_extension_table->scheme_append_char_string = scheme_append_char_string; scheme_extension_table->scheme_string_recase = scheme_string_recase; scheme_extension_table->scheme_make_vector = scheme_make_vector; + scheme_extension_table->scheme_alloc_flvector = scheme_alloc_flvector; + scheme_extension_table->scheme_alloc_fxvector = scheme_alloc_fxvector; scheme_extension_table->scheme_make_integer_value = scheme_make_integer_value; scheme_extension_table->scheme_make_integer_value_from_unsigned = scheme_make_integer_value_from_unsigned; scheme_extension_table->scheme_make_integer_value_from_long_long = scheme_make_integer_value_from_long_long; @@ -671,6 +673,7 @@ scheme_extension_table->scheme_get_signal_handle = scheme_get_signal_handle; scheme_extension_table->scheme_char_strlen = scheme_char_strlen; scheme_extension_table->scheme_stx_extract_marks = scheme_stx_extract_marks; + scheme_extension_table->scheme_get_place_id = scheme_get_place_id; scheme_extension_table->scheme_get_place_table = scheme_get_place_table; scheme_extension_table->scheme_register_process_global = scheme_register_process_global; scheme_extension_table->scheme_malloc_key = scheme_malloc_key; diff --git a/src/racket/src/schemexm.h b/src/racket/src/schemexm.h index e01d9029d2..42d68f8aed 100644 --- a/src/racket/src/schemexm.h +++ b/src/racket/src/schemexm.h @@ -336,6 +336,8 @@ #define scheme_append_char_string (scheme_extension_table->scheme_append_char_string) #define scheme_string_recase (scheme_extension_table->scheme_string_recase) #define scheme_make_vector (scheme_extension_table->scheme_make_vector) +#define scheme_alloc_flvector (scheme_extension_table->scheme_alloc_flvector) +#define scheme_alloc_fxvector (scheme_extension_table->scheme_alloc_fxvector) #define scheme_make_integer_value (scheme_extension_table->scheme_make_integer_value) #define scheme_make_integer_value_from_unsigned (scheme_extension_table->scheme_make_integer_value_from_unsigned) #define scheme_make_integer_value_from_long_long (scheme_extension_table->scheme_make_integer_value_from_long_long) @@ -671,6 +673,7 @@ #define scheme_get_signal_handle (scheme_extension_table->scheme_get_signal_handle) #define scheme_char_strlen (scheme_extension_table->scheme_char_strlen) #define scheme_stx_extract_marks (scheme_extension_table->scheme_stx_extract_marks) +#define scheme_get_place_id (scheme_extension_table->scheme_get_place_id) #define scheme_get_place_table (scheme_extension_table->scheme_get_place_table) #define scheme_register_process_global (scheme_extension_table->scheme_register_process_global) #define scheme_malloc_key (scheme_extension_table->scheme_malloc_key) diff --git a/src/racket/src/schpriv.h b/src/racket/src/schpriv.h index e03d2d53ed..c76bb215f5 100644 --- a/src/racket/src/schpriv.h +++ b/src/racket/src/schpriv.h @@ -3566,7 +3566,6 @@ Scheme_Object *scheme_checked_byte_string_ref(int argc, Scheme_Object *argv[]); Scheme_Object *scheme_checked_byte_string_set(int argc, Scheme_Object *argv[]); Scheme_Object *scheme_checked_syntax_e(int argc, Scheme_Object **argv); Scheme_Object *scheme_vector_length(Scheme_Object *v); -Scheme_Double_Vector *scheme_alloc_flvector(intptr_t size); Scheme_Object *scheme_checked_flvector_ref(int argc, Scheme_Object **argv); Scheme_Object *scheme_checked_flvector_set(int argc, Scheme_Object **argv); Scheme_Object *scheme_flvector_length(Scheme_Object *v);