datafarming 1.4.0 → 2.2.0
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 +4 -4
 - data/LICENSE.md +1 -1
 - data/README.md +10 -6
 - data/datafarming.gemspec +11 -6
 - data/exe/datafarming.rb +33 -27
 - data/exe/generate_design.rb +306 -0
 - data/lib/datafarming/freq_sets.rb +52 -243
 - data/lib/datafarming/nolh_designs.rb +19105 -4483
 - data/lib/datafarming/res_v_seqs.rb +57 -0
 - data/lib/datafarming/scale_design.rb +29 -0
 - data/lib/datafarming/screen_freq_sets.rb +143 -0
 - data/lib/datafarming/version.rb +5 -0
 - data/lib/datafarming.rb +8 -0
 - metadata +42 -18
 - data/DESCRIPTIONS.html +0 -1107
 - data/DESCRIPTIONS.md +0 -45
 - data/exe/augment_design.rb +0 -66
 - data/exe/scaled_fde.rb +0 -169
 - data/exe/scaled_rf_cubed.rb +0 -173
 - data/exe/stack_nolhs.rb +0 -174
 - data/lib/datafarming/factorial_generator.rb +0 -49
 
| 
         @@ -0,0 +1,57 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'fwt'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module RESV
         
     | 
| 
      
 4 
     | 
    
         
            +
              # Generate a Resolution V Fractional Factorial design for the specified
         
     | 
| 
      
 5 
     | 
    
         
            +
              # number of factors.  The design is guaranteed to yield unconfounded
         
     | 
| 
      
 6 
     | 
    
         
            +
              # interactions for all pairs of factors.  The design uses standardized
         
     | 
| 
      
 7 
     | 
    
         
            +
              # notation, i.e., -1 represents a low setting and 1 represents a high
         
     | 
| 
      
 8 
     | 
    
         
            +
              # setting for each factor.
         
     | 
| 
      
 9 
     | 
    
         
            +
              #
         
     | 
| 
      
 10 
     | 
    
         
            +
              # *Arguments*::
         
     | 
| 
      
 11 
     | 
    
         
            +
              #   - +number_of_factors+ -> the number of factors in your design. Limit is 120.
         
     | 
| 
      
 12 
     | 
    
         
            +
              # *Returns*::
         
     | 
| 
      
 13 
     | 
    
         
            +
              #   - a two-dimensional array specifying the design, where each column
         
     | 
| 
      
 14 
     | 
    
         
            +
              #     corresponds to a factor and each row is a design point.
         
     | 
| 
      
 15 
     | 
    
         
            +
              #
         
     | 
| 
      
 16 
     | 
    
         
            +
              # Author:: Paul J Sanchez (mailto:pjs@alum.mit.edu)
         
     | 
| 
      
 17 
     | 
    
         
            +
              # Copyright:: Copyright (c) 2023 Paul J Sanchez
         
     | 
| 
      
 18 
     | 
    
         
            +
              # License:: MIT
         
     | 
| 
      
 19 
     | 
    
         
            +
              #
         
     | 
