def freq_wavelength( **kw ): """A kind of **Solver** for frequency-wavelength problems in Standard units of meters and Hertz. :param f: Frequency in Hz :param l: Wavelength in m :returns: dict with both values """ c= 299792.458 args= AttrDict( kw ) if 'f' in args: args.l= 1000*c/args.f elif 'l' in args: args.f = c/(args.l/1000) else: raise NoSolutionError( "Insufficient Data: {0!r}".format(args) ) return args