mirror of https://github.com/fredrikekre/HYPRE.jl
12 changed files with 16172 additions and 0 deletions
@ -0,0 +1,331 @@ |
|||||||
|
// Generated by Documenter.jl
|
||||||
|
requirejs.config({ |
||||||
|
paths: { |
||||||
|
'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min', |
||||||
|
'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', |
||||||
|
'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min', |
||||||
|
'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min', |
||||||
|
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min', |
||||||
|
'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', |
||||||
|
'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min', |
||||||
|
'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min', |
||||||
|
'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min', |
||||||
|
}, |
||||||
|
shim: { |
||||||
|
"highlight-julia": { |
||||||
|
"deps": [ |
||||||
|
"highlight" |
||||||
|
] |
||||||
|
}, |
||||||
|
"katex-auto-render": { |
||||||
|
"deps": [ |
||||||
|
"katex" |
||||||
|
] |
||||||
|
}, |
||||||
|
"headroom-jquery": { |
||||||
|
"deps": [ |
||||||
|
"jquery", |
||||||
|
"headroom" |
||||||
|
] |
||||||
|
}, |
||||||
|
"highlight-julia-repl": { |
||||||
|
"deps": [ |
||||||
|
"highlight" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { |
||||||
|
$(document).ready(function() { |
||||||
|
renderMathInElement( |
||||||
|
document.body, |
||||||
|
{ |
||||||
|
"delimiters": [ |
||||||
|
{ |
||||||
|
"left": "$", |
||||||
|
"right": "$", |
||||||
|
"display": false |
||||||
|
}, |
||||||
|
{ |
||||||
|
"left": "$$", |
||||||
|
"right": "$$", |
||||||
|
"display": true |
||||||
|
}, |
||||||
|
{ |
||||||
|
"left": "\\[", |
||||||
|
"right": "\\]", |
||||||
|
"display": true |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
|
||||||
|
); |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { |
||||||
|
$(document).ready(function() { |
||||||
|
hljs.highlightAll(); |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require([], function() { |
||||||
|
function addCopyButtonCallbacks() { |
||||||
|
for (const el of document.getElementsByTagName("pre")) { |
||||||
|
const button = document.createElement("button"); |
||||||
|
button.classList.add("copy-button", "fas", "fa-copy"); |
||||||
|
el.appendChild(button); |
||||||
|
|
||||||
|
const success = function () { |
||||||
|
button.classList.add("success", "fa-check"); |
||||||
|
button.classList.remove("fa-copy"); |
||||||
|
}; |
||||||
|
|
||||||
|
const failure = function () { |
||||||
|
button.classList.add("error", "fa-times"); |
||||||
|
button.classList.remove("fa-copy"); |
||||||
|
}; |
||||||
|
|
||||||
|
button.addEventListener("click", function () { |
||||||
|
copyToClipboard(el.innerText).then(success, failure); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
button.classList.add("fa-copy"); |
||||||
|
button.classList.remove("success", "fa-check", "fa-times"); |
||||||
|
}, 5000); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function copyToClipboard(text) { |
||||||
|
// clipboard API is only available in secure contexts
|
||||||
|
if (window.navigator && window.navigator.clipboard) { |
||||||
|
return window.navigator.clipboard.writeText(text); |
||||||
|
} else { |
||||||
|
return new Promise(function (resolve, reject) { |
||||||
|
try { |
||||||
|
const el = document.createElement("textarea"); |
||||||
|
el.textContent = text; |
||||||
|
el.style.position = "fixed"; |
||||||
|
el.style.opacity = 0; |
||||||
|
document.body.appendChild(el); |
||||||
|
el.select(); |
||||||
|
document.execCommand("copy"); |
||||||
|
|
||||||
|
resolve(); |
||||||
|
} catch (err) { |
||||||
|
reject(err); |
||||||
|
} finally { |
||||||
|
document.body.removeChild(el); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (document.readyState === "loading") { |
||||||
|
document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); |
||||||
|
} else { |
||||||
|
addCopyButtonCallbacks(); |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { |
||||||
|
|
||||||
|
// Manages the top navigation bar (hides it when the user starts scrolling down on the
|
||||||
|
// mobile).
|
||||||
|
window.Headroom = Headroom; // work around buggy module loading?
|
||||||
|
$(document).ready(function() { |
||||||
|
$('#documenter .docs-navbar').headroom({ |
||||||
|
"tolerance": {"up": 10, "down": 10}, |
||||||
|
}); |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery'], function($) { |
||||||
|
|
||||||
|
// Modal settings dialog
|
||||||
|
$(document).ready(function() { |
||||||
|
var settings = $('#documenter-settings'); |
||||||
|
$('#documenter-settings-button').click(function(){ |
||||||
|
settings.toggleClass('is-active'); |
||||||
|
}); |
||||||
|
// Close the dialog if X is clicked
|
||||||
|
$('#documenter-settings button.delete').click(function(){ |
||||||
|
settings.removeClass('is-active'); |
||||||
|
}); |
||||||
|
// Close dialog if ESC is pressed
|
||||||
|
$(document).keyup(function(e) { |
||||||
|
if (e.keyCode == 27) settings.removeClass('is-active'); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery'], function($) { |
||||||
|
|
||||||
|
// Manages the showing and hiding of the sidebar.
|
||||||
|
$(document).ready(function() { |
||||||
|
var sidebar = $("#documenter > .docs-sidebar"); |
||||||
|
var sidebar_button = $("#documenter-sidebar-button") |
||||||
|
sidebar_button.click(function(ev) { |
||||||
|
ev.preventDefault(); |
||||||
|
sidebar.toggleClass('visible'); |
||||||
|
if (sidebar.hasClass('visible')) { |
||||||
|
// Makes sure that the current menu item is visible in the sidebar.
|
||||||
|
$("#documenter .docs-menu a.is-active").focus(); |
||||||
|
} |
||||||
|
}); |
||||||
|
$("#documenter > .docs-main").bind('click', function(ev) { |
||||||
|
if ($(ev.target).is(sidebar_button)) { |
||||||
|
return; |
||||||
|
} |
||||||
|
if (sidebar.hasClass('visible')) { |
||||||
|
sidebar.removeClass('visible'); |
||||||
|
} |
||||||
|
}); |
||||||
|
}) |
||||||
|
|
||||||
|
// Resizes the package name / sitename in the sidebar if it is too wide.
|
||||||
|
// Inspired by: https://github.com/davatron5000/FitText.js
|
||||||
|
$(document).ready(function() { |
||||||
|
e = $("#documenter .docs-autofit"); |
||||||
|
function resize() { |
||||||
|
var L = parseInt(e.css('max-width'), 10); |
||||||
|
var L0 = e.width(); |
||||||
|
if(L0 > L) { |
||||||
|
var h0 = parseInt(e.css('font-size'), 10); |
||||||
|
e.css('font-size', L * h0 / L0); |
||||||
|
// TODO: make sure it survives resizes?
|
||||||
|
} |
||||||
|
} |
||||||
|
// call once and then register events
|
||||||
|
resize(); |
||||||
|
$(window).resize(resize); |
||||||
|
$(window).on('orientationchange', resize); |
||||||
|
}); |
||||||
|
|
||||||
|
// Scroll the navigation bar to the currently selected menu item
|
||||||
|
$(document).ready(function() { |
||||||
|
var sidebar = $("#documenter .docs-menu").get(0); |
||||||
|
var active = $("#documenter .docs-menu .is-active").get(0); |
||||||
|
if(typeof active !== 'undefined') { |
||||||
|
sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; |
||||||
|
} |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery'], function($) { |
||||||
|
|
||||||
|
function set_theme(theme) { |
||||||
|
var active = null; |
||||||
|
var disabled = []; |
||||||
|
for (var i = 0; i < document.styleSheets.length; i++) { |
||||||
|
var ss = document.styleSheets[i]; |
||||||
|
var themename = ss.ownerNode.getAttribute("data-theme-name"); |
||||||
|
if(themename === null) continue; // ignore non-theme stylesheets
|
||||||
|
// Find the active theme
|
||||||
|
if(themename === theme) active = ss; |
||||||
|
else disabled.push(ss); |
||||||
|
} |
||||||
|
if(active !== null) { |
||||||
|
active.disabled = false; |
||||||
|
if(active.ownerNode.getAttribute("data-theme-primary") === null) { |
||||||
|
document.getElementsByTagName('html')[0].className = "theme--" + theme; |
||||||
|
} else { |
||||||
|
document.getElementsByTagName('html')[0].className = ""; |
||||||
|
} |
||||||
|
disabled.forEach(function(ss){ |
||||||
|
ss.disabled = true; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// Store the theme in localStorage
|
||||||
|
if(typeof(window.localStorage) !== "undefined") { |
||||||
|
window.localStorage.setItem("documenter-theme", theme); |
||||||
|
} else { |
||||||
|
console.error("Browser does not support window.localStorage"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Theme picker setup
|
||||||
|
$(document).ready(function() { |
||||||
|
// onchange callback
|
||||||
|
$('#documenter-themepicker').change(function themepick_callback(ev){ |
||||||
|
var themename = $('#documenter-themepicker option:selected').attr('value'); |
||||||
|
set_theme(themename); |
||||||
|
}); |
||||||
|
|
||||||
|
// Make sure that the themepicker displays the correct theme when the theme is retrieved
|
||||||
|
// from localStorage
|
||||||
|
if(typeof(window.localStorage) !== "undefined") { |
||||||
|
var theme = window.localStorage.getItem("documenter-theme"); |
||||||
|
if(theme !== null) { |
||||||
|
$('#documenter-themepicker option').each(function(i,e) { |
||||||
|
e.selected = (e.value === theme); |
||||||
|
}) |
||||||
|
} else { |
||||||
|
$('#documenter-themepicker option').each(function(i,e) { |
||||||
|
e.selected = $("html").hasClass(`theme--${e.value}`); |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery'], function($) { |
||||||
|
|
||||||
|
// update the version selector with info from the siteinfo.js and ../versions.js files
|
||||||
|
$(document).ready(function() { |
||||||
|
// If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
|
||||||
|
// siteinfo.js file, we just return immediately and not display the version selector.
|
||||||
|
if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
var version_selector = $("#documenter .docs-version-selector"); |
||||||
|
var version_selector_select = $("#documenter .docs-version-selector select"); |
||||||
|
|
||||||
|
version_selector_select.change(function(x) { |
||||||
|
target_href = version_selector_select.children("option:selected").get(0).value; |
||||||
|
window.location.href = target_href; |
||||||
|
}); |
||||||
|
|
||||||
|
// add the current version to the selector based on siteinfo.js, but only if the selector is empty
|
||||||
|
if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) { |
||||||
|
var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>"); |
||||||
|
version_selector_select.append(option); |
||||||
|
} |
||||||
|
|
||||||
|
if (typeof DOC_VERSIONS !== 'undefined') { |
||||||
|
var existing_versions = version_selector_select.children("option"); |
||||||
|
var existing_versions_texts = existing_versions.map(function(i,x){return x.text}); |
||||||
|
DOC_VERSIONS.forEach(function(each) { |
||||||
|
var version_url = documenterBaseURL + "/../" + each; |
||||||
|
var existing_id = $.inArray(each, existing_versions_texts); |
||||||
|
// if not already in the version selector, add it as a new option,
|
||||||
|
// otherwise update the old option with the URL and enable it
|
||||||
|
if (existing_id == -1) { |
||||||
|
var option = $("<option value='" + version_url + "'>" + each + "</option>"); |
||||||
|
version_selector_select.append(option); |
||||||
|
} else { |
||||||
|
var option = existing_versions[existing_id]; |
||||||
|
option.value = version_url; |
||||||
|
option.disabled = false; |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// only show the version selector if the selector has been populated
|
||||||
|
if (version_selector_select.children("option").length > 0) { |
||||||
|
version_selector.toggleClass("visible"); |
||||||
|
} |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
@ -0,0 +1,267 @@ |
|||||||
|
// Generated by Documenter.jl
|
||||||
|
requirejs.config({ |
||||||
|
paths: { |
||||||
|
'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min', |
||||||
|
'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min', |
||||||
|
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min', |
||||||
|
} |
||||||
|
}); |
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
require(['jquery', 'lunr', 'lodash'], function($, lunr, _) { |
||||||
|
|
||||||
|
$(document).ready(function() { |
||||||
|
// parseUri 1.2.2
|
||||||
|
// (c) Steven Levithan <stevenlevithan.com>
|
||||||
|
// MIT License
|
||||||
|
function parseUri (str) { |
||||||
|
var o = parseUri.options, |
||||||
|
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), |
||||||
|
uri = {}, |
||||||
|
i = 14; |
||||||
|
|
||||||
|
while (i--) uri[o.key[i]] = m[i] || ""; |
||||||
|
|
||||||
|
uri[o.q.name] = {}; |
||||||
|
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { |
||||||
|
if ($1) uri[o.q.name][$1] = $2; |
||||||
|
}); |
||||||
|
|
||||||
|
return uri; |
||||||
|
}; |
||||||
|
parseUri.options = { |
||||||
|
strictMode: false, |
||||||
|
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], |
||||||
|
q: { |
||||||
|
name: "queryKey", |
||||||
|
parser: /(?:^|&)([^&=]*)=?([^&]*)/g |
||||||
|
}, |
||||||
|
parser: { |
||||||
|
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, |
||||||
|
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
$("#search-form").submit(function(e) { |
||||||
|
e.preventDefault() |
||||||
|
}) |
||||||
|
|
||||||
|
// list below is the lunr 2.1.3 list minus the intersect with names(Base)
|
||||||
|
// (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
|
||||||
|
// ideally we'd just filter the original list but it's not available as a variable
|
||||||
|
lunr.stopWordFilter = lunr.generateStopWordFilter([ |
||||||
|
'a', |
||||||
|
'able', |
||||||
|
'about', |
||||||
|
'across', |
||||||
|
'after', |
||||||
|
'almost', |
||||||
|
'also', |
||||||
|
'am', |
||||||
|
'among', |
||||||
|
'an', |
||||||
|
'and', |
||||||
|
'are', |
||||||
|
'as', |
||||||
|
'at', |
||||||
|
'be', |
||||||
|
'because', |
||||||
|
'been', |
||||||
|
'but', |
||||||
|
'by', |
||||||
|
'can', |
||||||
|
'cannot', |
||||||
|
'could', |
||||||
|
'dear', |
||||||
|
'did', |
||||||
|
'does', |
||||||
|
'either', |
||||||
|
'ever', |
||||||
|
'every', |
||||||
|
'from', |
||||||
|
'got', |
||||||
|
'had', |
||||||
|
'has', |
||||||
|
'have', |
||||||
|
'he', |
||||||
|
'her', |
||||||
|
'hers', |
||||||
|
'him', |
||||||
|
'his', |
||||||
|
'how', |
||||||
|
'however', |
||||||
|
'i', |
||||||
|
'if', |
||||||
|
'into', |
||||||
|
'it', |
||||||
|
'its', |
||||||
|
'just', |
||||||
|
'least', |
||||||
|
'like', |
||||||
|
'likely', |
||||||
|
'may', |
||||||
|
'me', |
||||||
|
'might', |
||||||
|
'most', |
||||||
|
'must', |
||||||
|
'my', |
||||||
|
'neither', |
||||||
|
'no', |
||||||
|
'nor', |
||||||
|
'not', |
||||||
|
'of', |
||||||
|
'off', |
||||||
|
'often', |
||||||
|
'on', |
||||||
|
'or', |
||||||
|
'other', |
||||||
|
'our', |
||||||
|
'own', |
||||||
|
'rather', |
||||||
|
'said', |
||||||
|
'say', |
||||||
|
'says', |
||||||
|
'she', |
||||||
|
'should', |
||||||
|
'since', |
||||||
|
'so', |
||||||
|
'some', |
||||||
|
'than', |
||||||
|
'that', |
||||||
|
'the', |
||||||
|
'their', |
||||||
|
'them', |
||||||
|
'then', |
||||||
|
'there', |
||||||
|
'these', |
||||||
|
'they', |
||||||
|
'this', |
||||||
|
'tis', |
||||||
|
'to', |
||||||
|
'too', |
||||||
|
'twas', |
||||||
|
'us', |
||||||
|
'wants', |
||||||
|
'was', |
||||||
|
'we', |
||||||
|
'were', |
||||||
|
'what', |
||||||
|
'when', |
||||||
|
'who', |
||||||
|
'whom', |
||||||
|
'why', |
||||||
|
'will', |
||||||
|
'would', |
||||||
|
'yet', |
||||||
|
'you', |
||||||
|
'your' |
||||||
|
]) |
||||||
|
|
||||||
|
// add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
|
||||||
|
// would not find anything if searching for "add!", only for the entire qualification
|
||||||
|
lunr.tokenizer.separator = /[\s\-\.]+/ |
||||||
|
|
||||||
|
// custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
|
||||||
|
lunr.trimmer = function (token) { |
||||||
|
return token.update(function (s) { |
||||||
|
return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '') |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter') |
||||||
|
lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer') |
||||||
|
|
||||||
|
var index = lunr(function () { |
||||||
|
this.ref('location') |
||||||
|
this.field('title',{boost: 100}) |
||||||
|
this.field('text') |
||||||
|
documenterSearchIndex['docs'].forEach(function(e) { |
||||||
|
this.add(e) |
||||||
|
}, this) |
||||||
|
}) |
||||||
|
var store = {} |
||||||
|
|
||||||
|
documenterSearchIndex['docs'].forEach(function(e) { |
||||||
|
store[e.location] = {title: e.title, category: e.category, page: e.page} |
||||||
|
}) |
||||||
|
|
||||||
|
$(function(){ |
||||||
|
searchresults = $('#documenter-search-results'); |
||||||
|
searchinfo = $('#documenter-search-info'); |
||||||
|
searchbox = $('#documenter-search-query'); |
||||||
|
searchform = $('.docs-search'); |
||||||
|
sidebar = $('.docs-sidebar'); |
||||||
|
function update_search(querystring) { |
||||||
|
tokens = lunr.tokenizer(querystring) |
||||||
|
results = index.query(function (q) { |
||||||
|
tokens.forEach(function (t) { |
||||||
|
q.term(t.toString(), { |
||||||
|
fields: ["title"], |
||||||
|
boost: 100, |
||||||
|
usePipeline: true, |
||||||
|
editDistance: 0, |
||||||
|
wildcard: lunr.Query.wildcard.NONE |
||||||
|
}) |
||||||
|
q.term(t.toString(), { |
||||||
|
fields: ["title"], |
||||||
|
boost: 10, |
||||||
|
usePipeline: true, |
||||||
|
editDistance: 2, |
||||||
|
wildcard: lunr.Query.wildcard.NONE |
||||||
|
}) |
||||||
|
q.term(t.toString(), { |
||||||
|
fields: ["text"], |
||||||
|
boost: 1, |
||||||
|
usePipeline: true, |
||||||
|
editDistance: 0, |
||||||
|
wildcard: lunr.Query.wildcard.NONE |
||||||
|
}) |
||||||
|
}) |
||||||
|
}) |
||||||
|
searchinfo.text("Number of results: " + results.length) |
||||||
|
searchresults.empty() |
||||||
|
results.forEach(function(result) { |
||||||
|
data = store[result.ref] |
||||||
|
link = $('<a class="docs-label">'+data.title+'</a>') |
||||||
|
link.attr('href', documenterBaseURL+'/'+result.ref) |
||||||
|
if (data.category != "page"){ |
||||||
|
cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>') |
||||||
|
} else { |
||||||
|
cat = $('<span class="docs-category">('+data.category+')</span>') |
||||||
|
} |
||||||
|
li = $('<li>').append(link).append(" ").append(cat) |
||||||
|
searchresults.append(li) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
function update_search_box() { |
||||||
|
querystring = searchbox.val() |
||||||
|
update_search(querystring) |
||||||
|
} |
||||||
|
|
||||||
|
searchbox.keyup(_.debounce(update_search_box, 250)) |
||||||
|
searchbox.change(update_search_box) |
||||||
|
|
||||||
|
// Disable enter-key form submission for the searchbox on the search page
|
||||||
|
// and just re-run search rather than refresh the whole page.
|
||||||
|
searchform.keypress( |
||||||
|
function(event){ |
||||||
|
if (event.which == '13') { |
||||||
|
if (sidebar.hasClass('visible')) { |
||||||
|
sidebar.removeClass('visible'); |
||||||
|
} |
||||||
|
update_search_box(); |
||||||
|
event.preventDefault(); |
||||||
|
} |
||||||
|
} |
||||||
|
); |
||||||
|
|
||||||
|
search_query_uri = parseUri(window.location).queryKey["q"] |
||||||
|
if(search_query_uri !== undefined) { |
||||||
|
search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20')) |
||||||
|
searchbox.val(search_query) |
||||||
|
} |
||||||
|
update_search_box(); |
||||||
|
}) |
||||||
|
}) |
||||||
|
|
||||||
|
}) |
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,66 @@ |
|||||||
|
// Small function to quickly swap out themes. Gets put into the <head> tag..
|
||||||
|
function set_theme_from_local_storage() { |
||||||
|
// Intialize the theme to null, which means default
|
||||||
|
var theme = null; |
||||||
|
// If the browser supports the localstorage and is not disabled then try to get the
|
||||||
|
// documenter theme
|
||||||
|
if(window.localStorage != null) { |
||||||
|
// Get the user-picked theme from localStorage. May be `null`, which means the default
|
||||||
|
// theme.
|
||||||
|
theme = window.localStorage.getItem("documenter-theme"); |
||||||
|
} |
||||||
|
// Check if the browser supports user color preference
|
||||||
|
var darkPreference = false; |
||||||
|
// Check if the users preference is for dark color scheme
|
||||||
|
if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) { |
||||||
|
darkPreference = true; |
||||||
|
} |
||||||
|
// Initialize a few variables for the loop:
|
||||||
|
//
|
||||||
|
// - active: will contain the index of the theme that should be active. Note that there
|
||||||
|
// is no guarantee that localStorage contains sane values. If `active` stays `null`
|
||||||
|
// we either could not find the theme or it is the default (primary) theme anyway.
|
||||||
|
// Either way, we then need to stick to the primary theme.
|
||||||
|
//
|
||||||
|
// - disabled: style sheets that should be disabled (i.e. all the theme style sheets
|
||||||
|
// that are not the currently active theme)
|
||||||
|
var active = null; var disabled = []; var darkTheme = null; |
||||||
|
for (var i = 0; i < document.styleSheets.length; i++) { |
||||||
|
var ss = document.styleSheets[i]; |
||||||
|
// The <link> tag of each style sheet is expected to have a data-theme-name attribute
|
||||||
|
// which must contain the name of the theme. The names in localStorage much match this.
|
||||||
|
var themename = ss.ownerNode.getAttribute("data-theme-name"); |
||||||
|
// attribute not set => non-theme stylesheet => ignore
|
||||||
|
if(themename === null) continue; |
||||||
|
// To distinguish the default (primary) theme, it needs to have the data-theme-primary
|
||||||
|
// attribute set.
|
||||||
|
var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null); |
||||||
|
// Check if the theme is primary dark theme
|
||||||
|
var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null); |
||||||
|
// If ss is for dark theme then set the value of darkTheme to the name of the theme
|
||||||
|
if(isDarkTheme) darkTheme = themename; |
||||||
|
// If we find a matching theme (and it's not the default), we'll set active to non-null
|
||||||
|
if(themename === theme) active = i; |
||||||
|
// Store the style sheets of inactive themes so that we could disable them
|
||||||
|
if(themename !== theme) disabled.push(ss); |
||||||
|
} |
||||||
|
if(active !== null) { |
||||||
|
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
|
||||||
|
document.getElementsByTagName('html')[0].className = "theme--" + theme; |
||||||
|
// and (2) disable all the other theme stylesheets
|
||||||
|
disabled.forEach(function(ss){ |
||||||
|
ss.disabled = true; |
||||||
|
}); |
||||||
|
} |
||||||
|
else if(darkTheme !== null && darkPreference === true) { |
||||||
|
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
|
||||||
|
document.getElementsByTagName('html')[0].className = "theme--" + darkTheme; |
||||||
|
// and (2) disable all the other theme stylesheets
|
||||||
|
disabled.forEach(function(ss){ |
||||||
|
if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) { |
||||||
|
ss.disabled = true; |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
set_theme_from_local_storage(); |
||||||
@ -0,0 +1,49 @@ |
|||||||
|
function maybeAddWarning () { |
||||||
|
// DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
|
||||||
|
// in siteinfo.js.
|
||||||
|
// If either of these are undefined something went horribly wrong, so we abort.
|
||||||
|
if ( |
||||||
|
window.DOCUMENTER_NEWEST === undefined || |
||||||
|
window.DOCUMENTER_CURRENT_VERSION === undefined || |
||||||
|
window.DOCUMENTER_STABLE === undefined |
||||||
|
) { |
||||||
|
return |
||||||
|
}; |
||||||
|
|
||||||
|
// Current version is not a version number, so we can't tell if it's the newest version. Abort.
|
||||||
|
if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) { |
||||||
|
return |
||||||
|
}; |
||||||
|
|
||||||
|
// Current version is newest version, so no need to add a warning.
|
||||||
|
if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) { |
||||||
|
return |
||||||
|
}; |
||||||
|
|
||||||
|
// Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
|
||||||
|
if (document.body.querySelector('meta[name="robots"]') === null) { |
||||||
|
const meta = document.createElement('meta'); |
||||||
|
meta.name = 'robots'; |
||||||
|
meta.content = 'noindex'; |
||||||
|
|
||||||
|
document.getElementsByTagName('head')[0].appendChild(meta); |
||||||
|
}; |
||||||
|
|
||||||
|
const div = document.createElement('div'); |
||||||
|
div.classList.add('outdated-warning-overlay'); |
||||||
|
const closer = document.createElement('button'); |
||||||
|
closer.classList.add('outdated-warning-closer', 'delete'); |
||||||
|
closer.addEventListener('click', function () { |
||||||
|
document.body.removeChild(div); |
||||||
|
}); |
||||||
|
const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE; |
||||||
|
div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>'; |
||||||
|
div.appendChild(closer); |
||||||
|
document.body.appendChild(div); |
||||||
|
}; |
||||||
|
|
||||||
|
if (document.readyState === 'loading') { |
||||||
|
document.addEventListener('DOMContentLoaded', maybeAddWarning); |
||||||
|
} else { |
||||||
|
maybeAddWarning(); |
||||||
|
}; |
||||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,3 @@ |
|||||||
|
var documenterSearchIndex = {"docs": |
||||||
|
[{"location":"#HYPRE.jl","page":"Home","title":"HYPRE.jl","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for HYPRE.jl","category":"page"},{"location":"","page":"Home","title":"Home","text":"HYPRE.solve!\nHYPRE.solve","category":"page"},{"location":"#HYPRE.solve!","page":"Home","title":"HYPRE.solve!","text":"solve!(solver::HYPRESolver, x::HYPREVector, A::HYPREMatrix, b::HYPREVector)\n\nSolve the linear system A x = b using solver with x as the initial guess. The approximate solution is stored in x.\n\nSee also solve.\n\n\n\n\n\n","category":"function"},{"location":"#HYPRE.solve","page":"Home","title":"HYPRE.solve","text":"solve(solver::HYPRESolver, A::HYPREMatrix, b::HYPREVector) -> HYPREVector\n\nSolve the linear system A x = b using solver and return the approximate solution.\n\nThis method allocates an initial guess/output vector x, initialized to 0.\n\nSee also solve!.\n\n\n\n\n\n","category":"function"},{"location":"","page":"Home","title":"Home","text":"HYPRE.HYPRESolver","category":"page"},{"location":"#HYPRE.HYPRESolver","page":"Home","title":"HYPRE.HYPRESolver","text":"HYPRESolver\n\nAbstract super type of all the wrapped HYPRE solvers.\n\n\n\n\n\n","category":"type"}] |
||||||
|
} |
||||||
@ -0,0 +1,2 @@ |
|||||||
|
<!--This file is automatically generated by Documenter.jl--> |
||||||
|
<meta http-equiv="refresh" content="0; url=./dev/"/> |
||||||
Loading…
Reference in new issue