| 
      
 20 
     | 
    
         
            +
              INDEX = [1, 2, 4, 8, 15, 16, 32, 51, 64, 85, 106, 128, 150, 171,
         
     | 
| 
      
 21 
     | 
    
         
            +
                       219, 237, 247, 256, 279, 297, 455, 512, 537, 557, 594, 643, 803,
         
     | 
| 
      
 22 
     | 
    
         
            +
                       863, 998, 1024, 1051, 1070, 1112, 1169, 1333, 1345, 1620, 1866,
         
     | 
| 
      
 23 
     | 
    
         
            +
                       2048, 2076, 2085, 2185, 2372, 2456, 2618, 2800, 2873, 3127, 3284,
         
     | 
| 
      
 24 
     | 
    
         
            +
                       3483, 3557, 3763, 4096, 4125, 4135, 4174, 4435, 4459, 4469, 4497,
         
     | 
| 
      
 25 
     | 
    
         
            +
                       4752, 5255, 5732, 5804, 5915, 6100, 6369, 6907, 7069, 8192, 8263,
         
     | 
| 
      
 26 
     | 
    
         
            +
                       8351, 8422, 8458, 8571, 8750, 8858, 9124, 9314, 9500, 10_026,
         
     | 
| 
      
 27 
     | 
    
         
            +
                       10_455, 10_556, 11_778, 11_885, 11_984, 13_548, 14_007, 14_514,
         
     | 
| 
      
 28 
     | 
    
         
            +
                       14_965, 15_125, 15_554, 16_384, 16_457, 16_517, 16_609, 16_771,
         
     | 
| 
      
 29 
     | 
    
         
            +
                       16_853, 17_022, 17_453, 17_891, 18_073, 18_562, 18_980, 19_030,
         
     | 
| 
      
 30 
     | 
    
         
            +
                       19_932, 20_075, 20_745, 21_544, 22_633, 23_200, 24_167, 25_700,
         
     | 
| 
      
 31 
     | 
    
         
            +
                       26_360, 26_591, 26_776, 28_443, 28_905, 29_577, 32_705]
         
     | 
| 
      
 32 
     | 
    
         
            +
              POWER = [1, 2, 4, 8, 16, 16, 32, 64, 64, 128, 128, 128, 256, 256,
         
     | 
| 
      
 33 
     | 
    
         
            +
                       256, 256, 256, 256, 512, 512, 512, 512, 1024, 1024, 1024, 1024,
         
     | 
| 
      
 34 
     | 
    
         
            +
                       1024, 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048,
         
     | 
| 
      
 35 
     | 
    
         
            +
                       2048, 2048, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
         
     | 
| 
      
 36 
     | 
    
         
            +
                       4096, 4096, 4096, 4096, 4096, 8192, 8192, 8192, 8192, 8192, 8192,
         
     | 
| 
      
 37 
     | 
    
         
            +
                       8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192,
         
     | 
| 
      
 38 
     | 
    
         
            +
                       16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 16_384,
         
     | 
| 
      
 39 
     | 
    
         
            +
                       16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 16_384,
         
     | 
| 
      
 40 
     | 
    
         
            +
                       16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 16_384, 32_768,
         
     | 
| 
      
 41 
     | 
    
         
            +
                       32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768,
         
     | 
| 
      
 42 
     | 
    
         
            +
                       32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768,
         
     | 
| 
      
 43 
     | 
    
         
            +
                       32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768, 32_768,
         
     | 
| 
      
 44 
     | 
    
         
            +
                       32_768, 32_768, 32_768]
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
              def RESV.make_design(number_of_factors)
         
     | 
| 
      
 47 
     | 
    
         
            +
                Array.new(number_of_factors) do |i|
         
     | 
| 
      
 48 
     | 
    
         
            +
                  Array.new(POWER[number_of_factors], 0).tap { |a| a[INDEX[i]] = 1 }.hadamard
         
     | 
| 
      
 49 
     | 
    
         
            +
                end.transpose
         
     | 
| 
      
 50 
     | 
    
         
            +
              end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              def RESV.star_pts(k)
         
     | 
| 
      
 53 
     | 
    
         
            +
                Array.new(2*k+1) do |i|
         
     | 
| 
      
 54 
     | 
    
         
            +
                  Array.new(k) { |j| (j+1) == (i+1) / 2 ? (i.odd? ? -1 : 1) : 0 }
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
              end
         
     | 
| 
      
 57 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby -w
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # A Scaler object will rescale a design from standard range [-1, 1] to a
         
     | 
| 
      
 4 
     | 
    
         
            +
            # range specified by min & max, with the desired number of decimals
         
     | 
| 
      
 5 
     | 
    
         
            +
            class Scaler
         
     | 
| 
      
 6 
     | 
    
         
            +
              def initialize(min: -1, max: 1, decimals: nil)
         
     | 
| 
      
 7 
     | 
    
         
            +
                unless decimals.nil? || ((decimals >= 0) && (decimals == decimals.to_i))
         
     | 
