Write a function to calculate the precision and recall of a model given a set of predictions and labels.
Implement calculate_precision_recall(predictions, labels), where both inputs are equal-length arrays containing binary values, 0 or 1. Return a dictionary with precision and recall as floating-point values. If a metric's denominator is zero, return 0.0 for that metric.
def calculate_precision_recall(predictions, labels):