File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -458,7 +458,8 @@ std::size_t OpenClContext::createInputVariable(double v) {
458458 }
459459 inputVarOffset_.push_back (nextOffset);
460460 inputVarIsScalar_.push_back (true );
461- inputVarValue_.push_back ((float )v);
461+ inputVarValue_.push_back ((float )std::max (std::min (v, (double )std::numeric_limits<float >::max ()),
462+ -(double )std::numeric_limits<float >::max ()));
462463 inputVarPtr_.push_back (nullptr );
463464 inputVarPtrVal_.push_back ({});
464465 return nVars_++;
@@ -476,6 +477,9 @@ std::size_t OpenClContext::createInputVariable(double* v) {
476477 inputVarIsScalar_.push_back (false );
477478 inputVarValue_.push_back (0 .0f );
478479 inputVarPtrVal_.push_back (std::vector<float >(size_[currentId_-1 ]));
480+ for (std::size_t i = 0 ; i < size_[currentId_ - 1 ]; ++i)
481+ v[i] = (float )std::max (std::min (v[i], (double )std::numeric_limits<float >::max ()),
482+ -(double )std::numeric_limits<float >::max ());
479483 std::copy (v, v + size_[currentId_ - 1 ], inputVarPtrVal_.back ().begin ());
480484 inputVarPtr_.push_back (&inputVarPtrVal_.back ()[0 ]);
481485 return nVars_++;
You can’t perform that action at this time.
0 commit comments