11 #ifndef _MULTITASKKERNELPLIFNORMALIZER_H___
12 #define _MULTITASKKERNELPLIFNORMALIZER_H___
43 num_betas =
static_cast<int>(support_.size());
102 std::sort(vec.begin(), vec.end());
105 std::vector<int32_t>::iterator endLocation = std::unique(vec.begin(), vec.end());
147 int32_t upper_bound_idx = -1;
161 if (upper_bound_idx == -1)
168 int32_t lower_bound_idx = upper_bound_idx - 1;
171 float64_t factor_lower = 1 - (distance - support[lower_bound_idx]) / interval_size;
172 float64_t factor_upper = 1 - factor_lower;
174 similarity = factor_lower*
betas[lower_bound_idx] + factor_upper*
betas[upper_bound_idx];
224 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
225 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
240 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
241 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
255 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
256 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
271 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
272 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
315 return "MultitaskKernelPlifNormalizer";