"""Source: https://github.com/lululxvi/deepxde/blob/master/deepxde/real.py"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import numpy as np
from .backend import tf
[docs]class Real(object):
"""Set the float precision in numpy and Tensorflow."""
def __init__(self, precision):
self.set_precision(precision)
[docs] def set_precision(self, precision):
self.precision = precision
self.reals = {
32: {np: np.float32, tf: tf.float32},
64: {np: np.float64, tf: tf.float64},
}[precision]
def __call__(self, package):
return self.reals[package]
[docs] def set_float32(self):
print("Set float to float32")
self.set_precision(32)
[docs] def set_float64(self):
print("Set float to float64")
self.set_precision(64)