numo-narray 0.9.0.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/Gemfile +4 -0
 - data/README.md +47 -0
 - data/Rakefile +41 -0
 - data/ext/numo/narray/SFMT-params.h +97 -0
 - data/ext/numo/narray/SFMT-params19937.h +46 -0
 - data/ext/numo/narray/SFMT.c +620 -0
 - data/ext/numo/narray/SFMT.h +157 -0
 - data/ext/numo/narray/array.c +525 -0
 - data/ext/numo/narray/data.c +901 -0
 - data/ext/numo/narray/depend.erb +33 -0
 - data/ext/numo/narray/extconf.rb +117 -0
 - data/ext/numo/narray/gen/bit.erb.c +811 -0
 - data/ext/numo/narray/gen/cogen.rb +18 -0
 - data/ext/numo/narray/gen/def/dcomplex.rb +32 -0
 - data/ext/numo/narray/gen/def/dfloat.rb +30 -0
 - data/ext/numo/narray/gen/def/int16.rb +29 -0
 - data/ext/numo/narray/gen/def/int32.rb +29 -0
 - data/ext/numo/narray/gen/def/int64.rb +29 -0
 - data/ext/numo/narray/gen/def/int8.rb +29 -0
 - data/ext/numo/narray/gen/def/robject.rb +30 -0
 - data/ext/numo/narray/gen/def/scomplex.rb +32 -0
 - data/ext/numo/narray/gen/def/sfloat.rb +30 -0
 - data/ext/numo/narray/gen/def/uint16.rb +29 -0
 - data/ext/numo/narray/gen/def/uint32.rb +29 -0
 - data/ext/numo/narray/gen/def/uint64.rb +29 -0
 - data/ext/numo/narray/gen/def/uint8.rb +29 -0
 - data/ext/numo/narray/gen/dtype.erb.c +328 -0
 - data/ext/numo/narray/gen/tmpl/accum.c +36 -0
 - data/ext/numo/narray/gen/tmpl/accum_binary.c +75 -0
 - data/ext/numo/narray/gen/tmpl/accum_index.c +58 -0
 - data/ext/numo/narray/gen/tmpl/allocate.c +35 -0
 - data/ext/numo/narray/gen/tmpl/aref.c +51 -0
 - data/ext/numo/narray/gen/tmpl/aset.c +61 -0
 - data/ext/numo/narray/gen/tmpl/binary.c +53 -0
 - data/ext/numo/narray/gen/tmpl/binary2.c +55 -0
 - data/ext/numo/narray/gen/tmpl/binary_s.c +34 -0
 - data/ext/numo/narray/gen/tmpl/bit_binary.c +94 -0
 - data/ext/numo/narray/gen/tmpl/bit_count.c +82 -0
 - data/ext/numo/narray/gen/tmpl/bit_unary.c +77 -0
 - data/ext/numo/narray/gen/tmpl/cast.c +37 -0
 - data/ext/numo/narray/gen/tmpl/cast_array.c +79 -0
 - data/ext/numo/narray/gen/tmpl/cast_numeric.c +22 -0
 - data/ext/numo/narray/gen/tmpl/coerce_cast.c +8 -0
 - data/ext/numo/narray/gen/tmpl/cond_binary.c +51 -0
 - data/ext/numo/narray/gen/tmpl/cond_unary.c +45 -0
 - data/ext/numo/narray/gen/tmpl/cum.c +42 -0
 - data/ext/numo/narray/gen/tmpl/each.c +43 -0
 - data/ext/numo/narray/gen/tmpl/each_with_index.c +64 -0
 - data/ext/numo/narray/gen/tmpl/extract.c +23 -0
 - data/ext/numo/narray/gen/tmpl/eye.c +91 -0
 - data/ext/numo/narray/gen/tmpl/fill.c +38 -0
 - data/ext/numo/narray/gen/tmpl/format.c +60 -0
 - data/ext/numo/narray/gen/tmpl/format_to_a.c +47 -0
 - data/ext/numo/narray/gen/tmpl/head.c +25 -0
 - data/ext/numo/narray/gen/tmpl/inspect.c +16 -0
 - data/ext/numo/narray/gen/tmpl/map_with_index.c +94 -0
 - data/ext/numo/narray/gen/tmpl/median.c +44 -0
 - data/ext/numo/narray/gen/tmpl/minmax.c +47 -0
 - data/ext/numo/narray/gen/tmpl/poly.c +49 -0
 - data/ext/numo/narray/gen/tmpl/pow.c +74 -0
 - data/ext/numo/narray/gen/tmpl/powint.c +17 -0
 - data/ext/numo/narray/gen/tmpl/qsort.c +149 -0
 - data/ext/numo/narray/gen/tmpl/rand.c +33 -0
 - data/ext/numo/narray/gen/tmpl/rand_norm.c +46 -0
 - data/ext/numo/narray/gen/tmpl/robj_allocate.c +32 -0
 - data/ext/numo/narray/gen/tmpl/seq.c +61 -0
 - data/ext/numo/narray/gen/tmpl/set2.c +56 -0
 - data/ext/numo/narray/gen/tmpl/sort.c +36 -0
 - data/ext/numo/narray/gen/tmpl/sort_index.c +86 -0
 - data/ext/numo/narray/gen/tmpl/store.c +31 -0
 - data/ext/numo/narray/gen/tmpl/store_array.c +5 -0
 - data/ext/numo/narray/gen/tmpl/store_from.c +53 -0
 - data/ext/numo/narray/gen/tmpl/store_numeric.c +22 -0
 - data/ext/numo/narray/gen/tmpl/to_a.c +41 -0
 - data/ext/numo/narray/gen/tmpl/unary.c +58 -0
 - data/ext/numo/narray/gen/tmpl/unary2.c +58 -0
 - data/ext/numo/narray/gen/tmpl/unary_s.c +57 -0
 - data/ext/numo/narray/index.c +822 -0
 - data/ext/numo/narray/kwarg.c +79 -0
 - data/ext/numo/narray/math.c +140 -0
 - data/ext/numo/narray/narray.c +1539 -0
 - data/ext/numo/narray/ndloop.c +1928 -0
 - data/ext/numo/narray/numo/compat.h +23 -0
 - data/ext/numo/narray/numo/intern.h +112 -0
 - data/ext/numo/narray/numo/narray.h +411 -0
 - data/ext/numo/narray/numo/ndloop.h +99 -0
 - data/ext/numo/narray/numo/template.h +140 -0
 - data/ext/numo/narray/numo/types/bit.h +19 -0
 - data/ext/numo/narray/numo/types/complex.h +410 -0
 - data/ext/numo/narray/numo/types/complex_macro.h +205 -0
 - data/ext/numo/narray/numo/types/dcomplex.h +11 -0
 - data/ext/numo/narray/numo/types/dfloat.h +12 -0
 - data/ext/numo/narray/numo/types/float_def.h +34 -0
 - data/ext/numo/narray/numo/types/float_macro.h +277 -0
 - data/ext/numo/narray/numo/types/int16.h +12 -0
 - data/ext/numo/narray/numo/types/int32.h +12 -0
 - data/ext/numo/narray/numo/types/int64.h +12 -0
 - data/ext/numo/narray/numo/types/int8.h +12 -0
 - data/ext/numo/narray/numo/types/int_macro.h +34 -0
 - data/ext/numo/narray/numo/types/robj_macro.h +218 -0
 - data/ext/numo/narray/numo/types/robject.h +21 -0
 - data/ext/numo/narray/numo/types/scomplex.h +11 -0
 - data/ext/numo/narray/numo/types/sfloat.h +13 -0
 - data/ext/numo/narray/numo/types/uint16.h +12 -0
 - data/ext/numo/narray/numo/types/uint32.h +12 -0
 - data/ext/numo/narray/numo/types/uint64.h +12 -0
 - data/ext/numo/narray/numo/types/uint8.h +12 -0
 - data/ext/numo/narray/numo/types/uint_macro.h +31 -0
 - data/ext/numo/narray/numo/types/xint_macro.h +133 -0
 - data/ext/numo/narray/rand.c +87 -0
 - data/ext/numo/narray/step.c +506 -0
 - data/ext/numo/narray/struct.c +872 -0
 - data/lib/2.1/numo/narray.so +0 -0
 - data/lib/2.2/numo/narray.so +0 -0
 - data/lib/2.3/numo/narray.so +0 -0
 - data/lib/erbpp/line_number.rb +126 -0
 - data/lib/erbpp/narray_def.rb +338 -0
 - data/lib/erbpp.rb +286 -0
 - data/lib/numo/narray.rb +6 -0
 - data/numo-narray.gemspec +35 -0
 - data/spec/bit_spec.rb +93 -0
 - data/spec/narray_spec.rb +249 -0
 - metadata +238 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: afa2563cf5a6d4f756025e0b51536bf83c2a3fd7
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: eab5d7f761a567782e29e97420aa56c3eb142bf4
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 080bb8d44b7e906dd17588a2e87f2f4935b43426bb87af47c721904ef8ee0f3177247bd175878d0db85c5cb99a579bbd6244a1de0aad9d5fa71c1a2e8d27701e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d9e84f080188fa0da98a38dd61fd5af4e184b7530d77a087ca66ff2a15c16e43b354de0f9c721321c6ea6ae75dec0e5c34dca190e8bcd9b09ab8ad3148577849
         
     | 
    
        data/Gemfile
    ADDED
    
    
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,47 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Numo::NArray - New NArray class library for Ruby/Numo (NUmerical MOdule)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            [](https://travis-ci.org/ruby-numo/narray)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            under development
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Related Projects
         
     | 
| 
      
 8 
     | 
    
         
            +
            * [Numo::Linalg](https://github.com/ruby-numo/linalg): Linear Algebra library with [LAPACK](http://www.netlib.org/lapack/).
         
     | 
| 
      
 9 
     | 
    
         
            +
            * [Numo::GSL](https://github.com/ruby-numo/gsl): Ruby interface for [GSL (GNU Scientific Library)](http://www.gnu.org/software/gsl/).
         
     | 
| 
      
 10 
     | 
    
         
            +
            * [Numo::FFTE](https://github.com/ruby-numo/ffte): Ruby interface for [FFTE (A Fast Fourier Transform library with radix-2,3,5)](http://www.ffte.jp/).
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 13 
     | 
    
         
            +
            ### Ubuntu, Debian
         
     | 
| 
      
 14 
     | 
    
         
            +
            ```shell
         
     | 
| 
      
 15 
     | 
    
         
            +
            apt install -y git ruby gcc ruby-dev rake make
         
     | 
| 
      
 16 
     | 
    
         
            +
            git clone git://github.com/ruby-numo/narray
         
     | 
| 
      
 17 
     | 
    
         
            +
            cd narray
         
     | 
| 
      
 18 
     | 
    
         
            +
            gem build numo-narray.gemspec
         
     | 
| 
      
 19 
     | 
    
         
            +
            gem install numo-narray-0.9.0.1.gem
         
     | 
| 
      
 20 
     | 
    
         
            +
            ```
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            ## Quick start
         
     | 
| 
      
 23 
     | 
    
         
            +
            An example
         
     | 
| 
      
 24 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 25 
     | 
    
         
            +
            [1] pry(main)> require "numo/narray"
         
     | 
| 
      
 26 
     | 
    
         
            +
            => true
         
     | 
| 
      
 27 
     | 
    
         
            +
            [2] pry(main)> a = Numo::DFloat.new(3,5).seq
         
     | 
| 
      
 28 
     | 
    
         
            +
            => Numo::DFloat#shape=[3,5]
         
     | 
| 
      
 29 
     | 
    
         
            +
            [[0, 1, 2, 3, 4],
         
     | 
| 
      
 30 
     | 
    
         
            +
             [5, 6, 7, 8, 9],
         
     | 
| 
      
 31 
     | 
    
         
            +
             [10, 11, 12, 13, 14]]
         
     | 
| 
      
 32 
     | 
    
         
            +
            [3] pry(main)> a.shape
         
     | 
| 
      
 33 
     | 
    
         
            +
            => [3, 5]
         
     | 
| 
      
 34 
     | 
    
         
            +
            [4] pry(main)> a.ndim
         
     | 
| 
      
 35 
     | 
    
         
            +
            => 2
         
     | 
| 
      
 36 
     | 
    
         
            +
            [5] pry(main)> a.class
         
     | 
| 
      
 37 
     | 
    
         
            +
            => Numo::DFloat
         
     | 
| 
      
 38 
     | 
    
         
            +
            [6] pry(main)> a.size
         
     | 
| 
      
 39 
     | 
    
         
            +
            => 15
         
     | 
| 
      
 40 
     | 
    
         
            +
            ```
         
     | 
| 
      
 41 
     | 
    
         
            +
            For more examples, check out this [narray version of 100 numpy exercises](https://github.com/ruby-numo/narray/wiki/100-narray-exercises).
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            ## numo-array status compared to numpy
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            https://github.com/ruby-numo/narray/wiki/Numo-vs-numpy
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            ## [NArray Tentative API Document](http://ruby-numo.github.io/narray/narray/frames.html)
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1,41 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "bundler/gem_tasks"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "rake/extensiontask"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "rake_compiler_dock"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "shellwords"
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            spec = Bundler::GemHelper.gemspec
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            Rake::ExtensionTask.new("numo/narray", spec) do |ext|
         
     | 
| 
      
 9 
     | 
    
         
            +
              ext.cross_compile = true
         
     | 
| 
      
 10 
     | 
    
         
            +
              ext.cross_platform = ["x86-mingw32", "x64-mingw32"]
         
     | 
| 
      
 11 
     | 
    
         
            +
            end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            namespace :build do
         
     | 
| 
      
 14 
     | 
    
         
            +
              pkg_dir = "pkg"
         
     | 
| 
      
 15 
     | 
    
         
            +
              directory pkg_dir
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              desc "Build gems for Windows"
         
     | 
| 
      
 18 
     | 
    
         
            +
              task :windows => pkg_dir do
         
     | 
| 
      
 19 
     | 
    
         
            +
                ruby_versions = "2.1.6:2.2.2:2.3.0"
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                build_dir = "tmp/windows"
         
     | 
| 
      
 22 
     | 
    
         
            +
                rm_rf build_dir
         
     | 
| 
      
 23 
     | 
    
         
            +
                mkdir_p build_dir
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                commands = [
         
     | 
| 
      
 26 
     | 
    
         
            +
                  ["git", "clone", "file://#{Dir.pwd}/.git", build_dir],
         
     | 
| 
      
 27 
     | 
    
         
            +
                  ["cd", build_dir],
         
     | 
| 
      
 28 
     | 
    
         
            +
                  ["bundle"],
         
     | 
| 
      
 29 
     | 
    
         
            +
                  ["rake", "cross", "native", "gem", "RUBY_CC_VERSION=#{ruby_versions}"],
         
     | 
| 
      
 30 
     | 
    
         
            +
                ]
         
     | 
| 
      
 31 
     | 
    
         
            +
                raw_commands = commands.collect do |command|
         
     | 
| 
      
 32 
     | 
    
         
            +
                  Shellwords.join(command)
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
                raw_command_line = raw_commands.join(" && ")
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                RakeCompilerDock.sh(raw_command_line)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                cp(Dir.glob("#{build_dir}/#{pkg_dir}/*.gem"),
         
     | 
| 
      
 39 
     | 
    
         
            +
                   "#{pkg_dir}/")
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,97 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #ifndef SFMT_PARAMS_H
         
     | 
| 
      
 2 
     | 
    
         
            +
            #define SFMT_PARAMS_H
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            #if !defined(MEXP)
         
     | 
| 
      
 5 
     | 
    
         
            +
            //#ifdef __GNUC__
         
     | 
| 
      
 6 
     | 
    
         
            +
            //  #warning "MEXP is not defined. I assume MEXP is 19937."
         
     | 
| 
      
 7 
     | 
    
         
            +
            //#endif
         
     | 
| 
      
 8 
     | 
    
         
            +
              #define MEXP 19937
         
     | 
| 
      
 9 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 10 
     | 
    
         
            +
            /*-----------------
         
     | 
| 
      
 11 
     | 
    
         
            +
              BASIC DEFINITIONS
         
     | 
| 
      
 12 
     | 
    
         
            +
              -----------------*/
         
     | 
| 
      
 13 
     | 
    
         
            +
            /** Mersenne Exponent. The period of the sequence 
         
     | 
| 
      
 14 
     | 
    
         
            +
             *  is a multiple of 2^MEXP-1.
         
     | 
| 
      
 15 
     | 
    
         
            +
             * #define MEXP 19937 */
         
     | 
| 
      
 16 
     | 
    
         
            +
            /** SFMT generator has an internal state array of 128-bit integers,
         
     | 
| 
      
 17 
     | 
    
         
            +
             * and N is its size. */
         
     | 
| 
      
 18 
     | 
    
         
            +
            #define N (MEXP / 128 + 1)
         
     | 
| 
      
 19 
     | 
    
         
            +
            /** N32 is the size of internal state array when regarded as an array
         
     | 
| 
      
 20 
     | 
    
         
            +
             * of 32-bit integers.*/
         
     | 
| 
      
 21 
     | 
    
         
            +
            #define N32 (N * 4)
         
     | 
| 
      
 22 
     | 
    
         
            +
            /** N64 is the size of internal state array when regarded as an array
         
     | 
| 
      
 23 
     | 
    
         
            +
             * of 64-bit integers.*/
         
     | 
| 
      
 24 
     | 
    
         
            +
            #define N64 (N * 2)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            /*----------------------
         
     | 
| 
      
 27 
     | 
    
         
            +
              the parameters of SFMT
         
     | 
| 
      
 28 
     | 
    
         
            +
              following definitions are in paramsXXXX.h file.
         
     | 
| 
      
 29 
     | 
    
         
            +
              ----------------------*/
         
     | 
| 
      
 30 
     | 
    
         
            +
            /** the pick up position of the array.
         
     | 
| 
      
 31 
     | 
    
         
            +
            #define POS1 122 
         
     | 
| 
      
 32 
     | 
    
         
            +
            */
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            /** the parameter of shift left as four 32-bit registers.
         
     | 
| 
      
 35 
     | 
    
         
            +
            #define SL1 18
         
     | 
| 
      
 36 
     | 
    
         
            +
             */
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            /** the parameter of shift left as one 128-bit register. 
         
     | 
| 
      
 39 
     | 
    
         
            +
             * The 128-bit integer is shifted by (SL2 * 8) bits. 
         
     | 
| 
      
 40 
     | 
    
         
            +
            #define SL2 1 
         
     | 
| 
      
 41 
     | 
    
         
            +
            */
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            /** the parameter of shift right as four 32-bit registers.
         
     | 
| 
      
 44 
     | 
    
         
            +
            #define SR1 11
         
     | 
| 
      
 45 
     | 
    
         
            +
            */
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            /** the parameter of shift right as one 128-bit register. 
         
     | 
| 
      
 48 
     | 
    
         
            +
             * The 128-bit integer is shifted by (SL2 * 8) bits. 
         
     | 
| 
      
 49 
     | 
    
         
            +
            #define SR2 1 
         
     | 
| 
      
 50 
     | 
    
         
            +
            */
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            /** A bitmask, used in the recursion.  These parameters are introduced
         
     | 
| 
      
 53 
     | 
    
         
            +
             * to break symmetry of SIMD.
         
     | 
| 
      
 54 
     | 
    
         
            +
            #define MSK1 0xdfffffefU
         
     | 
| 
      
 55 
     | 
    
         
            +
            #define MSK2 0xddfecb7fU
         
     | 
| 
      
 56 
     | 
    
         
            +
            #define MSK3 0xbffaffffU
         
     | 
| 
      
 57 
     | 
    
         
            +
            #define MSK4 0xbffffff6U 
         
     | 
| 
      
 58 
     | 
    
         
            +
            */
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            /** These definitions are part of a 128-bit period certification vector.
         
     | 
| 
      
 61 
     | 
    
         
            +
            #define PARITY1	0x00000001U
         
     | 
| 
      
 62 
     | 
    
         
            +
            #define PARITY2	0x00000000U
         
     | 
| 
      
 63 
     | 
    
         
            +
            #define PARITY3	0x00000000U
         
     | 
| 
      
 64 
     | 
    
         
            +
            #define PARITY4	0xc98e126aU
         
     | 
| 
      
 65 
     | 
    
         
            +
            */
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            #if MEXP == 607
         
     | 
| 
      
 68 
     | 
    
         
            +
              #include "SFMT-params607.h"
         
     | 
| 
      
 69 
     | 
    
         
            +
            #elif MEXP == 1279
         
     | 
| 
      
 70 
     | 
    
         
            +
              #include "SFMT-params1279.h"
         
     | 
| 
      
 71 
     | 
    
         
            +
            #elif MEXP == 2281
         
     | 
| 
      
 72 
     | 
    
         
            +
              #include "SFMT-params2281.h"
         
     | 
| 
      
 73 
     | 
    
         
            +
            #elif MEXP == 4253
         
     | 
| 
      
 74 
     | 
    
         
            +
              #include "SFMT-params4253.h"
         
     | 
| 
      
 75 
     | 
    
         
            +
            #elif MEXP == 11213
         
     | 
| 
      
 76 
     | 
    
         
            +
              #include "SFMT-params11213.h"
         
     | 
| 
      
 77 
     | 
    
         
            +
            #elif MEXP == 19937
         
     | 
| 
      
 78 
     | 
    
         
            +
              #include "SFMT-params19937.h"
         
     | 
| 
      
 79 
     | 
    
         
            +
            #elif MEXP == 44497
         
     | 
| 
      
 80 
     | 
    
         
            +
              #include "SFMT-params44497.h"
         
     | 
| 
      
 81 
     | 
    
         
            +
            #elif MEXP == 86243
         
     | 
| 
      
 82 
     | 
    
         
            +
              #include "SFMT-params86243.h"
         
     | 
| 
      
 83 
     | 
    
         
            +
            #elif MEXP == 132049
         
     | 
| 
      
 84 
     | 
    
         
            +
              #include "SFMT-params132049.h"
         
     | 
| 
      
 85 
     | 
    
         
            +
            #elif MEXP == 216091
         
     | 
| 
      
 86 
     | 
    
         
            +
              #include "SFMT-params216091.h"
         
     | 
| 
      
 87 
     | 
    
         
            +
            #else
         
     | 
| 
      
 88 
     | 
    
         
            +
            #ifdef __GNUC__
         
     | 
| 
      
 89 
     | 
    
         
            +
              #error "MEXP is not valid."
         
     | 
| 
      
 90 
     | 
    
         
            +
              #undef MEXP
         
     | 
| 
      
 91 
     | 
    
         
            +
            #else
         
     | 
| 
      
 92 
     | 
    
         
            +
              #undef MEXP
         
     | 
| 
      
 93 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            #endif /* SFMT_PARAMS_H */
         
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #ifndef SFMT_PARAMS19937_H
         
     | 
| 
      
 2 
     | 
    
         
            +
            #define SFMT_PARAMS19937_H
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            #define POS1	122
         
     | 
| 
      
 5 
     | 
    
         
            +
            #define SL1	18
         
     | 
| 
      
 6 
     | 
    
         
            +
            #define SL2	1
         
     | 
| 
      
 7 
     | 
    
         
            +
            #define SR1	11
         
     | 
| 
      
 8 
     | 
    
         
            +
            #define SR2	1
         
     | 
| 
      
 9 
     | 
    
         
            +
            #define MSK1	0xdfffffefU
         
     | 
| 
      
 10 
     | 
    
         
            +
            #define MSK2	0xddfecb7fU
         
     | 
| 
      
 11 
     | 
    
         
            +
            #define MSK3	0xbffaffffU
         
     | 
| 
      
 12 
     | 
    
         
            +
            #define MSK4	0xbffffff6U
         
     | 
| 
      
 13 
     | 
    
         
            +
            #define PARITY1	0x00000001U
         
     | 
| 
      
 14 
     | 
    
         
            +
            #define PARITY2	0x00000000U
         
     | 
| 
      
 15 
     | 
    
         
            +
            #define PARITY3	0x00000000U
         
     | 
| 
      
 16 
     | 
    
         
            +
            #define PARITY4	0x13c9e684U
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            /* PARAMETERS FOR ALTIVEC */
         
     | 
| 
      
 20 
     | 
    
         
            +
            #if defined(__APPLE__)	/* For OSX */
         
     | 
| 
      
 21 
     | 
    
         
            +
                #define ALTI_SL1	(vector unsigned int)(SL1, SL1, SL1, SL1)
         
     | 
| 
      
 22 
     | 
    
         
            +
                #define ALTI_SR1	(vector unsigned int)(SR1, SR1, SR1, SR1)
         
     | 
| 
      
 23 
     | 
    
         
            +
                #define ALTI_MSK	(vector unsigned int)(MSK1, MSK2, MSK3, MSK4)
         
     | 
| 
      
 24 
     | 
    
         
            +
                #define ALTI_MSK64 \
         
     | 
| 
      
 25 
     | 
    
         
            +
            	(vector unsigned int)(MSK2, MSK1, MSK4, MSK3)
         
     | 
| 
      
 26 
     | 
    
         
            +
                #define ALTI_SL2_PERM \
         
     | 
| 
      
 27 
     | 
    
         
            +
            	(vector unsigned char)(1,2,3,23,5,6,7,0,9,10,11,4,13,14,15,8)
         
     | 
| 
      
 28 
     | 
    
         
            +
                #define ALTI_SL2_PERM64 \
         
     | 
| 
      
 29 
     | 
    
         
            +
            	(vector unsigned char)(1,2,3,4,5,6,7,31,9,10,11,12,13,14,15,0)
         
     | 
| 
      
 30 
     | 
    
         
            +
                #define ALTI_SR2_PERM \
         
     | 
| 
      
 31 
     | 
    
         
            +
            	(vector unsigned char)(7,0,1,2,11,4,5,6,15,8,9,10,17,12,13,14)
         
     | 
| 
      
 32 
     | 
    
         
            +
                #define ALTI_SR2_PERM64 \
         
     | 
| 
      
 33 
     | 
    
         
            +
            	(vector unsigned char)(15,0,1,2,3,4,5,6,17,8,9,10,11,12,13,14)
         
     | 
| 
      
 34 
     | 
    
         
            +
            #else	/* For OTHER OSs(Linux?) */
         
     | 
| 
      
 35 
     | 
    
         
            +
                #define ALTI_SL1	{SL1, SL1, SL1, SL1}
         
     | 
| 
      
 36 
     | 
    
         
            +
                #define ALTI_SR1	{SR1, SR1, SR1, SR1}
         
     | 
| 
      
 37 
     | 
    
         
            +
                #define ALTI_MSK	{MSK1, MSK2, MSK3, MSK4}
         
     | 
| 
      
 38 
     | 
    
         
            +
                #define ALTI_MSK64	{MSK2, MSK1, MSK4, MSK3}
         
     | 
| 
      
 39 
     | 
    
         
            +
                #define ALTI_SL2_PERM	{1,2,3,23,5,6,7,0,9,10,11,4,13,14,15,8}
         
     | 
| 
      
 40 
     | 
    
         
            +
                #define ALTI_SL2_PERM64	{1,2,3,4,5,6,7,31,9,10,11,12,13,14,15,0}
         
     | 
| 
      
 41 
     | 
    
         
            +
                #define ALTI_SR2_PERM	{7,0,1,2,11,4,5,6,15,8,9,10,17,12,13,14}
         
     | 
| 
      
 42 
     | 
    
         
            +
                #define ALTI_SR2_PERM64	{15,0,1,2,3,4,5,6,17,8,9,10,11,12,13,14}
         
     | 
| 
      
 43 
     | 
    
         
            +
            #endif	/* For OSX */
         
     | 
| 
      
 44 
     | 
    
         
            +
            #define IDSTR	"SFMT-19937:122-18-1-11-1:dfffffef-ddfecb7f-bffaffff-bffffff6"
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            #endif /* SFMT_PARAMS19937_H */
         
     |