Skip to content
Snippets Groups Projects
Commit a5cc7d72 authored by Volker Neff's avatar Volker Neff
Browse files

add factory function with forced type

parent 7b00525f
No related branches found
No related tags found
1 merge request!6Draft: [WIP] New Field Architekture
......@@ -260,6 +260,7 @@ public:
static Field_t init(const CdoVar &var);
static Field_t init(const MemType memType);
static Field_t init(const CdoVar &var, const MemType memType);
static Field3D_t init3D(const CdoVar &var);
static Field3D_t init3D(const MemType memType);
......
......@@ -29,6 +29,16 @@ inline Field_t FieldFactory::init(const MemType memType) {
}
}
inline Field_t FieldFactory::init(const CdoVar& var, const MemType memType) {
if(memType == MemType::Float) {
return Field<float>{var.gridID, var.gridsize, var.missval, var.gridsize * var.nwpv};
} else if (memType == MemType::Double) {
return Field<double>{var.gridID, var.gridsize, var.missval, var.gridsize * var.nwpv};
} else {
throw std::runtime_error("Not supported type");
}
}
inline Field3D_t FieldFactory::init3D(const CdoVar& var) {
if(var.memType == MemType::Float) {
return Field3D<float>{var.gridID, var.gridsize, var.missval, var.gridsize * var.nwpv, var.nlevels};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment