diff --git a/build_linux64/libamsmathutil25.linux64.a b/build_linux64/libamsmathutil25.linux64.a index d7f4cf5..7059581 100644 Binary files a/build_linux64/libamsmathutil25.linux64.a and b/build_linux64/libamsmathutil25.linux64.a differ diff --git a/build_linux64/objstore/amscpptemplate25a_src2.o b/build_linux64/objstore/amscpptemplate25a_src2.o index 03a41ce..96254c6 100644 Binary files a/build_linux64/objstore/amscpptemplate25a_src2.o and b/build_linux64/objstore/amscpptemplate25a_src2.o differ diff --git a/build_linux64/objstore/amscpptemplate25a_template.o b/build_linux64/objstore/amscpptemplate25a_template.o index 1fc5d71..06d6ac8 100644 Binary files a/build_linux64/objstore/amscpptemplate25a_template.o and b/build_linux64/objstore/amscpptemplate25a_template.o differ diff --git a/build_linux64/objstore/amsmathtuil25_test1.o b/build_linux64/objstore/amsmathtuil25_test1.o index 2646f57..8ae5f83 100644 Binary files a/build_linux64/objstore/amsmathtuil25_test1.o and b/build_linux64/objstore/amsmathtuil25_test1.o differ diff --git a/build_linux64/objstore/amsmathutiil25_random.o b/build_linux64/objstore/amsmathutiil25_random.o index bf4ea4d..34f1f90 100644 Binary files a/build_linux64/objstore/amsmathutiil25_random.o and b/build_linux64/objstore/amsmathutiil25_random.o differ diff --git a/build_linux64/objstore/amsmathutil25_amsarray.o b/build_linux64/objstore/amsmathutil25_amsarray.o index 4c01ecf..ab18391 100644 Binary files a/build_linux64/objstore/amsmathutil25_amsarray.o and b/build_linux64/objstore/amsmathutil25_amsarray.o differ diff --git a/build_linux64/objstore/amsmathutil25_amsarray_sort.o b/build_linux64/objstore/amsmathutil25_amsarray_sort.o index d509bc5..448bb86 100644 Binary files a/build_linux64/objstore/amsmathutil25_amsarray_sort.o and b/build_linux64/objstore/amsmathutil25_amsarray_sort.o differ diff --git a/build_linux64/objstore/amsmathutil25_mathfns1.o b/build_linux64/objstore/amsmathutil25_mathfns1.o index 7def272..0e62279 100644 Binary files a/build_linux64/objstore/amsmathutil25_mathfns1.o and b/build_linux64/objstore/amsmathutil25_mathfns1.o differ diff --git a/build_linux64/objstore/amsmathutil25_utils1.o b/build_linux64/objstore/amsmathutil25_utils1.o index 9232ac3..3f6b99e 100644 Binary files a/build_linux64/objstore/amsmathutil25_utils1.o and b/build_linux64/objstore/amsmathutil25_utils1.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec2.o b/build_linux64/objstore/amsmathutil25_vec2.o index 93f1c86..f6a6e54 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec2.o and b/build_linux64/objstore/amsmathutil25_vec2.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec2f.o b/build_linux64/objstore/amsmathutil25_vec2f.o index 57543d2..43b9398 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec2f.o and b/build_linux64/objstore/amsmathutil25_vec2f.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec3.o b/build_linux64/objstore/amsmathutil25_vec3.o index 6cbc0a1..903d5f2 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec3.o and b/build_linux64/objstore/amsmathutil25_vec3.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec3f.o b/build_linux64/objstore/amsmathutil25_vec3f.o index 3ca6459..6ae367b 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec3f.o and b/build_linux64/objstore/amsmathutil25_vec3f.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec4.o b/build_linux64/objstore/amsmathutil25_vec4.o index 65910fc..191a211 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec4.o and b/build_linux64/objstore/amsmathutil25_vec4.o differ diff --git a/build_linux64/objstore/amsmathutil25_vec4f.o b/build_linux64/objstore/amsmathutil25_vec4f.o index 6eb0c53..dc12f7c 100644 Binary files a/build_linux64/objstore/amsmathutil25_vec4f.o and b/build_linux64/objstore/amsmathutil25_vec4f.o differ diff --git a/build_linux64/objstore/amsmathutil2t_complex128.o b/build_linux64/objstore/amsmathutil2t_complex128.o index be57f9f..fdae151 100644 Binary files a/build_linux64/objstore/amsmathutil2t_complex128.o and b/build_linux64/objstore/amsmathutil2t_complex128.o differ diff --git a/build_linux64/objstore/amsmathutil2t_complex64.o b/build_linux64/objstore/amsmathutil2t_complex64.o index e2bbf48..866300f 100644 Binary files a/build_linux64/objstore/amsmathutil2t_complex64.o and b/build_linux64/objstore/amsmathutil2t_complex64.o differ diff --git a/build_linux64/tests b/build_linux64/tests index d2765c8..b48854c 100644 Binary files a/build_linux64/tests and b/build_linux64/tests differ diff --git a/build_mingw64/libamsmathutil25.mingw64.a b/build_mingw64/libamsmathutil25.mingw64.a index 4b103e1..e18b43c 100644 Binary files a/build_mingw64/libamsmathutil25.mingw64.a and b/build_mingw64/libamsmathutil25.mingw64.a differ diff --git a/build_mingw64/objstore/amscpptemplate25a_src2.o b/build_mingw64/objstore/amscpptemplate25a_src2.o index 61ce3f0..6150531 100644 Binary files a/build_mingw64/objstore/amscpptemplate25a_src2.o and b/build_mingw64/objstore/amscpptemplate25a_src2.o differ diff --git a/build_mingw64/objstore/amscpptemplate25a_template.o b/build_mingw64/objstore/amscpptemplate25a_template.o index 657abaf..4fc396d 100644 Binary files a/build_mingw64/objstore/amscpptemplate25a_template.o and b/build_mingw64/objstore/amscpptemplate25a_template.o differ diff --git a/build_mingw64/objstore/amsmathtuil25_test1.o b/build_mingw64/objstore/amsmathtuil25_test1.o index c252b94..705cebc 100644 Binary files a/build_mingw64/objstore/amsmathtuil25_test1.o and b/build_mingw64/objstore/amsmathtuil25_test1.o differ diff --git a/build_mingw64/objstore/amsmathutiil25_random.o b/build_mingw64/objstore/amsmathutiil25_random.o index 4a3f536..a194143 100644 Binary files a/build_mingw64/objstore/amsmathutiil25_random.o and b/build_mingw64/objstore/amsmathutiil25_random.o differ diff --git a/build_mingw64/objstore/amsmathutil25_amsarray.o b/build_mingw64/objstore/amsmathutil25_amsarray.o index cf9e892..909bd8d 100644 Binary files a/build_mingw64/objstore/amsmathutil25_amsarray.o and b/build_mingw64/objstore/amsmathutil25_amsarray.o differ diff --git a/build_mingw64/objstore/amsmathutil25_amsarray_sort.o b/build_mingw64/objstore/amsmathutil25_amsarray_sort.o index c3e432e..3b19c9d 100644 Binary files a/build_mingw64/objstore/amsmathutil25_amsarray_sort.o and b/build_mingw64/objstore/amsmathutil25_amsarray_sort.o differ diff --git a/build_mingw64/objstore/amsmathutil25_mathfns1.o b/build_mingw64/objstore/amsmathutil25_mathfns1.o index ba7f185..27dc603 100644 Binary files a/build_mingw64/objstore/amsmathutil25_mathfns1.o and b/build_mingw64/objstore/amsmathutil25_mathfns1.o differ diff --git a/build_mingw64/objstore/amsmathutil25_utils1.o b/build_mingw64/objstore/amsmathutil25_utils1.o index 9db8b45..cbf7a14 100644 Binary files a/build_mingw64/objstore/amsmathutil25_utils1.o and b/build_mingw64/objstore/amsmathutil25_utils1.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec2.o b/build_mingw64/objstore/amsmathutil25_vec2.o index fa0bcdf..c707303 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec2.o and b/build_mingw64/objstore/amsmathutil25_vec2.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec2f.o b/build_mingw64/objstore/amsmathutil25_vec2f.o index a3c84de..18bcfce 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec2f.o and b/build_mingw64/objstore/amsmathutil25_vec2f.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec3.o b/build_mingw64/objstore/amsmathutil25_vec3.o index abd3d30..10391b7 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec3.o and b/build_mingw64/objstore/amsmathutil25_vec3.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec3f.o b/build_mingw64/objstore/amsmathutil25_vec3f.o index 1802cd7..e268348 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec3f.o and b/build_mingw64/objstore/amsmathutil25_vec3f.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec4.o b/build_mingw64/objstore/amsmathutil25_vec4.o index b0c18be..dad355c 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec4.o and b/build_mingw64/objstore/amsmathutil25_vec4.o differ diff --git a/build_mingw64/objstore/amsmathutil25_vec4f.o b/build_mingw64/objstore/amsmathutil25_vec4f.o index dca1f44..d0959b6 100644 Binary files a/build_mingw64/objstore/amsmathutil25_vec4f.o and b/build_mingw64/objstore/amsmathutil25_vec4f.o differ diff --git a/build_mingw64/objstore/amsmathutil2t_complex128.o b/build_mingw64/objstore/amsmathutil2t_complex128.o index 2d4704a..4db4a6b 100644 Binary files a/build_mingw64/objstore/amsmathutil2t_complex128.o and b/build_mingw64/objstore/amsmathutil2t_complex128.o differ diff --git a/build_mingw64/objstore/amsmathutil2t_complex64.o b/build_mingw64/objstore/amsmathutil2t_complex64.o index 9230797..2f26e27 100644 Binary files a/build_mingw64/objstore/amsmathutil2t_complex64.o and b/build_mingw64/objstore/amsmathutil2t_complex64.o differ diff --git a/build_mingw64/tests.exe b/build_mingw64/tests.exe index 37a6f9d..1d7b32f 100644 Binary files a/build_mingw64/tests.exe and b/build_mingw64/tests.exe differ diff --git a/include/amsmathutil25/util/amsmathutil25_amsarray_impl.hpp b/include/amsmathutil25/util/amsmathutil25_amsarray_impl.hpp index 8cb3948..86579a8 100644 --- a/include/amsmathutil25/util/amsmathutil25_amsarray_impl.hpp +++ b/include/amsmathutil25/util/amsmathutil25_amsarray_impl.hpp @@ -36,7 +36,7 @@ namespace ams { int ret = amsarray_success; T *newdata = NULL; - amsarray_size_t lmin; + amsarray_size_t lmin = 0; T defval = T(); if(_newcap<=0) @@ -48,6 +48,12 @@ namespace ams return ret; } + if(_newcap == reserved) + { + ret = amsarray_success; + return ret; + } + newdata = new(std::nothrow) T[_newcap]; if(newdata==NULL) { @@ -57,7 +63,7 @@ namespace ams if(data!=NULL) { - lmin = (_newcap>=reserved) ? length : _newcap; + lmin = (_newcap>=reserved) ? reserved : _newcap; ams::buffer_cast_copy(newdata,data,lmin); } ams::buffer_set(newdata,reserved,_newcap,defval); @@ -65,7 +71,7 @@ namespace ams if(data!=NULL) {delete[] data; data = NULL;} data = newdata; reserved = _newcap; - length = (length=(nthread-1)) ? N : Is*(threadnum+1); // I0 = (I0<=0) ? 0 : I0; // I1 = (I1<=0) ? 0 : I1; - I0 = (I0>N) ? N : I0; + I0 = (I0>(N-1)) ? (N-1) : I0; I1 = (I1>N) ? N : I1; for(I=I0;I