Notes:

Statistical Library Design Discussion


Overview

The meeting reviewed statistical library design updates and focused on how users should control result types for statistical functions.

Design Decisions

  • Clarified standard deviation as the square root of the absolute variance and corrected range terminology for parallel implementations.
  • Tightened statistical definitions to prevent division by zero.
  • Preferred named structures, including statistical_set-style types and named mean/standard-deviation results, over Boolean flags or positional values.
  • Special values will not currently be checked; the treatment of silent NaNs and other constraints remains unresolved.

Type Promotion

  • Automatic promotion, user-side data transformation, and initialization parameters were viewed as poor approaches because they can be surprising, costly, or mathematically unsuitable.
  • The preferred design is an explicit return-type template argument; the group suggested requiring it for every call rather than providing an overload with an implicit default.

Open Questions

  • Should the API require users to specify the internal and return type on every call?
  • How will the design behave in real codebases, and what usage patterns will emerge from repository-based examples?

Action Items

  • Update the Croydon-related values in the paper to reflect the committee's vote.
  • Change the statistical functions to require an explicitly specified return type rather than supporting the overload that infers it.
  • Search GitHub repositories for programs that compute statistics and identify candidate codebases to update with ranges and the proposed statistical API, then use them to evaluate the interface.

Outline

Standards Updates

  • Standard deviation uses the square root of the absolute variance.
  • Parallel implementations use forward ranges.
  • Statistical definitions were revised to avoid division by zero.

API Naming

  • Statistical sample and population options are represented as structures rather than Boolean parameters.
  • Named structures are favored for paired results such as mean and standard deviation.

Special Values

  • The current direction is not to check for special values.
  • Silent NaNs and additional constraints requiring branching remain under consideration.

Return-Type Promotion

  • Discussed four approaches: no transformation, automatic promotion, an initialization parameter, and an explicit return-type template argument.
  • The explicit return-type approach was favored, with discussion about requiring it on every call.

Implementation Evidence

  • The discussion emphasized the need to examine real programs that compute statistics and use ranges, rather than relying only on library publication examples.



On Thu, Oct 8, 2026 at 2:02 PM Michael Wong <fraggamuffin@gmail.com> wrote:
Sorry this is the wrong callin zoom. Please use this:

On Thu, Oct 8, 2026 at 10:05 AM Michael Wong <fraggamuffin@gmail.com> wrote:
Topic: SG19 Machine Learning Monthly Meeting
Focus: Stats
Time: 02:00 PM Eastern Time (US and Canada)
    Every month on the Second Thu

    Please download and import the following iCalendar (.ics) files to your calendar system.

    Password: 933427

Or iPhone one-tap :
    US: +13017158592,,99978798527#  or +13126266799,,99978798527#
Or Telephone:
    Dial(for higher quality, dial a number based on your current location):
    Meeting ID: 999 7879 8527
    Password: 933427
    International numbers available: https://iso.zoom.us/u/acqgszVKqM
 
Michael Wong (CA)
Pete Isensee
Richard Dosselmann
Samuel Obeng
Vinnie Falco
  • 1.2 Adopt agenda

  • 1.3 Action items from previous meetings

  • 1.4 Approve previous meeting minutes.

2. Main issues (125 min)

2.1 General logistics

  • Future and past meeting plans (see section 

2.2 Any  proposal for reviews?

  Graph is scheduled for this month.

2.3 Domain-specific discussions

2.4 Other Papers and proposals

2.5 Future F2F meetings:

2.6 Future C++ Standard meetings:

https://isocpp.org/std/meetings-and-participation/upcoming-meetings

3. Any other business

4. Review

4.1 Review and approve resolutions and issues [e.g., changes to SG's
working draft]

4.2 Review action items (5 min)

5. Closing process

5.1 Establish next agenda


5.2 Future meeting
Jan 15, 2026 02:00 PM ET: Statistics DONE
Feb 12, 2026 02:00 PM ET: Graph DONE
Mar 12, 2026 02:00 PM ET: Statistics; F2F London Cancelled
Apr 9, 2026 02:00 PM ET: Graph DONE
May 14, 2026 02:00 PM ET: Statistics Cancelled
June 11, 2026 02:00 PM ET: F2F cancelled
July 9, 2026 02:00 PM ET: Graph
Aug 13, 2026 06:00 PM ET: Statistics Cancelled
Sep 10, 2026 02:00 PM ET: CPPCON 9/12-18 Live call
Oct 8, 2026 02:00 PM ET: Stats
Nov 12, 2026 02:00 PM ET: F2F, cancelled
Dec 10, 2026 02:00 PM ET: Graph