use rubygems/package_task.
add –exclude in rdoc_options.
add require “rubygems”.
change gem directory from src to ext.
avoid warnings in require “complex” and rdoc parsing.
new method: NArray.cast
eql? hash methods implemented.
unuse u_int16_t
bug: duplicated definition of asinh/acosh/atanh, typecast warning (mingw/mswin)
use Module#<= instead of rb_mod_ancestors
avoid warnings of signed <=> unsigned comparison
Use ruby methods to check class ancestors, instead of m_tbl directly
new method
Change NMath#recip into a module function.
check array size (zero/negative).
check array size (overflow).
–export-all option for mingw.
New method.
failure due to the change of $DLDFLAGS in ruby1.9
- failed due to spec change of NArray.to_na. Thanks to M. Kikkawa.
- Convert to NA_BYTE by calling “obj.ne(0)”
- improve argument check in NArray.to_na
- the number of arguments was not checked. Thanks to S D for report.
- access out-of-bounds “struct slice” array.
- fix wrong explanation in count_false/true.
- modify random method not to change itself.
- modify randomn! method to replace itself. Thank Yusuke ENDOH for report and comments.
Add NArray#mod! method Also adds NArray#mod as an alias for NArray#%.
Fix divide-by-zero bug in % operator Prior to this fix, the following would crash Ruby with a floating point exception (at least on Mac OS X 10.6)… 1 % NArray Now that code raises ZeroDivisionError which can be rescued.
Add Rakefile for easy gem creation Just run “rake gem” to create the gem file in the pkg/ subdirectory. Added .gitignore file to ignore pkg/ subdirectory.
include sys/stdint.h rather than sys/types.h for C99 confomance
- swith to DFLOAT type if integer array. - thanks to Philip Silva for report.
- add check of storing empty array. - thanks to NISHI Takao for report.
id -> symbol - modify test scripts.
- bug fix in counting narray's rank.
new sophisticated benchmark script.
change var++ to ++var: make NArray perform faster.
fix bug in powOO.
new methods: conj!, conjugate!
change in internal structure of Ruby 1.9 Range object. Thanks to Hargobind Khalsa.
fix for complex NArrays.
new methods.
use RSTRING_PTR, RSTRING_LEN for Ruby 1.9.0.
omit precision in format “%g” for InspS/D/X/C. Thanks to Shigenori OTSUKA at kyoto-u.
bug in NArray::NARRAY_VERSION and InspX.
Remove FFTW2 support; it is a separete module.
`nv = nu' should work if nv and nu are NVector. `NA_IsNArray(nu)' is used for checking NArray. Thanks to sun@titech.
Argument type of comparison function passed to qsort should be `const void *'. Thank Daniel Berger for report.
Do not declare external variables of cNArray, na_sizeof in narray.c. Thank Daniel Berger for report.
Fix to work with NVector/NMatrix classes. Thank Stephen Hill for report.
Make NArray#eq more robust.
Bug: In NMath functions, Float class arguments have been converted to SFLOAT type. Thank Yuhei Kuratomi for his report. Spec Change: Calculate and return as DFLOAT type if an integer argument is given to NMath functions.
NMath.atan2() accepts other objects than NArray class. Treat as DFLOAT for integer arguments.
Bug: “type” is not initialized when an array is empty.
define NARRAY_VERSION NARRAY_VERSION_CODE
new constant: NArray::NARRAY_VERSION
Fix infinite loop due to gcc bug?; “int32_t x; x>>=32;” unvaried although 0 expected. Thanks to David G. Andersen.
Raise error if NArray type is other than float.
Argument type of rb_str2cstr is changed. Use RSTRING()->ptr & RSTRING()->len. Thanks to Ara Howard.
generate libnarray.a for Cygwin + Ruby 1.8.1.
memory free bug: xfree(mdai->type); added.
narray.h, narray_conf.h was not installed on ruby-1.8.x
NArray-GC is disabled.
fix ruby-1.8.x incompatibility
NArray-specific GC is enabled for ruby-1.8.0.
created.
Array#indices is obsolete. use Array#select. Default `to_a' will be obsolete.
Object#type is obsolete. use Object#class.
removed.
add C-version of swap_byte, hton, htov.
do not add “–output-lib libnarray.a” to link options if Cygwin with Ruby 1.8.0. Thank MoonWolf for the note.
created. Thank Jon Davidson for the proposal.
Index is not `i' but `j' in recursive array check. Thank Ara Howard for the bug report.
to build in another directory than source tree.
ditto.
return false unless other is NArray.
move na_sizeof variable from narray_local.h to narray.h. const keyword added. Thanks to Horinouchi-san.
change to public method.
const keyword added.
ditto.
ditto.
dismiss sincos()
better precision.
should use INT2NUM to extract 32-bit int. Thanks to Kozuka-san.
remove unused entry. Thanks to Watanabe-san.
New multi-dimentional array investigation is introduced. Scan array only once and check recursive array.
Local definisions in narray.h are moved into narray_local.h.
accept Array as an argument.
accept Range as a sequence.
add volatile keyword instead of na_touch_object() function.
Bug: GC fails if ary->len is set in advance. Thanks to Bil Kleb.
Modify install_rb to install narray.h, narray_config.h.
Mask support. Thanks to T.Horinoichi.
Mask functions added.
Macros added.
created.
Bug: “!” needed at strncmp.
created.
introduce na_index_t.
change to na_index_t.
modify EXCL(range) to use excule_end?.
remain array if sl->step!=0. i.e., a results in 1-element array.
alias image, arg, conjugate.
check sys/typedef.h, u_int8_t, int16_t, int32_t. generating narray_config.h.
conditional typedef. define NARRAY_H.
change == to eq. add gt,ge,lt,le.
new entry: ==, all?, any?, none?.
new entry: conditional XOR.
ditto.
ditto.
NVector#[] should return NVector class even when single argument of range/array. Thanks to Daishi Harada.
delete redundant “;”
delete config_dir(“narray”), add dir_config(“fftw”).
do not change class even if a for NMatrix. Thanks to Daishi Harada.
rb_str_cat(str,“: n”,4); not 4, but 3. Thanks to Matju.
add dir_config(“x11”). rm have_header.
exclude typedef int32_t,int16_t,u_int8_t for Mac OS X. Thanks to T.Yamamoto.
avoid non-constant initializer for complex.
ignore empty array.
ignore empty array and nil.
bug: na_sizeof[] is necessary. Thank matju for report.
added.
added. Thank M.Tagusai for proposal.
loop-end condition changed from n>0 to n. 5% speed up for multiplication of double.
raise error if divided by 0.
bug: has omitted the case of 0.
added.
enable operation of empty array.
allow a[]=1.
bug: should raise error if < -n.
should call func of self-type. Thanks to Matju.
check argc==0. Thanks to Matju.
cope with empty array.
empty check.
disable initalizing seed.
create asinh, acosh, atanh missing in VC++.
return int after rb_raise().
max() -> NA_MAX(), swap() -> NA_SWAP().
return int after rb_raise().
fix function decl. for qsort.
should change Class to NArray before calling super. Thanks to Kenya OGATA.
follow the change of EXCL() in 1.6.2. Thanks to Robert Feldt.
na_mark_ref, na_mark_obj.
created.
created for general purposes.
use new na_shrink rank. recognize “true” argument.
use new feature of reshape
created.
no more use dup.
created.
wrap with referring class.
created.
created.
print class name.
add “VALUE obj” elmt to “struct NARRAY”.
created.
rewrite with %w().
renamed from mkcmpfunc. accept block.
change arguments.
created.
a1 can be shrinkable.
-> ineger?, complex?.
add false dimension.
renamed from ns_dup.
put in module FFTW.
remove `seed' argument. add rand().
create randomn (Box-Muller).
categolize procedures with arguments.
create FFTW#convol.
bug fix: free index memory.
remove <=> with complex. add ~.
add &, |, ^.
add covariance.
add imag=.
add im (ImagMul).
add trigonometric functions.
extract object if argument is non-array.
add mean, stddev.
bug fix for empty index, etc.
raise error if empty array.
better arg-parse.
created.
more size check.
allow if src-ary has smaller dims.
moved from na_array.c
created. swap_byte, hton etc.
change type=>typecode. add NArray.dfloat, NArray::DFLOAT etc. add element_size, to_binary, to_type_as_binary.
created. na_loop_index is obsolete.
created.
created.
if the argument is an array, methods [],[]= return same shape as the array. e.g, a[[,[2,3]]] creates 2-D array.
Created.
Created.
Created.
Created.
Created.
introduce NArrayScalar class.
better casting.
include code-generating scripts in distribution.
rename sub! => sbt!.
fix to work for Ruby ver 1.5.4.
rename na_to_narray1 to na_ary_to_narray
reduce GC problem; delay registration of objects. change return value of na_to_narray0 from VALUE to struct NARRAY * reflect in na_ary_to_na, na_ary_to_na, na_ary_to_narray.
add GetOrMakeNArray(obj,ary), FreeMadeNArray(obj,ary)
change na_to_narray0 to GetOrMakeNArray/FreeMadeNArray.
free memory of itself structure.
pass pointer to rb_gc_mark.
return if total<0.
judge whether empty array.
Now no need for checking size.
print more description.