stats_package_syntax_file_generator 1.1.7 → 1.1.8

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 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: