22:description: <%= profile_release.marketing_name %> Profile
33:revdate: <%= profile_release.ratification_date.nil? ? Date.today : profile_release.ratification_date %>
44
5- // XXX - Figure out what we really want here - Change percent hash to percent equals.
5+ // TODO - Figure out what we really want here - Change percent hash to percent equals.
66// :revnumber: <%# profile_release.map(&:version).sort.last %>
77
88:revmark: "TODO: revmark"
@@ -311,6 +311,7 @@ optional profile extensions for a new profile might be prototyped as
311311non-profile extensions on an earlier profile.
312312
313313// XXX - Need to create render() Ruby function.
314+ // See https://github.com/riscv-software-src/riscv-unified-db/issues/59
314315// <%# render("#{$root}/backends/portfolio_doc/templates/family_intro.erb", portfolio_class: profile_class) %>
315316
316317== <%= profile_class . name %> Profile Class
@@ -344,21 +345,6 @@ Ratification date:: <%= profile_release.ratification_date %>
344345--
345346<% end # each profile_release -%>
346347
347- === Extension Presence
348-
349- The <%= profile_class.marketing_name %> Profile Class references
350- <%= profile_class.referenced_extensions.size %> extensions.
351-
352- .Status
353- |===
354- | Extension | <%= profile_class.profiles.map(&:marketing_name).join(" | ") -%>
355-
356- <% profile_class.referenced_extensions.sort_by(&:name).each do |ext| -%>
357- | <%= ext.name %> | <%= profile_class.profiles.map { |profile| profile.extension_presence(ext.name) }.join(" | ") -%>
358- <% end -%>
359-
360- |===
361-
362348== <%= profile_release.name %> Profile Release
363349
364350<%= profile_release.introduction %>
@@ -370,8 +356,8 @@ associated implementation-defined parameters across all its defined profiles.
370356=== <%= profile_release.name %> Description
371357
372358<%= profile_release.description %>
373-
374359<% end # unless -%>
360+
375361<% profile_release.profiles.each do |profile| -%>
376362=== <%= profile.marketing_name %> Profile
377363
@@ -411,6 +397,41 @@ associated implementation-defined parameters.
411397
412398<% end # each profile -%>
413399
400+ < < <
401+ [appendix]
402+ == Profile Comparisons
403+
404+ === Release Comparison
405+
406+ The <%= profile_class.marketing_name %> Profile Class has <%= profile_class.profile_releases.size %> releases that
407+ reference a total of <%= profile_class.referenced_extensions.size %> extensions.
408+
409+ .Extension Presence
410+ |===
411+ | Extension | <%= profile_class.profile_releases.map(&:marketing_name).join(" | ") %>
412+
413+ <% profile_class.referenced_extensions.sort_by(&:name).each do |ext| -%>
414+ | <%= ext.name %> | <%= profile_class.profile_releases.map { |profile_release| profile_release.extension_presence(ext.name) }.join(" | ") %>
415+ <% end -%>
416+ |===
417+
418+ === Profile Comparison
419+
420+ The <%= profile_release.marketing_name %> Profile Release has <%= profile_release.profiles.size %> profiles that
421+ reference a total of <%= profile_release.referenced_extensions.size %> extensions.
422+
423+ [NOTE]
424+ Extensions present in a profile are also present in higher-privileged profiles in the same profile release.
425+
426+ .Extension Presence
427+ |===
428+ | Extension | <%= profile_release.profiles.map(&:marketing_name).join(" | ") %>
429+
430+ <% profile_release.referenced_extensions.sort_by(&:name).each do |ext| -%>
431+ | <%= ext.name %> | <%= profile_release.profiles.map { |profile| profile.extension_presence(ext.name) }.join(" | ") %>
432+ <% end -%>
433+ |===
434+
414435< < <
415436[appendix]
416437== Extension Details
@@ -420,12 +441,12 @@ associated implementation-defined parameters.
420441=== <%= ext.name %> Extension
421442<%= ext.long_name %>
422443
423- .Status
444+ .Presence
424445|===
425446| Profile | v<%= ext.versions.map { |v| v.version }.join(" | v") %>
426447
427448<% profile_release.profiles.each do |profile| -%>
428- | <%= profile.marketing_name %> | <%= profile.version_strongest_presence (ext.name, ext.versions).join(" | ") -%>
449+ | <%= profile.marketing_name %> | <%= profile.version_greatest_presence (ext.name, ext.versions).join(" | ") -%>
429450<% end -%>
430451
431452|===
0 commit comments