| 
      
 8 
     | 
    
         
            +
                  fail "Invalid decimals argument: #{decimals}. Must be a non-negative integer"
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
                @range = (max - min).to_r / 2
         
     | 
| 
      
 11 
     | 
    
         
            +
                @mid = min + @range
         
     | 
| 
      
 12 
     | 
    
         
            +
                @scale_factor = (decimals.nil? || decimals.zero?) ? decimals : 10r**decimals
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              def scale(value)
         
     | 
| 
      
 16 
     | 
    
         
            +
                new_value = @mid + @range * value
         
     | 
| 
      
 17 
     | 
    
         
            +
                if @scale_factor.nil?
         
     | 
| 
      
 18 
     | 
    
         
            +
                  if new_value.to_r.denominator == 1
         
     | 
| 
      
 19 
     | 
    
         
            +
                    new_value.to_i
         
     | 
| 
      
 20 
     | 
    
         
            +
                  else
         
     | 
| 
      
 21 
     | 
    
         
            +
                    new_value.to_f
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
                elsif @scale_factor.zero?
         
     | 
| 
      
 24 
     | 
    
         
            +
                  new_value.round
         
     | 
| 
      
 25 
     | 
    
         
            +
                else
         
     | 
| 
      
 26 
     | 
    
         
            +
                  ((@scale_factor * new_value).round / @scale_factor).to_f
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,143 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module FBS
         
     | 
