import numpy as np






def     lowerCAmelCase_			(   _SCREAMING_SNAKE_CASE     :				np.array			):
						return (2 / (1 + np.exp(-2 * vector			))) - 1


if __name__ == "__main__":
	import doctest

	doctest.testmod()







from __future__ import annotations

SCREAMING_SNAKE_CASE		:     Tuple         =	1.6_021E-19  # units = C






def     lowerCAmelCase_			(   _SCREAMING_SNAKE_CASE     :				float		, _SCREAMING_SNAKE_CASE     :				float		, _SCREAMING_SNAKE_CASE     :				float		, ):
						if (conductivity, electron_conc, mobility).count(0			) != 1:
												raise ValueError("""You cannot supply more or less than 2 values"""			)
						elif conductivity < 0:
												raise ValueError("""Conductivity cannot be negative"""			)
						elif electron_conc < 0:
												raise ValueError("""Electron concentration cannot be negative"""			)
						elif mobility < 0:
												raise ValueError("""mobility cannot be negative"""			)
						elif conductivity == 0:
												return (
												    "conductivity",
												    mobility * electron_conc * ELECTRON_CHARGE,
												)
						elif electron_conc == 0:
												return (
												    "electron_conc",
												    conductivity / (mobility * ELECTRON_CHARGE),
												)
						else:
												return (
												    "mobility",
												    conductivity / (electron_conc * ELECTRON_CHARGE),
												)


if __name__ == "__main__":
	import doctest

	doctest.testmod()






