///|
pub fn serialize_field_snapshot(field : Field1D) -> String {
field_to_csv(field)
}
///|
pub fn serialize_particles_snapshot(particles : ArrayView[Particle]) -> String {
particles_to_csv(particles)
}
///|
pub fn serialize_scalar_series(
name : String,
values : ArrayView[Double],
) -> String {
let output = StringBuilder()
output.write_string("index,\{name}\n")
for i in 0.. String {
let output = StringBuilder()
output.write_string("index,\{name}_x,\{name}_y,\{name}_z\n")
for i in 0.. String {
let output = StringBuilder()
output.write_string("x,\{name}\n")
for i in 0.. String {
pipeline_to_csv(result)
}
///|
pub fn serialize_benchmark(suite : BenchmarkSuite) -> String {
benchmark_suite_to_csv(suite)
}
///|
pub fn serialize_summary(name : String, values : ArrayView[Double]) -> String {
summary_to_csv(summarize_series(name, values))
}
///|
pub fn serialize_shape_weights(weights : ShapeWeights) -> String {
let output = StringBuilder()
output.write_string("index,weight\n")
for item in weights.contributions {
output.write_string("\{item.index},\{item.weight}\n")
}
output.to_string()
}
///|
pub fn serialize_vlasov(state : VlasovState) -> String {
vlasov_snapshot_to_csv(state)
}
///|
pub fn serialize_config(config : ExperimentConfig) -> String {
"name,steps,dt,cells,length\n\{config.name},\{config.steps},\{config.dt},\{config.grid.cells},\{config.grid.length}\n"
}
///|
pub fn serialize_validation(report : ValidationReport) -> String {
let output = StringBuilder()
output.write_string("valid,code,message,value\n")
if report.issues.length() == 0 {
output.write_string("\{report.valid},,,\n")
} else {
for issue in report.issues {
output.write_string(
"\{report.valid},\{issue.code},\{issue.message},\{issue.value}\n",
)
}
}
output.to_string()
}
///|
pub fn csv_escape(value : String) -> String {
value
}
///|
pub fn serialize_named_values(
names : ArrayView[String],
values : ArrayView[Double],
) -> String {
let output = StringBuilder()
output.write_string("name,value\n")
let count = if names.length() < values.length() {
names.length()
} else {
values.length()
}
for i in 0..