| 
      
 4 
     | 
    
         
            +
              TWO_PI = 2.0 * Math::PI
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              DesignSet = Struct.new(:nyq, :freqs, keyword_init: true)
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              DESIGN_SETS = {
         
     | 
| 
      
 9 
     | 
    
         
            +
                2 => DesignSet.new(
         
     | 
| 
      
 10 
     | 
    
         
            +
                  nyq: 11, freqs: [
         
     | 
| 
      
 11 
     | 
    
         
            +
                    [1, 3],
         
     | 
| 
      
 12 
     | 
    
         
            +
                    [1, 4],
         
     | 
| 
      
 13 
     | 
    
         
            +
                    [1, 5]
         
     | 
| 
      
 14 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 15 
     | 
    
         
            +
                ),
         
     | 
| 
      
 16 
     | 
    
         
            +
                3 => DesignSet.new(
         
     | 
| 
      
 17 
     | 
    
         
            +
                  nyq: 19, freqs: [
         
     | 
| 
      
 18 
     | 
    
         
            +
                    [1, 3, 7],
         
     | 
| 
      
 19 
     | 
    
         
            +
                    [1, 7, 8],
         
     | 
| 
      
 20 
     | 
    
         
            +
                    [2, 3, 5],
         
     | 
| 
      
 21 
     | 
    
         
            +
                    [4, 6, 9]
         
     | 
| 
      
 22 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 23 
     | 
    
         
            +
                ),
         
     | 
| 
      
 24 
     | 
    
         
            +
                4 => DesignSet.new(
         
     | 
| 
      
 25 
     | 
    
         
            +
                  nyq: 29, freqs: [
         
     | 
| 
      
 26 
     | 
    
         
            +
                    [1, 4, 5, 11]
         
     | 
| 
      
 27 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 28 
     | 
    
         
            +
                ),
         
     | 
| 
      
 29 
     | 
    
         
            +
                5 => DesignSet.new(
         
     | 
| 
      
 30 
     | 
    
         
            +
                  nyq: 43, freqs: [
         
     | 
| 
      
 31 
     | 
    
         
            +
                    [1, 5, 6, 8, 20],
         
     | 
| 
      
 32 
     | 
    
         
            +
                    [1, 8, 9, 11, 14],
         
     | 
| 
      
 33 
     | 
    
         
            +
                    [3, 4, 7, 9, 19]
         
     | 
| 
      
 34 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 35 
     | 
    
         
            +
                ),
         
     | 
| 
      
 36 
     | 
    
         
            +
                6 => DesignSet.new(
         
     | 
| 
      
 37 
     | 
    
         
            +
                  nyq: 59, freqs: [
         
     | 
| 
      
 38 
     | 
    
         
            +
                    [1, 6, 10, 16, 24, 28],
         
     | 
| 
      
 39 
     | 
    
         
            +
                    [1, 7, 11, 16, 19, 23],
         
     | 
| 
      
 40 
     | 
    
         
            +
                    [2, 8, 20, 23, 25, 29]
         
     | 
| 
      
 41 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 42 
     | 
    
         
            +
                ),
         
     | 
| 
      
 43 
     | 
    
         
            +
                7 => DesignSet.new(
         
     | 
| 
      
 44 
     | 
    
         
            +
                  nyq: 79, freqs: [
         
     | 
| 
      
 45 
     | 
    
         
            +
                    [1, 3, 8, 11, 26, 29, 33],
         
     | 
| 
      
 46 
     | 
    
         
            +
                    [1, 4, 11, 12, 29, 30, 35],
         
     | 
| 
      
 47 
     | 
    
         
            +
                    [1, 5, 6, 14, 15, 17, 38],
         
     | 
| 
      
 48 
     | 
    
         
            +
                    [1, 10, 11, 16, 17, 24, 25],
         
     | 
| 
      
 49 
     | 
    
         
            +
                    [2, 3, 5, 11, 20, 21, 25],
         
     | 
| 
      
 50 
     | 
    
         
            +
                    [2, 3, 17, 22, 25, 33, 36],
         
     | 
| 
      
 51 
     | 
    
         
            +
                    [2, 5, 7, 13, 15, 16, 39],
         
     | 
| 
      
 52 
     | 
    
         
            +
                    [2, 7, 9, 10, 15, 19, 33],
         
     | 
| 
      
 53 
     | 
    
         
            +
                    [2, 20, 22, 29, 31, 32, 34],
         
     | 
| 
      
 54 
     | 
    
         
            +
                    [3, 8, 15, 17, 18, 24, 28]
         
     | 
| 
      
 55 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 56 
     | 
    
         
            +
                ),
         
     | 
| 
      
 57 
     | 
    
         
            +
                8 => DesignSet.new(
         
     | 
| 
      
 58 
     | 
    
         
            +
                  nyq: 101, freqs: [
         
     | 
| 
      
 59 
     | 
    
         
            +
                    [1, 4, 5, 17, 21, 27, 41, 45],
         
     | 
| 
      
 60 
     | 
    
         
            +
                    [1, 5, 6, 14, 15, 17, 38, 41],
         
     | 
| 
      
 61 
     | 
    
         
            +
                    [2, 8, 10, 11, 19, 34, 42, 47],
         
     | 
| 
      
 62 
     | 
    
         
            +
                    [2, 14, 29, 31, 38, 40, 48, 50],
         
     | 
| 
      
 63 
     | 
    
         
            +
                    [3, 5, 8, 24, 28, 33, 42, 47],
         
     | 
| 
      
 64 
     | 
    
         
            +
                    [3, 13, 15, 18, 22, 42, 45, 50],
         
     | 
| 
      
 65 
     | 
    
         
            +
                    [4, 7, 16, 17, 20, 22, 26, 45],
         
     | 
| 
      
 66 
     | 
    
         
            +
                    [5, 7, 13, 25, 29, 31, 40, 42],
         
     | 
| 
      
 67 
     | 
    
         
            +
                    [5, 8, 12, 20, 26, 34, 43, 45]
         
     | 
| 
      
 68 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 69 
     | 
    
         
            +
                ),
         
     | 
| 
      
 70 
     | 
    
         
            +
                9 => DesignSet.new(
         
     | 
| 
      
 71 
     | 
    
         
            +
                  nyq: 127, freqs: [
         
     | 
| 
      
 72 
     | 
    
         
            +
                    [1, 3, 10, 11, 15, 33, 38, 49, 57],
         
     | 
| 
      
 73 
     | 
    
         
            +
                    [1, 7, 8, 18, 19, 24, 39, 52, 53],
         
     | 
| 
      
 74 
     | 
    
         
            +
                    [1, 7, 8, 18, 19, 24, 52, 53, 62],
         
     | 
| 
      
 75 
     | 
    
         
            +
                    [1, 9, 13, 22, 28, 37, 42, 51, 58],
         
     | 
| 
      
 76 
     | 
    
         
            +
                    [1, 13, 14, 22, 23, 54, 55, 61, 62],
         
     | 
| 
      
 77 
     | 
    
         
            +
                    [1, 29, 38, 39, 41, 54, 55, 61, 62],
         
     | 
| 
      
 78 
     | 
    
         
            +
                    [2, 3, 5, 11, 15, 31, 38, 50, 52],
         
     | 
| 
      
 79 
     | 
    
         
            +
                    [2, 5, 20, 26, 28, 39, 41, 55, 63],
         
     | 
| 
      
 80 
     | 
    
         
            +
                    [3, 4, 7, 12, 27, 29, 38, 47, 52],
         
     | 
| 
      
 81 
     | 
    
         
            +
                    [4, 5, 9, 11, 15, 23, 36, 48, 62],
         
     | 
| 
      
 82 
     | 
    
         
            +
                    [5, 7, 16, 20, 22, 28, 45, 46, 48],
         
     | 
| 
      
 83 
     | 
    
         
            +
                    [5, 7, 16, 20, 22, 28, 46, 48, 62],
         
     | 
| 
      
 84 
     | 
    
         
            +
                    [7, 13, 16, 18, 24, 28, 34, 51, 54],
         
     | 
| 
      
 85 
     | 
    
         
            +
                    [7, 17, 20, 24, 26, 30, 38, 42, 53]
         
     | 
| 
      
 86 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 87 
     | 
    
         
            +
                ),
         
     | 
| 
      
 88 
     | 
    
         
            +
                10 => DesignSet.new(
         
     | 
| 
      
 89 
     | 
    
         
            +
                  nyq: 149, freqs: [
         
     | 
| 
      
 90 
     | 
    
         
            +
                    [3, 15, 18, 25, 40, 41, 49, 56, 60, 61]
         
     | 
| 
      
 91 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 92 
     | 
    
         
            +
                ),
         
     | 
| 
      
 93 
     | 
    
         
            +
                11 => DesignSet.new(
         
     | 
| 
      
 94 
     | 
    
         
            +
                  nyq: 191, freqs: [
         
     | 
| 
      
 95 
     | 
    
         
            +
                    [1, 8, 9, 12, 19, 34, 41, 46, 62, 85, 93],
         
     | 
| 
      
 96 
     | 
    
         
            +
                    [1, 9, 22, 29, 41, 46, 52, 56, 59, 61, 94],
         
     | 
| 
      
 97 
     | 
    
         
            +
                    [1, 15, 16, 19, 20, 26, 27, 62, 75, 79, 84],
         
     | 
| 
      
 98 
     | 
    
         
            +
                    [1, 19, 25, 26, 35, 36, 40, 41, 48, 64, 94],
         
     | 
| 
      
 99 
     | 
    
         
            +
                    [2, 3, 10, 13, 19, 33, 44, 54, 58, 72, 82],
         
     | 
| 
      
 100 
     | 
    
         
            +
                    [2, 3, 11, 12, 31, 34, 44, 47, 61, 82, 87],
         
     | 
| 
      
 101 
     | 
    
         
            +
                    [2, 5, 7, 13, 18, 35, 38, 48, 67, 82, 85],
         
     | 
| 
      
 102 
     | 
    
         
            +
                    [2, 7, 15, 20, 31, 36, 48, 54, 57, 69, 73],
         
     | 
| 
      
 103 
     | 
    
         
            +
                    [3, 16, 19, 36, 39, 44, 47, 62, 65, 92, 95],
         
     | 
| 
      
 104 
     | 
    
         
            +
                    [4, 7, 11, 16, 20, 37, 41, 49, 55, 83, 84],
         
     | 
| 
      
 105 
     | 
    
         
            +
                    [4, 18, 19, 21, 22, 28, 31, 51, 60, 65, 76],
         
     | 
| 
      
 106 
     | 
    
         
            +
                    [5, 7, 13, 15, 16, 34, 35, 59, 67, 71, 79],
         
     | 
| 
      
 107 
     | 
    
         
            +
                    [6, 10, 16, 19, 25, 33, 39, 40, 46, 51, 93],
         
     | 
| 
      
 108 
     | 
    
         
            +
                    [8, 9, 17, 21, 28, 29, 31, 32, 70, 76, 88],
         
     | 
| 
      
 109 
     | 
    
         
            +
                    [9, 35, 38, 39, 47, 59, 65, 75, 84, 90, 92],
         
     | 
| 
      
 110 
     | 
    
         
            +
                    [12, 15, 16, 22, 34, 51, 53, 54, 65, 74, 79],
         
     | 
| 
      
 111 
     | 
    
         
            +
                    [16, 25, 30, 31, 33, 39, 43, 49, 77, 84, 85]
         
     | 
| 
      
 112 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 113 
     | 
    
         
            +
                ),
         
     | 
| 
      
 114 
     | 
    
         
            +
                12 => DesignSet.new(
         
     | 
| 
      
 115 
     | 
    
         
            +
                  nyq: 223, freqs: [
         
     | 
| 
      
 116 
     | 
    
         
            +
                    [1, 15, 16, 19, 20, 27, 28, 61, 62, 64, 86, 87],
         
     | 
| 
      
 117 
     | 
    
         
            +
                    [2, 8, 17, 19, 41, 43, 47, 48, 50, 61, 70, 73],
         
     | 
| 
      
 118 
     | 
    
         
            +
                    [2, 11, 13, 19, 21, 31, 33, 37, 82, 84, 109, 111],
         
     | 
| 
      
 119 
     | 
    
         
            +
                    [2, 19, 21, 39, 41, 47, 49, 50, 52, 64, 74, 108]
         
     | 
| 
      
 120 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 121 
     | 
    
         
            +
                ),
         
     | 
| 
      
 122 
     | 
    
         
            +
                13 => DesignSet.new(
         
     | 
| 
      
 123 
     | 
    
         
            +
                  nyq: 263, freqs: [
         
     | 
| 
      
 124 
     | 
    
         
            +
                    [1, 4, 5, 22, 23, 35, 36, 55, 56, 84, 98, 99, 126]
         
     | 
| 
      
 125 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 126 
     | 
    
         
            +
                ),
         
     | 
| 
      
 127 
     | 
    
         
            +
                14 => DesignSet.new(
         
     | 
| 
      
 128 
     | 
    
         
            +
                  nyq: 331, freqs: [
         
     | 
| 
      
 129 
     | 
    
         
            +
                    [1, 3, 7, 19, 26, 36, 47, 60, 70, 79, 128, 148, 153, 161]
         
     | 
| 
      
 130 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 131 
     | 
    
         
            +
                ),
         
     | 
| 
      
 132 
     | 
    
         
            +
                15 => DesignSet.new(
         
     | 
| 
      
 133 
     | 
    
         
            +
                  nyq: 389, freqs: [
         
     | 
| 
      
 134 
     | 
    
         
            +
                    [1, 3, 7, 12, 29, 40, 49, 65, 91, 100, 125, 131, 148, 154, 172]
         
     | 
| 
      
 135 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 136 
     | 
    
         
            +
                ),
         
     | 
| 
      
 137 
     | 
    
         
            +
                20 => DesignSet.new(
         
     | 
| 
      
 138 
     | 
    
         
            +
                  nyq: 853, freqs: [
         
     | 
| 
      
 139 
     | 
    
         
            +
                    [1, 3, 7, 12, 15, 25, 41, 58, 60, 80, 107, 154, 161, 193, 232, 249, 284, 291, 377, 412]
         
     | 
| 
      
 140 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 141 
     | 
    
         
            +
                )
         
     | 
| 
      
 142 
     | 
    
         
            +
              }.freeze
         
     | 
| 
      
 143 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/datafarming.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: datafarming
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Paul J Sanchez
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-12-11 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: fwt
         
     | 
| 
         @@ -30,14 +30,14 @@ dependencies: 
     | 
|
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
31 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
38 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: quickstats
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -52,11 +52,38 @@ dependencies: 
     | 
|
| 
       52 
52 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       53 
53 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
54 
     | 
    
         
             
                    version: '2'
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
      
 55 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 56 
     | 
    
         
            +
              name: optparse
         
     | 
| 
      
 57 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 58 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 59 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 60 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
      
 62 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 63 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 64 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 65 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 66 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 67 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 68 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
      
 69 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 70 
     | 
    
         
            +
              name: yaml
         
     | 
| 
      
 71 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 72 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 73 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 75 
     | 
    
         
            +
                    version: '0.3'
         
     | 
| 
      
 76 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 77 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 78 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 79 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 80 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 81 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 82 
     | 
    
         
            +
                    version: '0.3'
         
     | 
| 
      
 83 
     | 
    
         
            +
            description: Ruby scripts for data farming, including pre- andpost-processing, design
         
     | 
| 
       56 
84 
     | 
    
         
             
              generation and scaling, and run control.
         
     | 
| 
       57 
85 
     | 
    
         
             
            email: pjs@alum.mit.edu
         
     | 
| 
       58 
86 
     | 
    
         
             
            executables:
         
     | 
| 
       59 
     | 
    
         
            -
            - augment_design.rb
         
     | 
| 
       60 
87 
     | 
    
         
             
            - batchrunner.rb
         
     | 
| 
       61 
88 
     | 
    
         
             
            - blank2csv.rb
         
     | 
| 
       62 
89 
     | 
    
         
             
            - cat.rb
         
     | 
| 
         @@ -64,26 +91,21 @@ executables: 
     | 
|
| 
       64 
91 
     | 
    
         
             
            - cross.rb
         
     | 
| 
       65 
92 
     | 
    
         
             
            - csv2blank.rb
         
     | 
| 
       66 
93 
     | 
    
         
             
            - datafarming.rb
         
     | 
| 
      
 94 
     | 
    
         
            +
            - generate_design.rb
         
     | 
| 
       67 
95 
     | 
    
         
             
            - moving_average.rb
         
     | 
| 
       68 
96 
     | 
    
         
             
            - mser.rb
         
     | 
| 
       69 
97 
     | 
    
         
             
            - mser_nolbm.rb
         
     | 
| 
       70 
98 
     | 
    
         
             
            - mser_olbm.rb
         
     | 
| 
       71 
99 
     | 
    
         
             
            - pool_files.rb
         
     | 
| 
       72 
100 
     | 
    
         
             
            - rundesign_general.rb
         
     | 
| 
       73 
     | 
    
         
            -
            - scaled_fde.rb
         
     | 
| 
       74 
     | 
    
         
            -
            - scaled_rf_cubed.rb
         
     | 
| 
       75 
     | 
    
         
            -
            - stack_nolhs.rb
         
     | 
| 
       76 
101 
     | 
    
         
             
            - stripheaderdups.rb
         
     | 
| 
       77 
102 
     | 
    
         
             
            - stripheaders.rb
         
     | 
| 
       78 
103 
     | 
    
         
             
            extensions: []
         
     | 
| 
       79 
104 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       80 
105 
     | 
    
         
             
            files:
         
     | 
| 
       81 
     | 
    
         
            -
            - DESCRIPTIONS.html
         
     | 
| 
       82 
     | 
    
         
            -
            - DESCRIPTIONS.md
         
     | 
| 
       83 
106 
     | 
    
         
             
            - LICENSE.md
         
     | 
| 
       84 
107 
     | 
    
         
             
            - README.md
         
     | 
| 
       85 
108 
     | 
    
         
             
            - datafarming.gemspec
         
     | 
| 
       86 
     | 
    
         
            -
            - exe/augment_design.rb
         
     | 
| 
       87 
109 
     | 
    
         
             
            - exe/batchrunner.rb
         
     | 
| 
       88 
110 
     | 
    
         
             
            - exe/blank2csv.rb
         
     | 
| 
       89 
111 
     | 
    
         
             
            - exe/cat.rb
         
     | 
| 
         @@ -91,23 +113,25 @@ files: 
     | 
|
| 
       91 
113 
     | 
    
         
             
            - exe/cross.rb
         
     | 
| 
       92 
114 
     | 
    
         
             
            - exe/csv2blank.rb
         
     | 
| 
       93 
115 
     | 
    
         
             
            - exe/datafarming.rb
         
     | 
| 
      
 116 
     | 
    
         
            +
            - exe/generate_design.rb
         
     | 
| 
       94 
117 
     | 
    
         
             
            - exe/moving_average.rb
         
     | 
| 
       95 
118 
     | 
    
         
             
            - exe/mser.rb
         
     | 
| 
       96 
119 
     | 
    
         
             
            - exe/mser_nolbm.rb
         
     | 
| 
       97 
120 
     | 
    
         
             
            - exe/mser_olbm.rb
         
     | 
| 
       98 
121 
     | 
    
         
             
            - exe/pool_files.rb
         
     | 
| 
       99 
122 
     | 
    
         
             
            - exe/rundesign_general.rb
         
     | 
| 
       100 
     | 
    
         
            -
            - exe/scaled_fde.rb
         
     | 
| 
       101 
     | 
    
         
            -
            - exe/scaled_rf_cubed.rb
         
     | 
| 
       102 
     | 
    
         
            -
            - exe/stack_nolhs.rb
         
     | 
| 
       103 
123 
     | 
    
         
             
            - exe/stripheaderdups.rb
         
     | 
| 
       104 
124 
     | 
    
         
             
            - exe/stripheaders.rb
         
     | 
| 
      
 125 
     | 
    
         
            +
            - lib/datafarming.rb
         
     | 
| 
       105 
126 
     | 
    
         
             
            - lib/datafarming/cross.rb
         
     | 
| 
       106 
127 
     | 
    
         
             
            - lib/datafarming/error_handling.rb
         
     | 
| 
       107 
     | 
    
         
            -
            - lib/datafarming/factorial_generator.rb
         
     | 
| 
       108 
128 
     | 
    
         
             
            - lib/datafarming/freq_sets.rb
         
     | 
| 
       109 
129 
     | 
    
         
             
            - lib/datafarming/moving_average.rb
         
     | 
| 
       110 
130 
     | 
    
         
             
            - lib/datafarming/nolh_designs.rb
         
     | 
| 
      
 131 
     | 
    
         
            +
            - lib/datafarming/res_v_seqs.rb
         
     | 
| 
      
 132 
     | 
    
         
            +
            - lib/datafarming/scale_design.rb
         
     | 
| 
      
 133 
     | 
    
         
            +
            - lib/datafarming/screen_freq_sets.rb
         
     | 
| 
      
 134 
     | 
    
         
            +
            - lib/datafarming/version.rb
         
     | 
| 
       111 
135 
     | 
    
         
             
            homepage: https://bitbucket.org/paul_j_sanchez/datafarmingrubyscripts
         
     | 
| 
       112 
136 
     | 
    
         
             
            licenses:
         
     | 
| 
       113 
137 
     | 
    
         
             
            - MIT
         
     | 
| 
         @@ -120,14 +144,14 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       120 
144 
     | 
    
         
             
              requirements:
         
     | 
| 
       121 
145 
     | 
    
         
             
              - - ">="
         
     | 
| 
       122 
146 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       123 
     | 
    
         
            -
                  version: '2. 
     | 
| 
      
 147 
     | 
    
         
            +
                  version: '2.6'
         
     | 
| 
       124 
148 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       125 
149 
     | 
    
         
             
              requirements:
         
     | 
| 
       126 
150 
     | 
    
         
             
              - - ">="
         
     | 
| 
       127 
151 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       128 
152 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       129 
153 
     | 
    
         
             
            requirements: []
         
     | 
| 
       130 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 154 
     | 
    
         
            +
            rubygems_version: 3.5.23
         
     | 
| 
       131 
155 
     | 
    
         
             
            signing_key:
         
     | 
| 
       132 
156 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       133 
157 
     | 
    
         
             
            summary: Useful scripts for data farming.
         
     |