stats_package_syntax_file_generator 1.1.7 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2006302f8dde73e249ee6175ef65b7c41439a14911f515f82f32f6f7dbf5403b
4
- data.tar.gz: 4e3eaf39e8537c7e49ac3ea01a37c2e4440d4a07e80d5d8810b103e02257ec8d
3
+ metadata.gz: 805a94fbae05131beedbccf6c5f152bf9c591bdc4e187a8ff9f522787596d055
4
+ data.tar.gz: 1f6471c80ee20fefb38f5533c88460e819a1eb21dfdbc27f9b656b39616023df
5
5
  SHA512:
6
- metadata.gz: 68dd339e0624e374c374d7c006a7747dcf3800b9661e976594a6f005acdb46a00d972ab1cea25becc3ddb4c945672b3cf15bd3ede23487f21bdd5e0f3685cb5e
7
- data.tar.gz: 553b2e56987e63490a7684c00e2bd3a12b4b18027a7fd60343e0d7089efc00f75f6385a49c94cd8b4301fb489b04e469819897e9c3cb815c9baafa1255ac1170
6
+ metadata.gz: 2d62e7924e7b628d9e12789faf7430750691114eea125802c27c1a0af002cde7b58fbc2860b41805d2b9f8621e0b0ad032663dc4a3ddca60c2ed0ba288a0340b
7
+ data.tar.gz: 508457b7708fbc5a5780141d1196d8034fbaa2d9485640d243c2c3fbf11c9623875cc090a33d3a8fc3c6f0c795adfc07f87a5c981d493074f148fb2d156f7efe
@@ -6,7 +6,7 @@
6
6
  module SyntaxFile
7
7
  class Controller
8
8
 
9
- VERSION = "1.1.7"
9
+ VERSION = "1.1.8"
10
10
 
11
11
  ATTR = {
12
12
  :project => { :req => false, :rw => 'rw', :def => '', :yaml => true },
@@ -16,7 +16,8 @@ module SyntaxFile
16
16
  @infix_format = "%#{mx_col + mx_var + 4}s"
17
17
  @replace_format = "replace %-#{mx_var}s = %-#{mx_var}s / %d"
18
18
  @fixed_point_display_format = "format %-#{mx_var}s %%%d.%df"
19
- @general_display_format = "format %-#{mx_var}s %%%d.%dg"
19
+ @general_display_format = "format %-#{mx_var}s %%%d.0g"
20
+ @integer_display_format = "format %-#{mx_var}s %%%d.0f"
20
21
 
21
22
  @cmd_end = ''
22
23
  @cmd_continue = ' ///'
@@ -205,13 +206,21 @@ module SyntaxFile
205
206
  var_list.map { |var|
206
207
  v = var.name.downcase
207
208
 
208
- # If implied decimals set, it means we know exactly how much precision
209
- # to show. Otherwise we go with the underlying value and the 'g' (general) formatting rules in Stata
210
- formatting = var.implied_decimals > 0 ?
211
- sprintf(@fixed_point_display_format, v, var.width, var.implied_decimals) :
212
- sprintf(@general_display_format, v, var.width, var.implied_decimals)
213
-
214
- formatting
209
+ # When implied decimals are set, it means we know exactly how much precision to show: '.nf' where n is the
210
+ # number of implied decimals.
211
+ # When the number is a double float in our metadata, we go with the underlying value and the '.0g' (general)
212
+ # formatting rules in Stata.
213
+ # Otherwise the variable is a integer in our metadata, and we therefore use '.0f' for formatting
214
+ #
215
+ # In Stata you store large integer type data in 'double' or 'long double' type variables. It's confusing.
216
+ case
217
+ when var.implied_decimals > 0
218
+ sprintf(@fixed_point_display_format, v, var.width, var.implied_decimals)
219
+ when var.is_double_var
220
+ sprintf(@general_display_format, v, var.width)
221
+ else # default is integer
222
+ sprintf(@integer_display_format, v, var.width)
223
+ end
215
224
  }
216
225
  end
217
226
 
@@ -145,7 +145,7 @@ def test_syn_display_format
145
145
  "format canton %3.1f",
146
146
  "format resprev2 %4.3f",
147
147
  "format bigdec %10.5f",
148
- "format bigint %19.0g"
148
+ "format bigint %19.0f"
149
149
  ]
150
150
  actual = mk.syn_display_format
151
151
  assert_equal expected, actual, msg
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stats_package_syntax_file_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Monty Hindman, Marcus Peterson, Colin Davis, Dan Elbert, Jayandra Pokharel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-29 00:00:00.000000000 Z
11
+ date: 2021-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -88,7 +88,7 @@ homepage: https://github.com/mnpopcenter/stats_package_syntax_file_generator
88
88
  licenses:
89
89
  - MPL-2.0
90
90
  metadata: {}
91
- post_install_message:
91
+ post_install_message:
92
92
  rdoc_options: []
93
93
  require_paths:
94
94
  - lib
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  requirements: []
106
106
  rubygems_version: 3.1.4
107
- signing_key:
107
+ signing_key:
108
108
  specification_version: 4
109
109
  summary: Produces statistical package syntax files for fixed-column data.
110
110
  test_files: